@pie-element/placement-ordering 14.1.2-next.2 → 14.1.2-next.20

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 (50) hide show
  1. package/author.js +2 -0
  2. package/dist/author/choice-editor.js +2 -2
  3. package/dist/author/choice-tile.js +3 -2
  4. package/dist/author/design.js +1 -1
  5. package/dist/author/index.d.ts +1 -0
  6. package/dist/author/index.js +5 -2
  7. package/dist/browser/assets/Symbola-4c507403.woff2 +0 -0
  8. package/dist/browser/author/index.js +14940 -19583
  9. package/dist/browser/author/index.js.map +1 -1
  10. package/dist/browser/{browser-Dbw2uHQ7.js → browser-DMpDEszG.js} +7 -3
  11. package/dist/browser/browser-DMpDEszG.js.map +1 -0
  12. package/dist/browser/controller/index.js +140 -55
  13. package/dist/browser/controller/index.js.map +1 -1
  14. package/dist/browser/delivery/index.js +474 -325
  15. package/dist/browser/delivery/index.js.map +1 -1
  16. package/dist/browser/{dist-D9ARZhQk.js → dist-DCmVXYeO.js} +109 -7
  17. package/dist/browser/dist-DCmVXYeO.js.map +1 -0
  18. package/dist/browser/{drag-provider-C4BiCI76.js → drag-provider-LgVkQ5Yi.js} +2219 -2266
  19. package/dist/browser/drag-provider-LgVkQ5Yi.js.map +1 -0
  20. package/dist/browser/editor-runtime/assets/Symbola-4c507403.woff2 +0 -0
  21. package/dist/browser/editor-runtime/author/index.js +19668 -0
  22. package/dist/browser/editor-runtime/author/index.js.map +1 -0
  23. package/dist/browser/editor-runtime/browser-0nthm_zo.js +376 -0
  24. package/dist/browser/editor-runtime/browser-0nthm_zo.js.map +1 -0
  25. package/dist/browser/editor-runtime/controller/index.js +327 -0
  26. package/dist/browser/editor-runtime/controller/index.js.map +1 -0
  27. package/dist/browser/editor-runtime/delivery/index.js +1184 -0
  28. package/dist/browser/editor-runtime/delivery/index.js.map +1 -0
  29. package/dist/browser/editor-runtime/dist-DCmVXYeO.js +1528 -0
  30. package/dist/browser/editor-runtime/dist-DCmVXYeO.js.map +1 -0
  31. package/dist/browser/editor-runtime/drag-provider-Dpx1BjBS.js +10508 -0
  32. package/dist/browser/editor-runtime/drag-provider-Dpx1BjBS.js.map +1 -0
  33. package/dist/controller/scoring.js +3 -3
  34. package/dist/delivery/index.js +2 -2
  35. package/dist/delivery/keyboard-coordinates.d.ts +47 -0
  36. package/dist/delivery/keyboard-coordinates.js +51 -0
  37. package/dist/delivery/main.js +1 -1
  38. package/dist/delivery/ordering.js +14 -19
  39. package/dist/delivery/placement-ordering.d.ts +13 -0
  40. package/dist/delivery/placement-ordering.js +168 -83
  41. package/dist/delivery/tile.d.ts +3 -0
  42. package/dist/delivery/tile.js +75 -61
  43. package/dist/delivery/tiler.d.ts +6 -0
  44. package/dist/delivery/tiler.js +6 -3
  45. package/dist/index.iife.js +35 -35
  46. package/package.json +36 -25
  47. package/dist/browser/browser-Dbw2uHQ7.js.map +0 -1
  48. package/dist/browser/dist-D9ARZhQk.js.map +0 -1
  49. package/dist/browser/drag-provider-C4BiCI76.js.map +0 -1
  50. package/dist/browser/placement-ordering.css +0 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["extendSxProp","SystemGlobalStyles","THEME_ID","extendSxProp","React","isHTMLElement","isHTMLElement","effect","max","min","round","isHTMLElement","round","getComputedStyle","isHTMLElement","getComputedStyle","mathMax","mathMin","effect","round","getComputedStyle","hash","max","getComputedStyle","getComputedStyle","isHTMLElement","getComputedStyle","isHTMLElement","max","min","allPlacements","placements","mathMin","mathMax","isHTMLElement","round","isHTMLElement","eventListeners","popperOffsets","computeStyles","applyStyles","offset","flip","preventOverflow","arrow","hide","useUtilityClasses","React","Popper","BasePopper","useUtilityClasses","capitalize","React","useControlled","useId","useEventCallback","useForkRef","useUtilityClasses","useControlled","React","useUtilityClasses","useUtilityClasses","React","useUtilityClasses","capitalize","useId","useUtilityClasses","capitalize","styles","isEmpty","React","debounce","capitalize","useUtilityClasses","React","useForkRef","ownerDocument","getActiveElement","_formatErrorMessage","useUtilityClasses","useUtilityClasses","capitalize","useControlled","useUtilityClasses","capitalize","defaultCheckedIcon","CheckBoxIcon","defaultIcon","CheckBoxOutlineBlankIcon","IndeterminateCheckBoxIcon","useUtilityClasses","capitalize","React","useUtilityClasses","useUtilityClasses","useUtilityClasses","useUtilityClasses","React","useUtilityClasses","capitalize","inputBaseRootOverridesResolver","inputBaseInputOverridesResolver","useUtilityClasses","capitalize","_span","useUtilityClasses","capitalize","useUtilityClasses","inputBaseRootOverridesResolver","inputBaseInputOverridesResolver","_span","overridesResolver","capitalize","useUtilityClasses","React","useUtilityClasses","capitalize","useUtilityClasses","React","overridesResolver","useUtilityClasses","ListItem","React","isMuiElement","useForkRef","useUtilityClasses","capitalize","React","areEqualValues","React","_span","capitalize","useUtilityClasses","useControlled","React","useForkRef","ownerDocument","_formatErrorMessage","areEqualValues","NotchedOutlineRoot","useUtilityClasses","inputBaseRootOverridesResolver","inputBaseInputOverridesResolver","React","useUtilityClasses","ArrowDropDownIcon","useForkRef","React","useUtilityClasses","React","useForkRef","RadioButtonUncheckedIcon","RadioButtonCheckedIcon","React","useUtilityClasses","capitalize","createChainedFunction","useUtilityClasses","capitalize","useUtilityClasses","capitalize","React","React","debounce","ownerWindow","useUtilityClasses","KeyboardArrowLeft","KeyboardArrowRight","useUtilityClasses","React","useEventCallback","debounce","ownerWindow","getActiveElement","ownerDocument","React","React","e","t","undefined","P","L","R","Node","Fragment","Symbol","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/@mui+utils@7.3.11+d84c32d47042070f/node_modules/@mui/utils/esm/useControlled/useControlled.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/utils/useControlled.js","../../../../../../shared/configure-events/dist/index.js","../../../../../../../node_modules/.bun/nested-property@4.0.0/node_modules/nested-property/dist/nested-property.js","../../../../../../../node_modules/.bun/pluralize@8.0.0/node_modules/pluralize/pluralize.js","../../../../../../../node_modules/.bun/@mui+icons-material@7.3.11+44ccb211c00abd9d/node_modules/@mui/icons-material/esm/Info.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/enums.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/math.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/userAgent.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/contains.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/within.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/modifiers/arrow.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/getVariation.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/computeOffsets.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/detectOverflow.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/modifiers/flip.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/modifiers/hide.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/modifiers/offset.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/getAltAxis.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/orderModifiers.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/debounce.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/mergeByName.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/createPopper.js","../../../../../../../node_modules/.bun/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/popper.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/Popper/popperClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/Popper/BasePopper.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/Popper/Popper.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/Tooltip/tooltipClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/Tooltip/Tooltip.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/Accordion/AccordionContext.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/Accordion/accordionClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/Accordion/Accordion.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/AccordionDetails/accordionDetailsClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/AccordionDetails/AccordionDetails.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/AccordionSummary/accordionSummaryClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/AccordionSummary/AccordionSummary.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/IconButton/iconButtonClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/IconButton/IconButton.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/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/OutlinedInput/outlinedInputClasses.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/internal/svg-icons/ArrowDropDown.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/CardActions/cardActionsClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/CardActions/CardActions.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/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","../../../../../../../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/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+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","../../../../../../../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/Divider/dividerClasses.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/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/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/Input/Input.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/LinearProgress/linearProgressClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/LinearProgress/LinearProgress.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","../../../../../../../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/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/OutlinedInput/NotchedOutline.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","../../../../../../../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","../../../../../../../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/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/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/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/TextField/textFieldClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/TextField/TextField.js","../../../../../../lib-react/config-ui/dist/alert-dialog.js","../../../../../../lib-react/config-ui/dist/radio-with-label.js","../../../../../../lib-react/config-ui/dist/feedback-config/group.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/math-input/dist/_virtual/_rolldown/runtime.js","../../../../../../lib-react/math-input/dist/keys/comparison.js","../../../../../../lib-react/math-input/dist/keys/utils.js","../../../../../../lib-react/math-input/dist/keys/vars.js","../../../../../../lib-react/math-input/dist/keys/fractions.js","../../../../../../lib-react/math-input/dist/keys/exponent.js","../../../../../../lib-react/math-input/dist/keys/misc.js","../../../../../../lib-react/math-input/dist/keys/constants.js","../../../../../../lib-react/math-input/dist/keys/trigonometry.js","../../../../../../lib-react/math-input/dist/keys/geometry.js","../../../../../../lib-react/math-input/dist/keys/operators.js","../../../../../../lib-react/math-input/dist/keys/log.js","../../../../../../lib-react/math-input/dist/keys/sub-sup.js","../../../../../../lib-react/math-input/dist/keys/statistics.js","../../../../../../lib-react/math-input/dist/keys/basic-operators.js","../../../../../../lib-react/math-input/dist/keys/matrices.js","../../../../../../lib-react/math-input/dist/keys/digits.js","../../../../../../lib-react/math-input/dist/keys/logic.js","../../../../../../lib-react/math-input/dist/keys/navigation.js","../../../../../../lib-react/math-input/dist/keys/edit.js","../../../../../../lib-react/math-input/dist/keys/grades.js","../../../../../../lib-react/math-input/dist/updateSpans.js","../../../../../../lib-react/math-input/dist/keys/index.js","../../../../../../lib-react/math-input/dist/mq/custom-elements.js","../../../../../../../node_modules/.bun/@pie-framework+mathquill@1.2.1-beta.1/node_modules/@pie-framework/mathquill/build/mathquill.esm.js","../../../../../../lib-react/math-input/dist/mq/mathquill-instance.js","../../../../../../lib-react/math-input/dist/mq/input.js","../../../../../../lib-react/math-input/dist/mq/static.js","../../../../../../lib-react/math-input/dist/mq/common-mq-styles.js","../../../../../../lib-react/math-input/dist/mq/index.js","../../../../../../lib-react/math-input/dist/keypad/keys-layout.js","../../../../../../lib-react/math-input/dist/keypad/index.js","../../../../../../lib-react/math-input/dist/horizontal-keypad.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","../../../../../../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+icons-material@7.3.11+44ccb211c00abd9d/node_modules/@mui/icons-material/esm/ArrowBackIos.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","../../../../../../lib-react/editable-html-tip-tap/dist/extensions/image-component.js","../../../../../../lib-react/editable-html-tip-tap/dist/extensions/image.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","../../../../../../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","../../../../../../lib-react/config-ui/dist/feedback-config/feedback-selector.js","../../../../../../../node_modules/.bun/@mui+icons-material@7.3.11+44ccb211c00abd9d/node_modules/@mui/icons-material/esm/ExpandMore.js","../../../../../../lib-react/config-ui/dist/feedback-config/index.js","../../../../../../lib-react/config-ui/dist/tabs/index.js","../../../../../../lib-react/config-ui/dist/checkbox.js","../../../../../../lib-react/config-ui/dist/form-section.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","../../../../../../../node_modules/.bun/@mui+icons-material@7.3.11+44ccb211c00abd9d/node_modules/@mui/icons-material/esm/DragHandle.js","../../../../../../../node_modules/.bun/@mui+icons-material@7.3.11+44ccb211c00abd9d/node_modules/@mui/icons-material/esm/RemoveCircle.js","../../../../src/author/choice-tile.tsx","../../../../src/author/choice-editor.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;","'use client';\n\n// TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler -- process.env never changes, dependency arrays are intentionally ignored\n/* eslint-disable react-hooks/rules-of-hooks, react-hooks/exhaustive-deps */\nimport * as React from 'react';\nexport default function useControlled(props) {\n const {\n controlled,\n default: defaultProp,\n name,\n state = 'value'\n } = props;\n // isControlled is ignored in the hook dependency lists as it should never change.\n const {\n current: isControlled\n } = React.useRef(controlled !== undefined);\n const [valueState, setValue] = React.useState(defaultProp);\n const value = isControlled ? controlled : valueState;\n if (process.env.NODE_ENV !== 'production') {\n React.useEffect(() => {\n if (isControlled !== (controlled !== undefined)) {\n console.error([`MUI: A component is changing the ${isControlled ? '' : 'un'}controlled ${state} state of ${name} to be ${isControlled ? 'un' : ''}controlled.`, 'Elements should not switch from uncontrolled to controlled (or vice versa).', `Decide between using a controlled or uncontrolled ${name} ` + 'element for the lifetime of the component.', \"The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.\", 'More info: https://fb.me/react-controlled-components'].join('\\n'));\n }\n }, [state, name, controlled]);\n const {\n current: defaultValue\n } = React.useRef(defaultProp);\n React.useEffect(() => {\n if (!isControlled && JSON.stringify(defaultProp) !== JSON.stringify(defaultValue)) {\n console.error([`MUI: A component is changing the default ${state} state of an uncontrolled ${name} after being initialized. ` + `To suppress this warning opt to use a controlled ${name}.`].join('\\n'));\n }\n }, [JSON.stringify(defaultProp)]);\n }\n const setValueIfUncontrolled = React.useCallback(newValue => {\n if (!isControlled) {\n setValue(newValue);\n }\n }, []);\n\n // TODO: provide overloads for the useControlled function to account for the case where either\n // controlled or default is not undefined.\n // In that case the return type should be [T, React.Dispatch<React.SetStateAction<T>>]\n // otherwise it should be [T | undefined, React.Dispatch<React.SetStateAction<T | undefined>>]\n return [value, setValueIfUncontrolled];\n}","'use client';\n\nimport useControlled from '@mui/utils/useControlled';\nexport default useControlled;","//#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","/**\n* @license nested-property https://github.com/cosmosio/nested-property\n*\n* The MIT License (MIT)\n*\n* Copyright (c) 2014-2020 Olivier Scherrer <pode.fr@gmail.com>\n*/\n\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar ARRAY_WILDCARD = \"+\";\nvar PATH_DELIMITER = \".\";\n\nvar ObjectPrototypeMutationError = /*#__PURE__*/function (_Error) {\n _inherits(ObjectPrototypeMutationError, _Error);\n\n function ObjectPrototypeMutationError(params) {\n var _this;\n\n _classCallCheck(this, ObjectPrototypeMutationError);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(ObjectPrototypeMutationError).call(this, params));\n _this.name = \"ObjectPrototypeMutationError\";\n return _this;\n }\n\n return ObjectPrototypeMutationError;\n}(_wrapNativeSuper(Error));\n\nmodule.exports = {\n set: setNestedProperty,\n get: getNestedProperty,\n has: hasNestedProperty,\n hasOwn: function hasOwn(object, property, options) {\n return this.has(object, property, options || {\n own: true\n });\n },\n isIn: isInNestedProperty,\n ObjectPrototypeMutationError: ObjectPrototypeMutationError\n};\n/**\n * Get the property of an object nested in one or more objects or array\n * Given an object such as a.b.c.d = 5, getNestedProperty(a, \"b.c.d\") will return 5.\n * It also works through arrays. Given a nested array such as a[0].b = 5, getNestedProperty(a, \"0.b\") will return 5.\n * For accessing nested properties through all items in an array, you may use the array wildcard \"+\".\n * For instance, getNestedProperty([{a:1}, {a:2}, {a:3}], \"+.a\") will return [1, 2, 3]\n * @param {Object} object the object to get the property from\n * @param {String} property the path to the property as a string\n * @returns the object or the the property value if found\n */\n\nfunction getNestedProperty(object, property) {\n if (_typeof(object) != \"object\" || object === null) {\n return object;\n }\n\n if (typeof property == \"undefined\") {\n return object;\n }\n\n if (typeof property == \"number\") {\n return object[property];\n }\n\n try {\n return traverse(object, property, function _getNestedProperty(currentObject, currentProperty) {\n return currentObject[currentProperty];\n });\n } catch (err) {\n return object;\n }\n}\n/**\n * Tell if a nested object has a given property (or array a given index)\n * given an object such as a.b.c.d = 5, hasNestedProperty(a, \"b.c.d\") will return true.\n * It also returns true if the property is in the prototype chain.\n * @param {Object} object the object to get the property from\n * @param {String} property the path to the property as a string\n * @param {Object} options:\n * - own: set to reject properties from the prototype\n * @returns true if has (property in object), false otherwise\n */\n\n\nfunction hasNestedProperty(object, property) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (_typeof(object) != \"object\" || object === null) {\n return false;\n }\n\n if (typeof property == \"undefined\") {\n return false;\n }\n\n if (typeof property == \"number\") {\n return property in object;\n }\n\n try {\n var has = false;\n traverse(object, property, function _hasNestedProperty(currentObject, currentProperty, segments, index) {\n if (isLastSegment(segments, index)) {\n if (options.own) {\n has = currentObject.hasOwnProperty(currentProperty);\n } else {\n has = currentProperty in currentObject;\n }\n } else {\n return currentObject && currentObject[currentProperty];\n }\n });\n return has;\n } catch (err) {\n return false;\n }\n}\n/**\n * Set the property of an object nested in one or more objects\n * If the property doesn't exist, it gets created.\n * @param {Object} object\n * @param {String} property\n * @param value the value to set\n * @returns object if no assignment was made or the value if the assignment was made\n */\n\n\nfunction setNestedProperty(object, property, value) {\n if (_typeof(object) != \"object\" || object === null) {\n return object;\n }\n\n if (typeof property == \"undefined\") {\n return object;\n }\n\n if (typeof property == \"number\") {\n object[property] = value;\n return object[property];\n }\n\n try {\n return traverse(object, property, function _setNestedProperty(currentObject, currentProperty, segments, index) {\n if (currentObject === Reflect.getPrototypeOf({})) {\n throw new ObjectPrototypeMutationError(\"Attempting to mutate Object.prototype\");\n }\n\n if (!currentObject[currentProperty]) {\n var nextPropIsNumber = Number.isInteger(Number(segments[index + 1]));\n var nextPropIsArrayWildcard = segments[index + 1] === ARRAY_WILDCARD;\n\n if (nextPropIsNumber || nextPropIsArrayWildcard) {\n currentObject[currentProperty] = [];\n } else {\n currentObject[currentProperty] = {};\n }\n }\n\n if (isLastSegment(segments, index)) {\n currentObject[currentProperty] = value;\n }\n\n return currentObject[currentProperty];\n });\n } catch (err) {\n if (err instanceof ObjectPrototypeMutationError) {\n // rethrow\n throw err;\n } else {\n return object;\n }\n }\n}\n/**\n * Tell if an object is on the path to a nested property\n * If the object is on the path, and the path exists, it returns true, and false otherwise.\n * @param {Object} object to get the nested property from\n * @param {String} property name of the nested property\n * @param {Object} objectInPath the object to check\n * @param {Object} options:\n * - validPath: return false if the path is invalid, even if the object is in the path\n * @returns {boolean} true if the object is on the path\n */\n\n\nfunction isInNestedProperty(object, property, objectInPath) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n if (_typeof(object) != \"object\" || object === null) {\n return false;\n }\n\n if (typeof property == \"undefined\") {\n return false;\n }\n\n try {\n var isIn = false,\n pathExists = false;\n traverse(object, property, function _isInNestedProperty(currentObject, currentProperty, segments, index) {\n isIn = isIn || currentObject === objectInPath || !!currentObject && currentObject[currentProperty] === objectInPath;\n pathExists = isLastSegment(segments, index) && _typeof(currentObject) === \"object\" && currentProperty in currentObject;\n return currentObject && currentObject[currentProperty];\n });\n\n if (options.validPath) {\n return isIn && pathExists;\n } else {\n return isIn;\n }\n } catch (err) {\n return false;\n }\n}\n\nfunction traverse(object, path) {\n var callback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};\n var segments = path.split(PATH_DELIMITER);\n var length = segments.length;\n\n var _loop = function _loop(idx) {\n var currentSegment = segments[idx];\n\n if (!object) {\n return {\n v: void 0\n };\n }\n\n if (currentSegment === ARRAY_WILDCARD) {\n if (Array.isArray(object)) {\n return {\n v: object.map(function (value, index) {\n var remainingSegments = segments.slice(idx + 1);\n\n if (remainingSegments.length > 0) {\n return traverse(value, remainingSegments.join(PATH_DELIMITER), callback);\n } else {\n return callback(object, index, segments, idx);\n }\n })\n };\n } else {\n var pathToHere = segments.slice(0, idx).join(PATH_DELIMITER);\n throw new Error(\"Object at wildcard (\".concat(pathToHere, \") is not an array\"));\n }\n } else {\n object = callback(object, currentSegment, segments, idx);\n }\n };\n\n for (var idx = 0; idx < length; idx++) {\n var _ret = _loop(idx);\n\n if (_typeof(_ret) === \"object\") return _ret.v;\n }\n\n return object;\n}\n\nfunction isLastSegment(segments, index) {\n return segments.length === index + 1;\n}\n","/* global define */\n\n(function (root, pluralize) {\n /* istanbul ignore else */\n if (typeof require === 'function' && typeof exports === 'object' && typeof module === 'object') {\n // Node.\n module.exports = pluralize();\n } else if (typeof define === 'function' && define.amd) {\n // AMD, registers as an anonymous module.\n define(function () {\n return pluralize();\n });\n } else {\n // Browser global.\n root.pluralize = pluralize();\n }\n})(this, function () {\n // Rule storage - pluralize and singularize need to be run sequentially,\n // while other rules can be optimized using an object for instant lookups.\n var pluralRules = [];\n var singularRules = [];\n var uncountables = {};\n var irregularPlurals = {};\n var irregularSingles = {};\n\n /**\n * Sanitize a pluralization rule to a usable regular expression.\n *\n * @param {(RegExp|string)} rule\n * @return {RegExp}\n */\n function sanitizeRule (rule) {\n if (typeof rule === 'string') {\n return new RegExp('^' + rule + '$', 'i');\n }\n\n return rule;\n }\n\n /**\n * Pass in a word token to produce a function that can replicate the case on\n * another word.\n *\n * @param {string} word\n * @param {string} token\n * @return {Function}\n */\n function restoreCase (word, token) {\n // Tokens are an exact match.\n if (word === token) return token;\n\n // Lower cased words. E.g. \"hello\".\n if (word === word.toLowerCase()) return token.toLowerCase();\n\n // Upper cased words. E.g. \"WHISKY\".\n if (word === word.toUpperCase()) return token.toUpperCase();\n\n // Title cased words. E.g. \"Title\".\n if (word[0] === word[0].toUpperCase()) {\n return token.charAt(0).toUpperCase() + token.substr(1).toLowerCase();\n }\n\n // Lower cased words. E.g. \"test\".\n return token.toLowerCase();\n }\n\n /**\n * Interpolate a regexp string.\n *\n * @param {string} str\n * @param {Array} args\n * @return {string}\n */\n function interpolate (str, args) {\n return str.replace(/\\$(\\d{1,2})/g, function (match, index) {\n return args[index] || '';\n });\n }\n\n /**\n * Replace a word using a rule.\n *\n * @param {string} word\n * @param {Array} rule\n * @return {string}\n */\n function replace (word, rule) {\n return word.replace(rule[0], function (match, index) {\n var result = interpolate(rule[1], arguments);\n\n if (match === '') {\n return restoreCase(word[index - 1], result);\n }\n\n return restoreCase(match, result);\n });\n }\n\n /**\n * Sanitize a word by passing in the word and sanitization rules.\n *\n * @param {string} token\n * @param {string} word\n * @param {Array} rules\n * @return {string}\n */\n function sanitizeWord (token, word, rules) {\n // Empty string or doesn't need fixing.\n if (!token.length || uncountables.hasOwnProperty(token)) {\n return word;\n }\n\n var len = rules.length;\n\n // Iterate over the sanitization rules and use the first one to match.\n while (len--) {\n var rule = rules[len];\n\n if (rule[0].test(word)) return replace(word, rule);\n }\n\n return word;\n }\n\n /**\n * Replace a word with the updated word.\n *\n * @param {Object} replaceMap\n * @param {Object} keepMap\n * @param {Array} rules\n * @return {Function}\n */\n function replaceWord (replaceMap, keepMap, rules) {\n return function (word) {\n // Get the correct token and case restoration functions.\n var token = word.toLowerCase();\n\n // Check against the keep object map.\n if (keepMap.hasOwnProperty(token)) {\n return restoreCase(word, token);\n }\n\n // Check against the replacement map for a direct word replacement.\n if (replaceMap.hasOwnProperty(token)) {\n return restoreCase(word, replaceMap[token]);\n }\n\n // Run all the rules against the word.\n return sanitizeWord(token, word, rules);\n };\n }\n\n /**\n * Check if a word is part of the map.\n */\n function checkWord (replaceMap, keepMap, rules, bool) {\n return function (word) {\n var token = word.toLowerCase();\n\n if (keepMap.hasOwnProperty(token)) return true;\n if (replaceMap.hasOwnProperty(token)) return false;\n\n return sanitizeWord(token, token, rules) === token;\n };\n }\n\n /**\n * Pluralize or singularize a word based on the passed in count.\n *\n * @param {string} word The word to pluralize\n * @param {number} count How many of the word exist\n * @param {boolean} inclusive Whether to prefix with the number (e.g. 3 ducks)\n * @return {string}\n */\n function pluralize (word, count, inclusive) {\n var pluralized = count === 1\n ? pluralize.singular(word) : pluralize.plural(word);\n\n return (inclusive ? count + ' ' : '') + pluralized;\n }\n\n /**\n * Pluralize a word.\n *\n * @type {Function}\n */\n pluralize.plural = replaceWord(\n irregularSingles, irregularPlurals, pluralRules\n );\n\n /**\n * Check if a word is plural.\n *\n * @type {Function}\n */\n pluralize.isPlural = checkWord(\n irregularSingles, irregularPlurals, pluralRules\n );\n\n /**\n * Singularize a word.\n *\n * @type {Function}\n */\n pluralize.singular = replaceWord(\n irregularPlurals, irregularSingles, singularRules\n );\n\n /**\n * Check if a word is singular.\n *\n * @type {Function}\n */\n pluralize.isSingular = checkWord(\n irregularPlurals, irregularSingles, singularRules\n );\n\n /**\n * Add a pluralization rule to the collection.\n *\n * @param {(string|RegExp)} rule\n * @param {string} replacement\n */\n pluralize.addPluralRule = function (rule, replacement) {\n pluralRules.push([sanitizeRule(rule), replacement]);\n };\n\n /**\n * Add a singularization rule to the collection.\n *\n * @param {(string|RegExp)} rule\n * @param {string} replacement\n */\n pluralize.addSingularRule = function (rule, replacement) {\n singularRules.push([sanitizeRule(rule), replacement]);\n };\n\n /**\n * Add an uncountable word rule.\n *\n * @param {(string|RegExp)} word\n */\n pluralize.addUncountableRule = function (word) {\n if (typeof word === 'string') {\n uncountables[word.toLowerCase()] = true;\n return;\n }\n\n // Set singular and plural references for the word.\n pluralize.addPluralRule(word, '$0');\n pluralize.addSingularRule(word, '$0');\n };\n\n /**\n * Add an irregular word definition.\n *\n * @param {string} single\n * @param {string} plural\n */\n pluralize.addIrregularRule = function (single, plural) {\n plural = plural.toLowerCase();\n single = single.toLowerCase();\n\n irregularSingles[single] = plural;\n irregularPlurals[plural] = single;\n };\n\n /**\n * Irregular rules.\n */\n [\n // Pronouns.\n ['I', 'we'],\n ['me', 'us'],\n ['he', 'they'],\n ['she', 'they'],\n ['them', 'them'],\n ['myself', 'ourselves'],\n ['yourself', 'yourselves'],\n ['itself', 'themselves'],\n ['herself', 'themselves'],\n ['himself', 'themselves'],\n ['themself', 'themselves'],\n ['is', 'are'],\n ['was', 'were'],\n ['has', 'have'],\n ['this', 'these'],\n ['that', 'those'],\n // Words ending in with a consonant and `o`.\n ['echo', 'echoes'],\n ['dingo', 'dingoes'],\n ['volcano', 'volcanoes'],\n ['tornado', 'tornadoes'],\n ['torpedo', 'torpedoes'],\n // Ends with `us`.\n ['genus', 'genera'],\n ['viscus', 'viscera'],\n // Ends with `ma`.\n ['stigma', 'stigmata'],\n ['stoma', 'stomata'],\n ['dogma', 'dogmata'],\n ['lemma', 'lemmata'],\n ['schema', 'schemata'],\n ['anathema', 'anathemata'],\n // Other irregular rules.\n ['ox', 'oxen'],\n ['axe', 'axes'],\n ['die', 'dice'],\n ['yes', 'yeses'],\n ['foot', 'feet'],\n ['eave', 'eaves'],\n ['goose', 'geese'],\n ['tooth', 'teeth'],\n ['quiz', 'quizzes'],\n ['human', 'humans'],\n ['proof', 'proofs'],\n ['carve', 'carves'],\n ['valve', 'valves'],\n ['looey', 'looies'],\n ['thief', 'thieves'],\n ['groove', 'grooves'],\n ['pickaxe', 'pickaxes'],\n ['passerby', 'passersby']\n ].forEach(function (rule) {\n return pluralize.addIrregularRule(rule[0], rule[1]);\n });\n\n /**\n * Pluralization rules.\n */\n [\n [/s?$/i, 's'],\n [/[^\\u0000-\\u007F]$/i, '$0'],\n [/([^aeiou]ese)$/i, '$1'],\n [/(ax|test)is$/i, '$1es'],\n [/(alias|[^aou]us|t[lm]as|gas|ris)$/i, '$1es'],\n [/(e[mn]u)s?$/i, '$1s'],\n [/([^l]ias|[aeiou]las|[ejzr]as|[iu]am)$/i, '$1'],\n [/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i, '$1i'],\n [/(alumn|alg|vertebr)(?:a|ae)$/i, '$1ae'],\n [/(seraph|cherub)(?:im)?$/i, '$1im'],\n [/(her|at|gr)o$/i, '$1oes'],\n [/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|automat|quor)(?:a|um)$/i, '$1a'],\n [/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)(?:a|on)$/i, '$1a'],\n [/sis$/i, 'ses'],\n [/(?:(kni|wi|li)fe|(ar|l|ea|eo|oa|hoo)f)$/i, '$1$2ves'],\n [/([^aeiouy]|qu)y$/i, '$1ies'],\n [/([^ch][ieo][ln])ey$/i, '$1ies'],\n [/(x|ch|ss|sh|zz)$/i, '$1es'],\n [/(matr|cod|mur|sil|vert|ind|append)(?:ix|ex)$/i, '$1ices'],\n [/\\b((?:tit)?m|l)(?:ice|ouse)$/i, '$1ice'],\n [/(pe)(?:rson|ople)$/i, '$1ople'],\n [/(child)(?:ren)?$/i, '$1ren'],\n [/eaux$/i, '$0'],\n [/m[ae]n$/i, 'men'],\n ['thou', 'you']\n ].forEach(function (rule) {\n return pluralize.addPluralRule(rule[0], rule[1]);\n });\n\n /**\n * Singularization rules.\n */\n [\n [/s$/i, ''],\n [/(ss)$/i, '$1'],\n [/(wi|kni|(?:after|half|high|low|mid|non|night|[^\\w]|^)li)ves$/i, '$1fe'],\n [/(ar|(?:wo|[ae])l|[eo][ao])ves$/i, '$1f'],\n [/ies$/i, 'y'],\n [/\\b([pl]|zomb|(?:neck|cross)?t|coll|faer|food|gen|goon|group|lass|talk|goal|cut)ies$/i, '$1ie'],\n [/\\b(mon|smil)ies$/i, '$1ey'],\n [/\\b((?:tit)?m|l)ice$/i, '$1ouse'],\n [/(seraph|cherub)im$/i, '$1'],\n [/(x|ch|ss|sh|zz|tto|go|cho|alias|[^aou]us|t[lm]as|gas|(?:her|at|gr)o|[aeiou]ris)(?:es)?$/i, '$1'],\n [/(analy|diagno|parenthe|progno|synop|the|empha|cri|ne)(?:sis|ses)$/i, '$1sis'],\n [/(movie|twelve|abuse|e[mn]u)s$/i, '$1'],\n [/(test)(?:is|es)$/i, '$1is'],\n [/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i, '$1us'],\n [/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|quor)a$/i, '$1um'],\n [/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)a$/i, '$1on'],\n [/(alumn|alg|vertebr)ae$/i, '$1a'],\n [/(cod|mur|sil|vert|ind)ices$/i, '$1ex'],\n [/(matr|append)ices$/i, '$1ix'],\n [/(pe)(rson|ople)$/i, '$1rson'],\n [/(child)ren$/i, '$1'],\n [/(eau)x?$/i, '$1'],\n [/men$/i, 'man']\n ].forEach(function (rule) {\n return pluralize.addSingularRule(rule[0], rule[1]);\n });\n\n /**\n * Uncountable rules.\n */\n [\n // Singular words with no plurals.\n 'adulthood',\n 'advice',\n 'agenda',\n 'aid',\n 'aircraft',\n 'alcohol',\n 'ammo',\n 'analytics',\n 'anime',\n 'athletics',\n 'audio',\n 'bison',\n 'blood',\n 'bream',\n 'buffalo',\n 'butter',\n 'carp',\n 'cash',\n 'chassis',\n 'chess',\n 'clothing',\n 'cod',\n 'commerce',\n 'cooperation',\n 'corps',\n 'debris',\n 'diabetes',\n 'digestion',\n 'elk',\n 'energy',\n 'equipment',\n 'excretion',\n 'expertise',\n 'firmware',\n 'flounder',\n 'fun',\n 'gallows',\n 'garbage',\n 'graffiti',\n 'hardware',\n 'headquarters',\n 'health',\n 'herpes',\n 'highjinks',\n 'homework',\n 'housework',\n 'information',\n 'jeans',\n 'justice',\n 'kudos',\n 'labour',\n 'literature',\n 'machinery',\n 'mackerel',\n 'mail',\n 'media',\n 'mews',\n 'moose',\n 'music',\n 'mud',\n 'manga',\n 'news',\n 'only',\n 'personnel',\n 'pike',\n 'plankton',\n 'pliers',\n 'police',\n 'pollution',\n 'premises',\n 'rain',\n 'research',\n 'rice',\n 'salmon',\n 'scissors',\n 'series',\n 'sewage',\n 'shambles',\n 'shrimp',\n 'software',\n 'species',\n 'staff',\n 'swine',\n 'tennis',\n 'traffic',\n 'transportation',\n 'trout',\n 'tuna',\n 'wealth',\n 'welfare',\n 'whiting',\n 'wildebeest',\n 'wildlife',\n 'you',\n /pok[eé]mon$/i,\n // Regexes.\n /[^aeiou]ese$/i, // \"chinese\", \"japanese\"\n /deer$/i, // \"deer\", \"reindeer\"\n /fish$/i, // \"fish\", \"blowfish\", \"angelfish\"\n /measles$/i,\n /o[iu]s$/i, // \"carnivorous\"\n /pox$/i, // \"chickpox\", \"smallpox\"\n /sheep$/i\n ].forEach(pluralize.addUncountableRule);\n\n return pluralize;\n});\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');","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If <html> has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on <html>\n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n });\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref) {\n var name = _ref.name,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n effect = _ref.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getPopperUtilityClass(slot) {\n return generateUtilityClass('MuiPopper', slot);\n}\nconst popperClasses = generateUtilityClasses('MuiPopper', ['root']);\nexport default popperClasses;","'use client';\n\nimport * as React from 'react';\nimport ownerDocument from '@mui/utils/ownerDocument';\nimport useEnhancedEffect from '@mui/utils/useEnhancedEffect';\nimport useForkRef from '@mui/utils/useForkRef';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport HTMLElementType from '@mui/utils/HTMLElementType';\nimport refType from '@mui/utils/refType';\nimport { createPopper } from '@popperjs/core';\nimport PropTypes from 'prop-types';\nimport composeClasses from '@mui/utils/composeClasses';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport isLayoutSupported from \"../utils/isLayoutSupported.js\";\nimport Portal from \"../Portal/index.js\";\nimport { getPopperUtilityClass } from \"./popperClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction flipPlacement(placement, direction) {\n if (direction === 'ltr') {\n return placement;\n }\n switch (placement) {\n case 'bottom-end':\n return 'bottom-start';\n case 'bottom-start':\n return 'bottom-end';\n case 'top-end':\n return 'top-start';\n case 'top-start':\n return 'top-end';\n default:\n return placement;\n }\n}\nfunction resolveAnchorEl(anchorEl) {\n return typeof anchorEl === 'function' ? anchorEl() : anchorEl;\n}\nfunction isHTMLElement(element) {\n return element.nodeType !== undefined;\n}\nfunction isVirtualElement(element) {\n return !isHTMLElement(element);\n}\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getPopperUtilityClass, classes);\n};\nconst defaultPopperOptions = {};\nconst PopperTooltip = /*#__PURE__*/React.forwardRef(function PopperTooltip(props, forwardedRef) {\n const {\n anchorEl,\n children,\n direction,\n disablePortal,\n modifiers,\n open,\n placement: initialPlacement,\n popperOptions,\n popperRef: popperRefProp,\n slotProps = {},\n slots = {},\n TransitionProps,\n // @ts-ignore internal logic\n ownerState: ownerStateProp,\n // prevent from spreading to DOM, it can come from the parent component e.g. Select.\n ...other\n } = props;\n const tooltipRef = React.useRef(null);\n const ownRef = useForkRef(tooltipRef, forwardedRef);\n const popperRef = React.useRef(null);\n const handlePopperRef = useForkRef(popperRef, popperRefProp);\n const handlePopperRefRef = React.useRef(handlePopperRef);\n useEnhancedEffect(() => {\n handlePopperRefRef.current = handlePopperRef;\n }, [handlePopperRef]);\n React.useImperativeHandle(popperRefProp, () => popperRef.current, []);\n const rtlPlacement = flipPlacement(initialPlacement, direction);\n /**\n * placement initialized from prop but can change during lifetime if modifiers.flip.\n * modifiers.flip is essentially a flip for controlled/uncontrolled behavior\n */\n const [placement, setPlacement] = React.useState(rtlPlacement);\n const [resolvedAnchorElement, setResolvedAnchorElement] = React.useState(resolveAnchorEl(anchorEl));\n React.useEffect(() => {\n if (popperRef.current) {\n popperRef.current.forceUpdate();\n }\n });\n React.useEffect(() => {\n if (anchorEl) {\n setResolvedAnchorElement(resolveAnchorEl(anchorEl));\n }\n }, [anchorEl]);\n useEnhancedEffect(() => {\n if (!resolvedAnchorElement || !open) {\n return undefined;\n }\n const handlePopperUpdate = data => {\n setPlacement(data.placement);\n };\n if (process.env.NODE_ENV !== 'production') {\n if (resolvedAnchorElement && isHTMLElement(resolvedAnchorElement) && resolvedAnchorElement.nodeType === 1) {\n const box = resolvedAnchorElement.getBoundingClientRect();\n if (isLayoutSupported() && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {\n console.warn(['MUI: The `anchorEl` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', \"Make sure the element is present in the document or that it's not display none.\"].join('\\n'));\n }\n }\n }\n let popperModifiers = [{\n name: 'preventOverflow',\n options: {\n altBoundary: disablePortal\n }\n }, {\n name: 'flip',\n options: {\n altBoundary: disablePortal\n }\n }, {\n name: 'onUpdate',\n enabled: true,\n phase: 'afterWrite',\n fn: ({\n state\n }) => {\n handlePopperUpdate(state);\n }\n }];\n if (modifiers != null) {\n popperModifiers = popperModifiers.concat(modifiers);\n }\n if (popperOptions && popperOptions.modifiers != null) {\n popperModifiers = popperModifiers.concat(popperOptions.modifiers);\n }\n const popper = createPopper(resolvedAnchorElement, tooltipRef.current, {\n placement: rtlPlacement,\n ...popperOptions,\n modifiers: popperModifiers\n });\n handlePopperRefRef.current(popper);\n const popperElement = tooltipRef.current;\n return () => {\n // popper.destroy() clears all inline positioning via the applyStyles\n // modifier cleanup, which causes the element to jump to its static\n // position. Snapshot and restore only the positioning properties so the\n // element stays in place during the destroy/recreate gap (prevents scroll\n // jumps when a child focuses between the two).\n // https://github.com/mui/mui-x/issues/21839\n if (popperElement) {\n const {\n style\n } = popperElement;\n const position = style.position;\n const top = style.top;\n const left = style.left;\n const transform = style.transform;\n popper.destroy();\n style.position = position;\n style.top = top;\n style.left = left;\n style.transform = transform;\n } else {\n popper.destroy();\n }\n handlePopperRefRef.current(null);\n };\n }, [resolvedAnchorElement, disablePortal, modifiers, open, popperOptions, rtlPlacement]);\n const childProps = {\n placement: placement\n };\n if (TransitionProps !== null) {\n childProps.TransitionProps = TransitionProps;\n }\n const classes = useUtilityClasses(props);\n const Root = slots.root ?? 'div';\n const rootProps = useSlotProps({\n elementType: Root,\n externalSlotProps: slotProps.root,\n externalForwardedProps: other,\n additionalProps: {\n role: 'tooltip',\n ref: ownRef\n },\n ownerState: props,\n className: classes.root\n });\n return /*#__PURE__*/_jsx(Root, {\n ...rootProps,\n children: typeof children === 'function' ? children(childProps) : children\n });\n});\n\n/**\n * @ignore - internal component.\n */\nconst Popper = /*#__PURE__*/React.forwardRef(function Popper(props, forwardedRef) {\n const {\n anchorEl,\n children,\n container: containerProp,\n direction = 'ltr',\n disablePortal = false,\n keepMounted = false,\n modifiers,\n open,\n placement = 'bottom',\n popperOptions = defaultPopperOptions,\n popperRef,\n style,\n transition = false,\n slotProps = {},\n slots = {},\n ...other\n } = props;\n const [exited, setExited] = React.useState(true);\n const handleEnter = () => {\n setExited(false);\n };\n const handleExited = () => {\n setExited(true);\n };\n if (!keepMounted && !open && (!transition || exited)) {\n return null;\n }\n\n // If the container prop is provided, use that\n // If the anchorEl prop is provided, use its parent body element as the container\n // If neither are provided let the Modal take care of choosing the container\n let container;\n if (containerProp) {\n container = containerProp;\n } else if (anchorEl) {\n const resolvedAnchorEl = resolveAnchorEl(anchorEl);\n container = resolvedAnchorEl && isHTMLElement(resolvedAnchorEl) ? ownerDocument(resolvedAnchorEl).body : ownerDocument(null).body;\n }\n const display = !open && keepMounted && (!transition || exited) ? 'none' : undefined;\n const transitionProps = transition ? {\n in: open,\n onEnter: handleEnter,\n onExited: handleExited\n } : undefined;\n return /*#__PURE__*/_jsx(Portal, {\n disablePortal: disablePortal,\n container: container,\n children: /*#__PURE__*/_jsx(PopperTooltip, {\n anchorEl: anchorEl,\n direction: direction,\n disablePortal: disablePortal,\n modifiers: modifiers,\n ref: forwardedRef,\n open: transition ? !exited : open,\n placement: placement,\n popperOptions: popperOptions,\n popperRef: popperRef,\n slotProps: slotProps,\n slots: slots,\n ...other,\n style: {\n // Prevents scroll issue, waiting for Popper.js to add this style once initiated.\n position: 'fixed',\n // Fix Popper.js display issue\n top: 0,\n left: 0,\n display,\n ...style\n },\n TransitionProps: transitionProps,\n children: children\n })\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Popper.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 * An HTML element, [virtualElement](https://popper.js.org/docs/v2/virtual-elements/),\n * or a function that returns either.\n * It's used to set the position of the popper.\n * The return value will passed as the reference object of the Popper instance.\n */\n anchorEl: chainPropTypes(PropTypes.oneOfType([HTMLElementType, PropTypes.object, PropTypes.func]), props => {\n if (props.open) {\n const resolvedAnchorEl = resolveAnchorEl(props.anchorEl);\n if (resolvedAnchorEl && isHTMLElement(resolvedAnchorEl) && resolvedAnchorEl.nodeType === 1) {\n const box = resolvedAnchorEl.getBoundingClientRect();\n if (process.env.NODE_ENV !== 'production') {\n if (isLayoutSupported() && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {\n return new Error(['MUI: The `anchorEl` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', \"Make sure the element is present in the document or that it's not display none.\"].join('\\n'));\n }\n }\n } else if (!resolvedAnchorEl || typeof resolvedAnchorEl.getBoundingClientRect !== 'function' || isVirtualElement(resolvedAnchorEl) && resolvedAnchorEl.contextElement != null && resolvedAnchorEl.contextElement.nodeType !== 1) {\n return new Error(['MUI: The `anchorEl` prop provided to the component is invalid.', 'It should be an HTML element instance or a virtualElement ', '(https://popper.js.org/docs/v2/virtual-elements/).'].join('\\n'));\n }\n }\n return null;\n }),\n /**\n * Popper render function or node.\n */\n children: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.node, PropTypes.func]),\n /**\n * An HTML element or function that returns one.\n * The `container` will have the portal children appended to it.\n *\n * You can also provide a callback, which is called in a React layout effect.\n * This lets you set the container from a ref, and also makes server-side rendering possible.\n *\n * By default, it uses the body of the top-level document object,\n * so it's simply `document.body` most of the time.\n */\n container: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.func]),\n /**\n * Direction of the text.\n * @default 'ltr'\n */\n direction: PropTypes.oneOf(['ltr', 'rtl']),\n /**\n * The `children` will be under the DOM hierarchy of the parent component.\n * @default false\n */\n disablePortal: PropTypes.bool,\n /**\n * Always keep the children in the DOM.\n * This prop can be useful in SEO situation or\n * when you want to maximize the responsiveness of the Popper.\n * @default false\n */\n keepMounted: PropTypes.bool,\n /**\n * Popper.js is based on a \"plugin-like\" architecture,\n * most of its features are fully encapsulated \"modifiers\".\n *\n * A modifier is a function that is called each time Popper.js needs to\n * compute the position of the popper.\n * For this reason, modifiers should be very performant to avoid bottlenecks.\n * To learn how to create a modifier, [read the modifiers documentation](https://popper.js.org/docs/v2/modifiers/).\n */\n modifiers: PropTypes.arrayOf(PropTypes.shape({\n data: PropTypes.object,\n effect: PropTypes.func,\n enabled: PropTypes.bool,\n fn: PropTypes.func,\n name: PropTypes.any,\n options: PropTypes.object,\n phase: PropTypes.oneOf(['afterMain', 'afterRead', 'afterWrite', 'beforeMain', 'beforeRead', 'beforeWrite', 'main', 'read', 'write']),\n requires: PropTypes.arrayOf(PropTypes.string),\n requiresIfExists: PropTypes.arrayOf(PropTypes.string)\n })),\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n /**\n * Popper placement.\n * @default 'bottom'\n */\n placement: PropTypes.oneOf(['auto-end', 'auto-start', 'auto', 'bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),\n /**\n * Options provided to the [`Popper.js`](https://popper.js.org/docs/v2/constructors/#options) instance.\n * @default {}\n */\n popperOptions: PropTypes.shape({\n modifiers: PropTypes.array,\n onFirstUpdate: PropTypes.func,\n placement: PropTypes.oneOf(['auto-end', 'auto-start', 'auto', 'bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),\n strategy: PropTypes.oneOf(['absolute', 'fixed'])\n }),\n /**\n * A ref that points to the used popper instance.\n */\n popperRef: refType,\n /**\n * The props used for each slot inside the Popper.\n * @default {}\n */\n slotProps: PropTypes.shape({\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside the Popper.\n * Either a string to use a HTML element or a component.\n * @default {}\n */\n slots: PropTypes.shape({\n root: PropTypes.elementType\n }),\n /**\n * Help supporting a react-transition-group/Transition component.\n * @default false\n */\n transition: PropTypes.bool\n} : void 0;\nexport default Popper;","'use client';\n\nimport { useRtl } from '@mui/system/RtlProvider';\nimport refType from '@mui/utils/refType';\nimport HTMLElementType from '@mui/utils/HTMLElementType';\nimport PropTypes from 'prop-types';\nimport * as React from 'react';\nimport BasePopper from \"./BasePopper.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst PopperRoot = styled(BasePopper, {\n name: 'MuiPopper',\n slot: 'Root'\n})({});\n\n/**\n *\n * Demos:\n *\n * - [Autocomplete](https://v7.mui.com/material-ui/react-autocomplete/)\n * - [Menu](https://v7.mui.com/material-ui/react-menu/)\n * - [Popper](https://v7.mui.com/material-ui/react-popper/)\n *\n * API:\n *\n * - [Popper API](https://v7.mui.com/material-ui/api/popper/)\n */\nconst Popper = /*#__PURE__*/React.forwardRef(function Popper(inProps, ref) {\n const isRtl = useRtl();\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiPopper'\n });\n const {\n anchorEl,\n component,\n components,\n componentsProps,\n container,\n disablePortal,\n keepMounted,\n modifiers,\n open,\n placement,\n popperOptions,\n popperRef,\n transition,\n slots,\n slotProps,\n ...other\n } = props;\n const RootComponent = slots?.root ?? components?.Root;\n const otherProps = {\n anchorEl,\n container,\n disablePortal,\n keepMounted,\n modifiers,\n open,\n placement,\n popperOptions,\n popperRef,\n transition,\n ...other\n };\n return /*#__PURE__*/_jsx(PopperRoot, {\n as: component,\n direction: isRtl ? 'rtl' : 'ltr',\n slots: {\n root: RootComponent\n },\n slotProps: slotProps ?? componentsProps,\n ...otherProps,\n ref: ref\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Popper.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 * An HTML element, [virtualElement](https://popper.js.org/docs/v2/virtual-elements/),\n * or a function that returns either.\n * It's used to set the position of the popper.\n * The return value will passed as the reference object of the Popper instance.\n */\n anchorEl: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.object, PropTypes.func]),\n /**\n * Popper render function or node.\n */\n children: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.node, PropTypes.func]),\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 the Popper.\n * Either a string to use a HTML element or a component.\n *\n * @deprecated use the `slots` prop instead. This prop will be removed in a future major release. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).\n * @default {}\n */\n components: PropTypes.shape({\n Root: PropTypes.elementType\n }),\n /**\n * The props used for each slot inside the Popper.\n *\n * @deprecated use the `slotProps` prop instead. This prop will be removed in a future major release. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).\n * @default {}\n */\n componentsProps: PropTypes.shape({\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * An HTML element or function that returns one.\n * The `container` will have the portal children appended to it.\n *\n * You can also provide a callback, which is called in a React layout effect.\n * This lets you set the container from a ref, and also makes server-side rendering possible.\n *\n * By default, it uses the body of the top-level document object,\n * so it's simply `document.body` most of the time.\n */\n container: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.func]),\n /**\n * The `children` will be under the DOM hierarchy of the parent component.\n * @default false\n */\n disablePortal: PropTypes.bool,\n /**\n * Always keep the children in the DOM.\n * This prop can be useful in SEO situation or\n * when you want to maximize the responsiveness of the Popper.\n * @default false\n */\n keepMounted: PropTypes.bool,\n /**\n * Popper.js is based on a \"plugin-like\" architecture,\n * most of its features are fully encapsulated \"modifiers\".\n *\n * A modifier is a function that is called each time Popper.js needs to\n * compute the position of the popper.\n * For this reason, modifiers should be very performant to avoid bottlenecks.\n * To learn how to create a modifier, [read the modifiers documentation](https://popper.js.org/docs/v2/modifiers/).\n */\n modifiers: PropTypes.arrayOf(PropTypes.shape({\n data: PropTypes.object,\n effect: PropTypes.func,\n enabled: PropTypes.bool,\n fn: PropTypes.func,\n name: PropTypes.any,\n options: PropTypes.object,\n phase: PropTypes.oneOf(['afterMain', 'afterRead', 'afterWrite', 'beforeMain', 'beforeRead', 'beforeWrite', 'main', 'read', 'write']),\n requires: PropTypes.arrayOf(PropTypes.string),\n requiresIfExists: PropTypes.arrayOf(PropTypes.string)\n })),\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n /**\n * Popper placement.\n * @default 'bottom'\n */\n placement: PropTypes.oneOf(['auto-end', 'auto-start', 'auto', 'bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),\n /**\n * Options provided to the [`Popper.js`](https://popper.js.org/docs/v2/constructors/#options) instance.\n * @default {}\n */\n popperOptions: PropTypes.shape({\n modifiers: PropTypes.array,\n onFirstUpdate: PropTypes.func,\n placement: PropTypes.oneOf(['auto-end', 'auto-start', 'auto', 'bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),\n strategy: PropTypes.oneOf(['absolute', 'fixed'])\n }),\n /**\n * A ref that points to the used popper instance.\n */\n popperRef: refType,\n /**\n * The props used for each slot inside the Popper.\n * @default {}\n */\n slotProps: PropTypes.shape({\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside the Popper.\n * Either a string to use a HTML element or a component.\n * @default {}\n */\n slots: PropTypes.shape({\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 * Help supporting a react-transition-group/Transition component.\n * @default false\n */\n transition: PropTypes.bool\n} : void 0;\nexport default Popper;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTooltipUtilityClass(slot) {\n return generateUtilityClass('MuiTooltip', slot);\n}\nconst tooltipClasses = generateUtilityClasses('MuiTooltip', ['popper', 'popperInteractive', 'popperArrow', 'popperClose', 'tooltip', 'tooltipArrow', 'touch', 'tooltipPlacementLeft', 'tooltipPlacementRight', 'tooltipPlacementTop', 'tooltipPlacementBottom', 'arrow']);\nexport default tooltipClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport useTimeout, { Timeout } from '@mui/utils/useTimeout';\nimport elementAcceptingRef from '@mui/utils/elementAcceptingRef';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport isFocusVisible from '@mui/utils/isFocusVisible';\nimport getReactElementRef from '@mui/utils/getReactElementRef';\nimport { styled, useTheme } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport capitalize from \"../utils/capitalize.js\";\nimport Grow from \"../Grow/index.js\";\nimport Popper from \"../Popper/index.js\";\nimport useEventCallback from \"../utils/useEventCallback.js\";\nimport useForkRef from \"../utils/useForkRef.js\";\nimport useId from \"../utils/useId.js\";\nimport useControlled from \"../utils/useControlled.js\";\nimport useSlot from \"../utils/useSlot.js\";\nimport tooltipClasses, { getTooltipUtilityClass } from \"./tooltipClasses.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction round(value) {\n return Math.round(value * 1e5) / 1e5;\n}\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableInteractive,\n arrow,\n touch,\n placement\n } = ownerState;\n const slots = {\n popper: ['popper', !disableInteractive && 'popperInteractive', arrow && 'popperArrow'],\n tooltip: ['tooltip', arrow && 'tooltipArrow', touch && 'touch', `tooltipPlacement${capitalize(placement.split('-')[0])}`],\n arrow: ['arrow']\n };\n return composeClasses(slots, getTooltipUtilityClass, classes);\n};\nconst TooltipPopper = styled(Popper, {\n name: 'MuiTooltip',\n slot: 'Popper',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.popper, !ownerState.disableInteractive && styles.popperInteractive, ownerState.arrow && styles.popperArrow, !ownerState.open && styles.popperClose];\n }\n})(memoTheme(({\n theme\n}) => ({\n zIndex: (theme.vars || theme).zIndex.tooltip,\n pointerEvents: 'none',\n variants: [{\n props: ({\n ownerState\n }) => !ownerState.disableInteractive,\n style: {\n pointerEvents: 'auto'\n }\n }, {\n props: ({\n open\n }) => !open,\n style: {\n pointerEvents: 'none'\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.arrow,\n style: {\n [`&[data-popper-placement*=\"bottom\"] .${tooltipClasses.arrow}`]: {\n top: 0,\n marginTop: '-0.71em',\n '&::before': {\n transformOrigin: '0 100%'\n }\n },\n [`&[data-popper-placement*=\"top\"] .${tooltipClasses.arrow}`]: {\n bottom: 0,\n marginBottom: '-0.71em',\n '&::before': {\n transformOrigin: '100% 0'\n }\n },\n [`&[data-popper-placement*=\"right\"] .${tooltipClasses.arrow}`]: {\n height: '1em',\n width: '0.71em',\n '&::before': {\n transformOrigin: '100% 100%'\n }\n },\n [`&[data-popper-placement*=\"left\"] .${tooltipClasses.arrow}`]: {\n height: '1em',\n width: '0.71em',\n '&::before': {\n transformOrigin: '0 0'\n }\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.arrow && !ownerState.isRtl,\n style: {\n [`&[data-popper-placement*=\"right\"] .${tooltipClasses.arrow}`]: {\n left: 0,\n marginLeft: '-0.71em'\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.arrow && !!ownerState.isRtl,\n style: {\n [`&[data-popper-placement*=\"right\"] .${tooltipClasses.arrow}`]: {\n right: 0,\n marginRight: '-0.71em'\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.arrow && !ownerState.isRtl,\n style: {\n [`&[data-popper-placement*=\"left\"] .${tooltipClasses.arrow}`]: {\n right: 0,\n marginRight: '-0.71em'\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.arrow && !!ownerState.isRtl,\n style: {\n [`&[data-popper-placement*=\"left\"] .${tooltipClasses.arrow}`]: {\n left: 0,\n marginLeft: '-0.71em'\n }\n }\n }]\n})));\nconst TooltipTooltip = styled('div', {\n name: 'MuiTooltip',\n slot: 'Tooltip',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.tooltip, ownerState.touch && styles.touch, ownerState.arrow && styles.tooltipArrow, styles[`tooltipPlacement${capitalize(ownerState.placement.split('-')[0])}`]];\n }\n})(memoTheme(({\n theme\n}) => ({\n backgroundColor: theme.vars ? theme.vars.palette.Tooltip.bg : theme.alpha(theme.palette.grey[700], 0.92),\n borderRadius: (theme.vars || theme).shape.borderRadius,\n color: (theme.vars || theme).palette.common.white,\n fontFamily: theme.typography.fontFamily,\n padding: '4px 8px',\n fontSize: theme.typography.pxToRem(11),\n maxWidth: 300,\n margin: 2,\n wordWrap: 'break-word',\n fontWeight: theme.typography.fontWeightMedium,\n [`.${tooltipClasses.popper}[data-popper-placement*=\"left\"] &`]: {\n transformOrigin: 'right center'\n },\n [`.${tooltipClasses.popper}[data-popper-placement*=\"right\"] &`]: {\n transformOrigin: 'left center'\n },\n [`.${tooltipClasses.popper}[data-popper-placement*=\"top\"] &`]: {\n transformOrigin: 'center bottom',\n marginBottom: '14px'\n },\n [`.${tooltipClasses.popper}[data-popper-placement*=\"bottom\"] &`]: {\n transformOrigin: 'center top',\n marginTop: '14px'\n },\n variants: [{\n props: ({\n ownerState\n }) => ownerState.arrow,\n style: {\n position: 'relative',\n margin: 0\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.touch,\n style: {\n padding: '8px 16px',\n fontSize: theme.typography.pxToRem(14),\n lineHeight: `${round(16 / 14)}em`,\n fontWeight: theme.typography.fontWeightRegular\n }\n }, {\n props: ({\n ownerState\n }) => !ownerState.isRtl,\n style: {\n [`.${tooltipClasses.popper}[data-popper-placement*=\"left\"] &`]: {\n marginRight: '14px'\n },\n [`.${tooltipClasses.popper}[data-popper-placement*=\"right\"] &`]: {\n marginLeft: '14px'\n }\n }\n }, {\n props: ({\n ownerState\n }) => !ownerState.isRtl && ownerState.touch,\n style: {\n [`.${tooltipClasses.popper}[data-popper-placement*=\"left\"] &`]: {\n marginRight: '24px'\n },\n [`.${tooltipClasses.popper}[data-popper-placement*=\"right\"] &`]: {\n marginLeft: '24px'\n }\n }\n }, {\n props: ({\n ownerState\n }) => !!ownerState.isRtl,\n style: {\n [`.${tooltipClasses.popper}[data-popper-placement*=\"left\"] &`]: {\n marginLeft: '14px'\n },\n [`.${tooltipClasses.popper}[data-popper-placement*=\"right\"] &`]: {\n marginRight: '14px'\n }\n }\n }, {\n props: ({\n ownerState\n }) => !!ownerState.isRtl && ownerState.touch,\n style: {\n [`.${tooltipClasses.popper}[data-popper-placement*=\"left\"] &`]: {\n marginLeft: '24px'\n },\n [`.${tooltipClasses.popper}[data-popper-placement*=\"right\"] &`]: {\n marginRight: '24px'\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.touch,\n style: {\n [`.${tooltipClasses.popper}[data-popper-placement*=\"top\"] &`]: {\n marginBottom: '24px'\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.touch,\n style: {\n [`.${tooltipClasses.popper}[data-popper-placement*=\"bottom\"] &`]: {\n marginTop: '24px'\n }\n }\n }]\n})));\nconst TooltipArrow = styled('span', {\n name: 'MuiTooltip',\n slot: 'Arrow'\n})(memoTheme(({\n theme\n}) => ({\n overflow: 'hidden',\n position: 'absolute',\n width: '1em',\n height: '0.71em' /* = width / sqrt(2) = (length of the hypotenuse) */,\n boxSizing: 'border-box',\n color: theme.vars ? theme.vars.palette.Tooltip.bg : theme.alpha(theme.palette.grey[700], 0.9),\n '&::before': {\n content: '\"\"',\n margin: 'auto',\n display: 'block',\n width: '100%',\n height: '100%',\n backgroundColor: 'currentColor',\n transform: 'rotate(45deg)'\n }\n})));\nlet hystersisOpen = false;\nconst hystersisTimer = new Timeout();\nlet cursorPosition = {\n x: 0,\n y: 0\n};\nexport function testReset() {\n hystersisOpen = false;\n hystersisTimer.clear();\n}\nfunction composeEventHandler(handler, eventHandler) {\n return (event, ...params) => {\n if (eventHandler) {\n eventHandler(event, ...params);\n }\n handler(event, ...params);\n };\n}\n\n// TODO v6: Remove PopperComponent, PopperProps, TransitionComponent and TransitionProps.\nconst Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiTooltip'\n });\n const {\n arrow = false,\n children: childrenProp,\n classes: classesProp,\n components = {},\n componentsProps = {},\n describeChild = false,\n disableFocusListener = false,\n disableHoverListener = false,\n disableInteractive: disableInteractiveProp = false,\n disableTouchListener = false,\n enterDelay = 100,\n enterNextDelay = 0,\n enterTouchDelay = 700,\n followCursor = false,\n id: idProp,\n leaveDelay = 0,\n leaveTouchDelay = 1500,\n onClose,\n onOpen,\n open: openProp,\n placement = 'bottom',\n PopperComponent: PopperComponentProp,\n PopperProps = {},\n slotProps = {},\n slots = {},\n title,\n TransitionComponent: TransitionComponentProp,\n TransitionProps,\n ...other\n } = props;\n\n // to prevent runtime errors, developers will need to provide a child as a React element anyway.\n const children = /*#__PURE__*/React.isValidElement(childrenProp) ? childrenProp : /*#__PURE__*/_jsx(\"span\", {\n children: childrenProp\n });\n const theme = useTheme();\n const isRtl = useRtl();\n const [childNode, setChildNode] = React.useState();\n const [arrowRef, setArrowRef] = React.useState(null);\n const ignoreNonTouchEvents = React.useRef(false);\n const disableInteractive = disableInteractiveProp || followCursor;\n const closeTimer = useTimeout();\n const enterTimer = useTimeout();\n const leaveTimer = useTimeout();\n const touchTimer = useTimeout();\n const [openState, setOpenState] = useControlled({\n controlled: openProp,\n default: false,\n name: 'Tooltip',\n state: 'open'\n });\n let open = openState;\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 -- process.env never changes\n const {\n current: isControlled\n } = React.useRef(openProp !== undefined);\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/rules-of-hooks -- process.env never changes\n React.useEffect(() => {\n if (childNode && childNode.disabled && !isControlled && title !== '' && childNode.tagName.toLowerCase() === 'button') {\n console.warn(['MUI: You are providing a disabled `button` child to the Tooltip component.', 'A disabled element does not fire events.', \"Tooltip needs to listen to the child element's events to display the title.\", '', 'Add a simple wrapper element, such as a `span`.'].join('\\n'));\n }\n }, [title, childNode, isControlled]);\n }\n const id = useId(idProp);\n const prevUserSelect = React.useRef();\n const stopTouchInteraction = useEventCallback(() => {\n if (prevUserSelect.current !== undefined) {\n document.body.style.WebkitUserSelect = prevUserSelect.current;\n prevUserSelect.current = undefined;\n }\n touchTimer.clear();\n });\n React.useEffect(() => stopTouchInteraction, [stopTouchInteraction]);\n const handleOpen = event => {\n hystersisTimer.clear();\n hystersisOpen = true;\n\n // The mouseover event will trigger for every nested element in the tooltip.\n // We can skip rerendering when the tooltip is already open.\n // We are using the mouseover event instead of the mouseenter event to fix a hide/show issue.\n setOpenState(true);\n if (onOpen && !open) {\n onOpen(event);\n }\n };\n const handleClose = useEventCallback(\n /**\n * @param {React.SyntheticEvent | Event} event\n */\n event => {\n hystersisTimer.start(800 + leaveDelay, () => {\n hystersisOpen = false;\n });\n setOpenState(false);\n if (onClose && open) {\n onClose(event);\n }\n closeTimer.start(theme.transitions.duration.shortest, () => {\n ignoreNonTouchEvents.current = false;\n });\n });\n const handleMouseOver = event => {\n if (ignoreNonTouchEvents.current && event.type !== 'touchstart') {\n return;\n }\n\n // Remove the title ahead of time.\n // We don't want to wait for the next render commit.\n // We would risk displaying two tooltips at the same time (native + this one).\n if (childNode) {\n childNode.removeAttribute('title');\n }\n enterTimer.clear();\n leaveTimer.clear();\n if (enterDelay || hystersisOpen && enterNextDelay) {\n enterTimer.start(hystersisOpen ? enterNextDelay : enterDelay, () => {\n handleOpen(event);\n });\n } else {\n handleOpen(event);\n }\n };\n const handleMouseLeave = event => {\n enterTimer.clear();\n leaveTimer.start(leaveDelay, () => {\n handleClose(event);\n });\n };\n const [, setChildIsFocusVisible] = React.useState(false);\n const handleBlur = event => {\n // Needed for https://github.com/mui/material-ui/issues/45373\n const target = event?.target ?? childNode;\n if (!target || !isFocusVisible(target)) {\n setChildIsFocusVisible(false);\n\n // InputBase can call onBlur() without an event when the input becomes disabled.\n // Tooltip must not assume an event object exists.\n const closeEvent = event ?? new Event('blur');\n\n // `new Event('blur')` has `target/currentTarget === null`, but Tooltip's close logic\n // (and user callbacks like onClose) may expect them to reference the anchor element.\n if (!event && target) {\n Object.defineProperty(closeEvent, 'target', {\n value: target\n });\n Object.defineProperty(closeEvent, 'currentTarget', {\n value: target\n });\n }\n handleMouseLeave(closeEvent);\n }\n };\n const handleFocus = event => {\n // Workaround for https://github.com/facebook/react/issues/7769\n // The autoFocus of React might trigger the event before the componentDidMount.\n // We need to account for this eventuality.\n if (!childNode) {\n setChildNode(event.currentTarget);\n }\n if (isFocusVisible(event.target)) {\n setChildIsFocusVisible(true);\n handleMouseOver(event);\n }\n };\n const detectTouchStart = event => {\n ignoreNonTouchEvents.current = true;\n const childrenProps = children.props;\n if (childrenProps.onTouchStart) {\n childrenProps.onTouchStart(event);\n }\n };\n const handleTouchStart = event => {\n detectTouchStart(event);\n leaveTimer.clear();\n closeTimer.clear();\n stopTouchInteraction();\n prevUserSelect.current = document.body.style.WebkitUserSelect;\n // Prevent iOS text selection on long-tap.\n document.body.style.WebkitUserSelect = 'none';\n touchTimer.start(enterTouchDelay, () => {\n document.body.style.WebkitUserSelect = prevUserSelect.current;\n handleMouseOver(event);\n });\n };\n const handleTouchEnd = event => {\n if (children.props.onTouchEnd) {\n children.props.onTouchEnd(event);\n }\n stopTouchInteraction();\n leaveTimer.start(leaveTouchDelay, () => {\n handleClose(event);\n });\n };\n React.useEffect(() => {\n if (!open) {\n return undefined;\n }\n\n /**\n * @param {KeyboardEvent} nativeEvent\n */\n function handleKeyDown(nativeEvent) {\n if (nativeEvent.key === 'Escape') {\n handleClose(nativeEvent);\n }\n }\n document.addEventListener('keydown', handleKeyDown);\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, [handleClose, open]);\n const handleRef = useForkRef(getReactElementRef(children), setChildNode, ref);\n\n // There is no point in displaying an empty tooltip.\n // So we exclude all falsy values, except 0, which is valid.\n if (!title && title !== 0) {\n open = false;\n }\n const popperRef = React.useRef();\n const handleMouseMove = event => {\n const childrenProps = children.props;\n if (childrenProps.onMouseMove) {\n childrenProps.onMouseMove(event);\n }\n cursorPosition = {\n x: event.clientX,\n y: event.clientY\n };\n if (popperRef.current) {\n popperRef.current.update();\n }\n };\n const nameOrDescProps = {};\n const titleIsString = typeof title === 'string';\n if (describeChild) {\n nameOrDescProps.title = !open && titleIsString && !disableHoverListener ? title : null;\n nameOrDescProps['aria-describedby'] = open ? id : null;\n } else {\n nameOrDescProps['aria-label'] = titleIsString ? title : null;\n nameOrDescProps['aria-labelledby'] = open && !titleIsString ? id : null;\n }\n const childrenProps = {\n ...nameOrDescProps,\n ...other,\n ...children.props,\n className: clsx(other.className, children.props.className),\n onTouchStart: detectTouchStart,\n ref: handleRef,\n ...(followCursor ? {\n onMouseMove: handleMouseMove\n } : {})\n };\n if (process.env.NODE_ENV !== 'production') {\n childrenProps['data-mui-internal-clone-element'] = true;\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/rules-of-hooks -- process.env never changes\n React.useEffect(() => {\n if (childNode && !childNode.getAttribute('data-mui-internal-clone-element')) {\n console.error(['MUI: The `children` component of the Tooltip is not forwarding its props correctly.', 'Please make sure that props are spread on the same element that the ref is applied to.'].join('\\n'));\n }\n }, [childNode]);\n }\n const interactiveWrapperListeners = {};\n if (!disableTouchListener) {\n childrenProps.onTouchStart = handleTouchStart;\n childrenProps.onTouchEnd = handleTouchEnd;\n }\n if (!disableHoverListener) {\n childrenProps.onMouseOver = composeEventHandler(handleMouseOver, childrenProps.onMouseOver);\n childrenProps.onMouseLeave = composeEventHandler(handleMouseLeave, childrenProps.onMouseLeave);\n if (!disableInteractive) {\n interactiveWrapperListeners.onMouseOver = handleMouseOver;\n interactiveWrapperListeners.onMouseLeave = handleMouseLeave;\n }\n }\n if (!disableFocusListener) {\n childrenProps.onFocus = composeEventHandler(handleFocus, childrenProps.onFocus);\n childrenProps.onBlur = composeEventHandler(handleBlur, childrenProps.onBlur);\n if (!disableInteractive) {\n interactiveWrapperListeners.onFocus = handleFocus;\n interactiveWrapperListeners.onBlur = handleBlur;\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n if (children.props.title) {\n console.error(['MUI: You have provided a `title` prop to the child of <Tooltip />.', `Remove this title prop \\`${children.props.title}\\` or the Tooltip component.`].join('\\n'));\n }\n }\n const ownerState = {\n ...props,\n isRtl,\n arrow,\n disableInteractive,\n placement,\n PopperComponentProp,\n touch: ignoreNonTouchEvents.current\n };\n const resolvedPopperProps = typeof slotProps.popper === 'function' ? slotProps.popper(ownerState) : slotProps.popper;\n const popperOptions = React.useMemo(() => {\n let tooltipModifiers = [{\n name: 'arrow',\n enabled: Boolean(arrowRef),\n options: {\n element: arrowRef,\n padding: 4\n }\n }];\n if (PopperProps.popperOptions?.modifiers) {\n tooltipModifiers = tooltipModifiers.concat(PopperProps.popperOptions.modifiers);\n }\n if (resolvedPopperProps?.popperOptions?.modifiers) {\n tooltipModifiers = tooltipModifiers.concat(resolvedPopperProps.popperOptions.modifiers);\n }\n return {\n ...PopperProps.popperOptions,\n ...resolvedPopperProps?.popperOptions,\n modifiers: tooltipModifiers\n };\n }, [arrowRef, PopperProps.popperOptions, resolvedPopperProps?.popperOptions]);\n const classes = useUtilityClasses(ownerState);\n const resolvedTransitionProps = typeof slotProps.transition === 'function' ? slotProps.transition(ownerState) : slotProps.transition;\n const externalForwardedProps = {\n slots: {\n popper: components.Popper,\n transition: components.Transition ?? TransitionComponentProp,\n tooltip: components.Tooltip,\n arrow: components.Arrow,\n ...slots\n },\n slotProps: {\n arrow: slotProps.arrow ?? componentsProps.arrow,\n popper: {\n ...PopperProps,\n ...(resolvedPopperProps ?? componentsProps.popper)\n },\n // resolvedPopperProps can be spread because it's already an object\n tooltip: slotProps.tooltip ?? componentsProps.tooltip,\n transition: {\n ...TransitionProps,\n ...(resolvedTransitionProps ?? componentsProps.transition)\n }\n }\n };\n const [PopperSlot, popperSlotProps] = useSlot('popper', {\n elementType: TooltipPopper,\n externalForwardedProps,\n ownerState,\n className: clsx(classes.popper, PopperProps?.className)\n });\n const [TransitionSlot, transitionSlotProps] = useSlot('transition', {\n elementType: Grow,\n externalForwardedProps,\n ownerState\n });\n const [TooltipSlot, tooltipSlotProps] = useSlot('tooltip', {\n elementType: TooltipTooltip,\n className: classes.tooltip,\n externalForwardedProps,\n ownerState\n });\n const [ArrowSlot, arrowSlotProps] = useSlot('arrow', {\n elementType: TooltipArrow,\n className: classes.arrow,\n externalForwardedProps,\n ownerState,\n ref: setArrowRef\n });\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/React.cloneElement(children, childrenProps), /*#__PURE__*/_jsx(PopperSlot, {\n as: PopperComponentProp ?? Popper,\n placement: placement,\n anchorEl: followCursor ? {\n getBoundingClientRect: () => ({\n top: cursorPosition.y,\n left: cursorPosition.x,\n right: cursorPosition.x,\n bottom: cursorPosition.y,\n width: 0,\n height: 0\n })\n } : childNode,\n popperRef: popperRef,\n open: childNode ? open : false,\n id: id,\n transition: true,\n ...interactiveWrapperListeners,\n ...popperSlotProps,\n popperOptions: popperOptions,\n children: ({\n TransitionProps: TransitionPropsInner\n }) => /*#__PURE__*/_jsx(TransitionSlot, {\n timeout: theme.transitions.duration.shorter,\n ...TransitionPropsInner,\n ...transitionSlotProps,\n children: /*#__PURE__*/_jsxs(TooltipSlot, {\n ...tooltipSlotProps,\n children: [title, arrow ? /*#__PURE__*/_jsx(ArrowSlot, {\n ...arrowSlotProps\n }) : null]\n })\n })\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Tooltip.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`, adds an arrow to the tooltip.\n * @default false\n */\n arrow: PropTypes.bool,\n /**\n * Tooltip reference element.\n */\n children: elementAcceptingRef.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 * 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 Arrow: PropTypes.elementType,\n Popper: PropTypes.elementType,\n Tooltip: PropTypes.elementType,\n Transition: 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 arrow: PropTypes.object,\n popper: PropTypes.object,\n tooltip: PropTypes.object,\n transition: PropTypes.object\n }),\n /**\n * Set to `true` if the `title` acts as an accessible description.\n * By default the `title` acts as an accessible label for the child.\n * @default false\n */\n describeChild: PropTypes.bool,\n /**\n * Do not respond to focus-visible events.\n * @default false\n */\n disableFocusListener: PropTypes.bool,\n /**\n * Do not respond to hover events.\n * @default false\n */\n disableHoverListener: PropTypes.bool,\n /**\n * Makes a tooltip not interactive, i.e. it will close when the user\n * hovers over the tooltip before the `leaveDelay` is expired.\n * @default false\n */\n disableInteractive: PropTypes.bool,\n /**\n * Do not respond to long press touch events.\n * @default false\n */\n disableTouchListener: PropTypes.bool,\n /**\n * The number of milliseconds to wait before showing the tooltip.\n * This prop won't impact the enter touch delay (`enterTouchDelay`).\n * @default 100\n */\n enterDelay: PropTypes.number,\n /**\n * The number of milliseconds to wait before showing the tooltip when one was already recently opened.\n * @default 0\n */\n enterNextDelay: PropTypes.number,\n /**\n * The number of milliseconds a user must touch the element before showing the tooltip.\n * @default 700\n */\n enterTouchDelay: PropTypes.number,\n /**\n * If `true`, the tooltip follow the cursor over the wrapped element.\n * @default false\n */\n followCursor: PropTypes.bool,\n /**\n * This prop is used to help implement the accessibility logic.\n * If you don't provide this prop. It falls back to a randomly generated id.\n */\n id: PropTypes.string,\n /**\n * The number of milliseconds to wait before hiding the tooltip.\n * This prop won't impact the leave touch delay (`leaveTouchDelay`).\n * @default 0\n */\n leaveDelay: PropTypes.number,\n /**\n * The number of milliseconds after the user stops touching an element before hiding the tooltip.\n * @default 1500\n */\n leaveTouchDelay: PropTypes.number,\n /**\n * Callback fired when the component requests to be closed.\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n */\n onClose: PropTypes.func,\n /**\n * Callback fired when the component requests to be open.\n *\n * @param {React.SyntheticEvent} 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 * Tooltip placement.\n * @default 'bottom'\n */\n placement: PropTypes.oneOf(['auto-end', 'auto-start', 'auto', 'bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),\n /**\n * The component used for the popper.\n * @deprecated use the `slots.popper` 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 PopperComponent: PropTypes.elementType,\n /**\n * Props applied to the [`Popper`](https://mui.com/material-ui/api/popper/) element.\n * @deprecated use the `slotProps.popper` 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 PopperProps: PropTypes.object,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n arrow: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n popper: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n tooltip: 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 arrow: PropTypes.elementType,\n popper: PropTypes.elementType,\n tooltip: 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 * Tooltip title. Zero-length titles string, undefined, null and false are never displayed.\n */\n title: PropTypes.node,\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 * @deprecated use the `slots.transition` 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 TransitionComponent: PropTypes.elementType,\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 the `slotProps.transition` 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 TransitionProps: PropTypes.object\n} : void 0;\nexport default Tooltip;","'use client';\n\nimport * as React from 'react';\n\n/**\n * @ignore - internal component.\n * @type {React.Context<{} | {expanded: boolean, disabled: boolean, toggle: () => void}>}\n */\nconst AccordionContext = /*#__PURE__*/React.createContext({});\nif (process.env.NODE_ENV !== 'production') {\n AccordionContext.displayName = 'AccordionContext';\n}\nexport default AccordionContext;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getAccordionUtilityClass(slot) {\n return generateUtilityClass('MuiAccordion', slot);\n}\nconst accordionClasses = generateUtilityClasses('MuiAccordion', ['root', 'heading', 'rounded', 'expanded', 'disabled', 'gutters', 'region']);\nexport default accordionClasses;","'use client';\n\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\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 memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport Collapse from \"../Collapse/index.js\";\nimport Paper from \"../Paper/index.js\";\nimport AccordionContext from \"./AccordionContext.js\";\nimport useControlled from \"../utils/useControlled.js\";\nimport useSlot from \"../utils/useSlot.js\";\nimport accordionClasses, { getAccordionUtilityClass } from \"./accordionClasses.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n square,\n expanded,\n disabled,\n disableGutters\n } = ownerState;\n const slots = {\n root: ['root', !square && 'rounded', expanded && 'expanded', disabled && 'disabled', !disableGutters && 'gutters'],\n heading: ['heading'],\n region: ['region']\n };\n return composeClasses(slots, getAccordionUtilityClass, classes);\n};\nconst AccordionRoot = styled(Paper, {\n name: 'MuiAccordion',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${accordionClasses.region}`]: styles.region\n }, styles.root, !ownerState.square && styles.rounded, !ownerState.disableGutters && styles.gutters];\n }\n})(memoTheme(({\n theme\n}) => {\n const transition = {\n duration: theme.transitions.duration.shortest\n };\n return {\n position: 'relative',\n transition: theme.transitions.create(['margin'], transition),\n overflowAnchor: 'none',\n // Keep the same scrolling position\n '&::before': {\n position: 'absolute',\n left: 0,\n top: -1,\n right: 0,\n height: 1,\n content: '\"\"',\n opacity: 1,\n backgroundColor: (theme.vars || theme).palette.divider,\n transition: theme.transitions.create(['opacity', 'background-color'], transition)\n },\n '&:first-of-type': {\n '&::before': {\n display: 'none'\n }\n },\n [`&.${accordionClasses.expanded}`]: {\n '&::before': {\n opacity: 0\n },\n '&:first-of-type': {\n marginTop: 0\n },\n '&:last-of-type': {\n marginBottom: 0\n },\n '& + &': {\n '&::before': {\n display: 'none'\n }\n }\n },\n [`&.${accordionClasses.disabled}`]: {\n backgroundColor: (theme.vars || theme).palette.action.disabledBackground\n }\n };\n}), memoTheme(({\n theme\n}) => ({\n variants: [{\n props: props => !props.square,\n style: {\n borderRadius: 0,\n '&:first-of-type': {\n borderTopLeftRadius: (theme.vars || theme).shape.borderRadius,\n borderTopRightRadius: (theme.vars || theme).shape.borderRadius\n },\n '&:last-of-type': {\n borderBottomLeftRadius: (theme.vars || theme).shape.borderRadius,\n borderBottomRightRadius: (theme.vars || theme).shape.borderRadius,\n // Fix a rendering issue on Edge\n '@supports (-ms-ime-align: auto)': {\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0\n }\n }\n }\n }, {\n props: props => !props.disableGutters,\n style: {\n [`&.${accordionClasses.expanded}`]: {\n margin: '16px 0'\n }\n }\n }]\n})));\nconst AccordionHeading = styled('h3', {\n name: 'MuiAccordion',\n slot: 'Heading'\n})({\n all: 'unset'\n});\nconst AccordionRegion = styled('div', {\n name: 'MuiAccordion',\n slot: 'Region'\n})({});\nconst Accordion = /*#__PURE__*/React.forwardRef(function Accordion(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiAccordion'\n });\n const {\n children: childrenProp,\n className,\n defaultExpanded = false,\n disabled = false,\n disableGutters = false,\n expanded: expandedProp,\n onChange,\n slots = {},\n slotProps = {},\n TransitionComponent: TransitionComponentProp,\n TransitionProps: TransitionPropsProp,\n ...other\n } = props;\n const [expanded, setExpandedState] = useControlled({\n controlled: expandedProp,\n default: defaultExpanded,\n name: 'Accordion',\n state: 'expanded'\n });\n const handleChange = React.useCallback(event => {\n setExpandedState(!expanded);\n if (onChange) {\n onChange(event, !expanded);\n }\n }, [expanded, onChange, setExpandedState]);\n const [summary, ...children] = React.Children.toArray(childrenProp);\n const contextValue = React.useMemo(() => ({\n expanded,\n disabled,\n disableGutters,\n toggle: handleChange\n }), [expanded, disabled, disableGutters, handleChange]);\n const ownerState = {\n ...props,\n disabled,\n disableGutters,\n expanded\n };\n const classes = useUtilityClasses(ownerState);\n const backwardCompatibleSlots = {\n transition: TransitionComponentProp,\n ...slots\n };\n const backwardCompatibleSlotProps = {\n transition: TransitionPropsProp,\n ...slotProps\n };\n const externalForwardedProps = {\n slots: backwardCompatibleSlots,\n slotProps: backwardCompatibleSlotProps\n };\n const [RootSlot, rootProps] = useSlot('root', {\n elementType: AccordionRoot,\n externalForwardedProps: {\n ...externalForwardedProps,\n ...other\n },\n className: clsx(classes.root, className),\n shouldForwardComponentProp: true,\n ownerState,\n ref\n });\n const [AccordionHeadingSlot, accordionProps] = useSlot('heading', {\n elementType: AccordionHeading,\n externalForwardedProps,\n className: classes.heading,\n ownerState\n });\n const [TransitionSlot, transitionProps] = useSlot('transition', {\n elementType: Collapse,\n externalForwardedProps,\n ownerState\n });\n const [AccordionRegionSlot, accordionRegionProps] = useSlot('region', {\n elementType: AccordionRegion,\n externalForwardedProps,\n ownerState,\n className: classes.region,\n additionalProps: {\n 'aria-labelledby': summary.props.id,\n id: summary.props['aria-controls'],\n role: 'region'\n }\n });\n return /*#__PURE__*/_jsxs(RootSlot, {\n ...rootProps,\n children: [/*#__PURE__*/_jsx(AccordionHeadingSlot, {\n ...accordionProps,\n children: /*#__PURE__*/_jsx(AccordionContext.Provider, {\n value: contextValue,\n children: summary\n })\n }), /*#__PURE__*/_jsx(TransitionSlot, {\n in: expanded,\n timeout: \"auto\",\n ...transitionProps,\n children: /*#__PURE__*/_jsx(AccordionRegionSlot, {\n ...accordionRegionProps,\n children: children\n })\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Accordion.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: chainPropTypes(PropTypes.node.isRequired, props => {\n const summary = React.Children.toArray(props.children)[0];\n if (isFragment(summary)) {\n return new Error(\"MUI: The Accordion doesn't accept a Fragment as a child. \" + 'Consider providing an array instead.');\n }\n if (! /*#__PURE__*/React.isValidElement(summary)) {\n return new Error('MUI: Expected the first child of Accordion to be a valid element.');\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 * If `true`, expands the accordion by default.\n * @default false\n */\n defaultExpanded: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, it removes the margin between two expanded accordion items and prevents the increased height when expanded.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * If `true`, expands the accordion, otherwise collapses it.\n * Setting this prop enables control over the accordion.\n */\n expanded: PropTypes.bool,\n /**\n * Callback fired when the expand/collapse state is changed.\n *\n * @param {React.SyntheticEvent} event The event source of the callback. **Warning**: This is a generic event not a change event.\n * @param {boolean} expanded The `expanded` state of the accordion.\n */\n onChange: PropTypes.func,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n heading: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n region: 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 heading: PropTypes.elementType,\n region: 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 * @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 * 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 Accordion;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getAccordionDetailsUtilityClass(slot) {\n return generateUtilityClass('MuiAccordionDetails', slot);\n}\nconst accordionDetailsClasses = generateUtilityClasses('MuiAccordionDetails', ['root']);\nexport default accordionDetailsClasses;","'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 { getAccordionDetailsUtilityClass } from \"./accordionDetailsClasses.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, getAccordionDetailsUtilityClass, classes);\n};\nconst AccordionDetailsRoot = styled('div', {\n name: 'MuiAccordionDetails',\n slot: 'Root'\n})(memoTheme(({\n theme\n}) => ({\n padding: theme.spacing(1, 2, 2)\n})));\nconst AccordionDetails = /*#__PURE__*/React.forwardRef(function AccordionDetails(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiAccordionDetails'\n });\n const {\n className,\n ...other\n } = props;\n const ownerState = props;\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(AccordionDetailsRoot, {\n className: clsx(classes.root, className),\n ref: ref,\n ownerState: ownerState,\n ...other\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? AccordionDetails.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 AccordionDetails;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getAccordionSummaryUtilityClass(slot) {\n return generateUtilityClass('MuiAccordionSummary', slot);\n}\nconst accordionSummaryClasses = generateUtilityClasses('MuiAccordionSummary', ['root', 'expanded', 'focusVisible', 'disabled', 'gutters', 'contentGutters', 'content', 'expandIconWrapper']);\nexport default accordionSummaryClasses;","'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 ButtonBase from \"../ButtonBase/index.js\";\nimport AccordionContext from \"../Accordion/AccordionContext.js\";\nimport accordionSummaryClasses, { getAccordionSummaryUtilityClass } from \"./accordionSummaryClasses.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 expanded,\n disabled,\n disableGutters\n } = ownerState;\n const slots = {\n root: ['root', expanded && 'expanded', disabled && 'disabled', !disableGutters && 'gutters'],\n focusVisible: ['focusVisible'],\n content: ['content', expanded && 'expanded', !disableGutters && 'contentGutters'],\n expandIconWrapper: ['expandIconWrapper', expanded && 'expanded']\n };\n return composeClasses(slots, getAccordionSummaryUtilityClass, classes);\n};\nconst AccordionSummaryRoot = styled(ButtonBase, {\n name: 'MuiAccordionSummary',\n slot: 'Root'\n})(memoTheme(({\n theme\n}) => {\n const transition = {\n duration: theme.transitions.duration.shortest\n };\n return {\n display: 'flex',\n width: '100%',\n minHeight: 48,\n padding: theme.spacing(0, 2),\n transition: theme.transitions.create(['min-height', 'background-color'], transition),\n [`&.${accordionSummaryClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette.action.focus\n },\n [`&.${accordionSummaryClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity\n },\n [`&:hover:not(.${accordionSummaryClasses.disabled})`]: {\n cursor: 'pointer'\n },\n variants: [{\n props: props => !props.disableGutters,\n style: {\n [`&.${accordionSummaryClasses.expanded}`]: {\n minHeight: 64\n }\n }\n }]\n };\n}));\nconst AccordionSummaryContent = styled('span', {\n name: 'MuiAccordionSummary',\n slot: 'Content'\n})(memoTheme(({\n theme\n}) => ({\n display: 'flex',\n textAlign: 'start',\n flexGrow: 1,\n margin: '12px 0',\n variants: [{\n props: props => !props.disableGutters,\n style: {\n transition: theme.transitions.create(['margin'], {\n duration: theme.transitions.duration.shortest\n }),\n [`&.${accordionSummaryClasses.expanded}`]: {\n margin: '20px 0'\n }\n }\n }]\n})));\nconst AccordionSummaryExpandIconWrapper = styled('span', {\n name: 'MuiAccordionSummary',\n slot: 'ExpandIconWrapper'\n})(memoTheme(({\n theme\n}) => ({\n display: 'flex',\n color: (theme.vars || theme).palette.action.active,\n transform: 'rotate(0deg)',\n transition: theme.transitions.create('transform', {\n duration: theme.transitions.duration.shortest\n }),\n [`&.${accordionSummaryClasses.expanded}`]: {\n transform: 'rotate(180deg)'\n }\n})));\nconst AccordionSummary = /*#__PURE__*/React.forwardRef(function AccordionSummary(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiAccordionSummary'\n });\n const {\n children,\n className,\n expandIcon,\n focusVisibleClassName,\n onClick,\n slots,\n slotProps,\n ...other\n } = props;\n const {\n disabled = false,\n disableGutters,\n expanded,\n toggle\n } = React.useContext(AccordionContext);\n const handleChange = event => {\n if (toggle) {\n toggle(event);\n }\n if (onClick) {\n onClick(event);\n }\n };\n const ownerState = {\n ...props,\n expanded,\n disabled,\n disableGutters\n };\n const classes = useUtilityClasses(ownerState);\n const externalForwardedProps = {\n slots,\n slotProps\n };\n const [RootSlot, rootSlotProps] = useSlot('root', {\n ref,\n shouldForwardComponentProp: true,\n className: clsx(classes.root, className),\n elementType: AccordionSummaryRoot,\n externalForwardedProps: {\n ...externalForwardedProps,\n ...other\n },\n ownerState,\n additionalProps: {\n focusRipple: false,\n disableRipple: true,\n disabled,\n 'aria-expanded': expanded,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName)\n },\n getSlotProps: handlers => ({\n ...handlers,\n onClick: event => {\n handlers.onClick?.(event);\n handleChange(event);\n }\n })\n });\n const [ContentSlot, contentSlotProps] = useSlot('content', {\n className: classes.content,\n elementType: AccordionSummaryContent,\n externalForwardedProps,\n ownerState\n });\n const [ExpandIconWrapperSlot, expandIconWrapperSlotProps] = useSlot('expandIconWrapper', {\n className: classes.expandIconWrapper,\n elementType: AccordionSummaryExpandIconWrapper,\n externalForwardedProps,\n ownerState\n });\n return /*#__PURE__*/_jsxs(RootSlot, {\n ...rootSlotProps,\n children: [/*#__PURE__*/_jsx(ContentSlot, {\n ...contentSlotProps,\n children: children\n }), expandIcon && /*#__PURE__*/_jsx(ExpandIconWrapperSlot, {\n ...expandIconWrapperSlotProps,\n children: expandIcon\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? AccordionSummary.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 icon to display as the expand indicator.\n */\n expandIcon: PropTypes.node,\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 onClick: PropTypes.func,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n content: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n expandIconWrapper: 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 content: PropTypes.elementType,\n expandIconWrapper: 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} : void 0;\nexport default AccordionSummary;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getIconButtonUtilityClass(slot) {\n return generateUtilityClass('MuiIconButton', slot);\n}\nconst iconButtonClasses = generateUtilityClasses('MuiIconButton', ['root', 'disabled', 'colorInherit', 'colorPrimary', 'colorSecondary', 'colorError', 'colorInfo', 'colorSuccess', 'colorWarning', 'edgeStart', 'edgeEnd', 'sizeSmall', 'sizeMedium', 'sizeLarge', 'loading', 'loadingIndicator', 'loadingWrapper']);\nexport default iconButtonClasses;","'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 { unstable_useId as useId } from \"../utils/index.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 ButtonBase from \"../ButtonBase/index.js\";\nimport CircularProgress from \"../CircularProgress/index.js\";\nimport capitalize from \"../utils/capitalize.js\";\nimport iconButtonClasses, { getIconButtonUtilityClass } from \"./iconButtonClasses.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disabled,\n color,\n edge,\n size,\n loading\n } = ownerState;\n const slots = {\n root: ['root', loading && 'loading', disabled && 'disabled', color !== 'default' && `color${capitalize(color)}`, edge && `edge${capitalize(edge)}`, `size${capitalize(size)}`],\n loadingIndicator: ['loadingIndicator'],\n loadingWrapper: ['loadingWrapper']\n };\n return composeClasses(slots, getIconButtonUtilityClass, classes);\n};\nconst IconButtonRoot = styled(ButtonBase, {\n name: 'MuiIconButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.loading && styles.loading, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`], ownerState.edge && styles[`edge${capitalize(ownerState.edge)}`], styles[`size${capitalize(ownerState.size)}`]];\n }\n})(memoTheme(({\n theme\n}) => ({\n textAlign: 'center',\n flex: '0 0 auto',\n fontSize: theme.typography.pxToRem(24),\n padding: 8,\n borderRadius: '50%',\n color: (theme.vars || theme).palette.action.active,\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.shortest\n }),\n variants: [{\n props: props => !props.disableRipple,\n style: {\n '--IconButton-hoverBg': theme.alpha((theme.vars || theme).palette.action.active, (theme.vars || theme).palette.action.hoverOpacity),\n '&:hover': {\n backgroundColor: 'var(--IconButton-hoverBg)',\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n }\n }, {\n props: {\n edge: 'start'\n },\n style: {\n marginLeft: -12\n }\n }, {\n props: {\n edge: 'start',\n size: 'small'\n },\n style: {\n marginLeft: -3\n }\n }, {\n props: {\n edge: 'end'\n },\n style: {\n marginRight: -12\n }\n }, {\n props: {\n edge: 'end',\n size: 'small'\n },\n style: {\n marginRight: -3\n }\n }]\n})), memoTheme(({\n theme\n}) => ({\n variants: [{\n props: {\n color: 'inherit'\n },\n style: {\n color: 'inherit'\n }\n }, ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()) // check all the used fields in the style below\n .map(([color]) => ({\n props: {\n color\n },\n style: {\n color: (theme.vars || theme).palette[color].main\n }\n })), ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()) // check all the used fields in the style below\n .map(([color]) => ({\n props: {\n color\n },\n style: {\n '--IconButton-hoverBg': theme.alpha((theme.vars || theme).palette[color].main, (theme.vars || theme).palette.action.hoverOpacity)\n }\n })), {\n props: {\n size: 'small'\n },\n style: {\n padding: 5,\n fontSize: theme.typography.pxToRem(18)\n }\n }, {\n props: {\n size: 'large'\n },\n style: {\n padding: 12,\n fontSize: theme.typography.pxToRem(28)\n }\n }],\n [`&.${iconButtonClasses.disabled}`]: {\n backgroundColor: 'transparent',\n color: (theme.vars || theme).palette.action.disabled\n },\n [`&.${iconButtonClasses.loading}`]: {\n color: 'transparent'\n }\n})));\nconst IconButtonLoadingIndicator = styled('span', {\n name: 'MuiIconButton',\n slot: 'LoadingIndicator'\n})(({\n theme\n}) => ({\n display: 'none',\n position: 'absolute',\n visibility: 'visible',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n color: (theme.vars || theme).palette.action.disabled,\n variants: [{\n props: {\n loading: true\n },\n style: {\n display: 'flex'\n }\n }]\n}));\n\n/**\n * Refer to the [Icons](/material-ui/icons/) section of the documentation\n * regarding the available icon options.\n */\nconst IconButton = /*#__PURE__*/React.forwardRef(function IconButton(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiIconButton'\n });\n const {\n edge = false,\n children,\n className,\n color = 'default',\n disabled = false,\n disableFocusRipple = false,\n size = 'medium',\n id: idProp,\n loading = null,\n loadingIndicator: loadingIndicatorProp,\n ...other\n } = props;\n const loadingId = useId(idProp);\n const loadingIndicator = loadingIndicatorProp ?? /*#__PURE__*/_jsx(CircularProgress, {\n \"aria-labelledby\": loadingId,\n color: \"inherit\",\n size: 16\n });\n const ownerState = {\n ...props,\n edge,\n color,\n disabled,\n disableFocusRipple,\n loading,\n loadingIndicator,\n size\n };\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(IconButtonRoot, {\n id: loading ? loadingId : idProp,\n className: clsx(classes.root, className),\n centerRipple: true,\n focusRipple: !disableFocusRipple,\n disabled: disabled || loading,\n ref: ref,\n ...other,\n ownerState: ownerState,\n children: [typeof loading === 'boolean' &&\n /*#__PURE__*/\n // use plain HTML span to minimize the runtime overhead\n _jsx(\"span\", {\n className: classes.loadingWrapper,\n style: {\n display: 'contents'\n },\n children: /*#__PURE__*/_jsx(IconButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loading && loadingIndicator\n })\n }), children]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? IconButton.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 icon to display.\n */\n children: chainPropTypes(PropTypes.node, props => {\n const found = React.Children.toArray(props.children).some(child => /*#__PURE__*/React.isValidElement(child) && child.props.onClick);\n if (found) {\n return new Error(['MUI: You are providing an onClick event listener to a child of a button element.', 'Prefer applying it to the IconButton directly.', 'This guarantees that the whole <button> will be responsive to click events.'].join('\\n'));\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 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 'default'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), 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 * 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 * @ignore\n */\n id: PropTypes.string,\n /**\n * If `true`, the loading indicator is visible and the button is disabled.\n * If `true | false`, the loading wrapper is always rendered before the children to prevent [Google Translation Crash](https://github.com/mui/material-ui/issues/27853).\n * @default null\n */\n loading: PropTypes.bool,\n /**\n * Element placed before the children if the button is in loading state.\n * The node should contain an element with `role=\"progressbar\"` with an accessible name.\n * By default, it renders a `CircularProgress` that is labeled by the button itself.\n * @default <CircularProgress color=\"inherit\" size={16} />\n */\n loadingIndicator: PropTypes.node,\n /**\n * The size of the component.\n * `small` is equivalent to the dense button styling.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['small', 'medium', 'large']), 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 IconButton;","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;","'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;","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;","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 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');","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCardActionsUtilityClass(slot) {\n return generateUtilityClass('MuiCardActions', slot);\n}\nconst cardActionsClasses = generateUtilityClasses('MuiCardActions', ['root', 'spacing']);\nexport default cardActionsClasses;","'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 { getCardActionsUtilityClass } from \"./cardActionsClasses.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, getCardActionsUtilityClass, classes);\n};\nconst CardActionsRoot = styled('div', {\n name: 'MuiCardActions',\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 variants: [{\n props: {\n disableSpacing: false\n },\n style: {\n '& > :not(style) ~ :not(style)': {\n marginLeft: 8\n }\n }\n }]\n});\nconst CardActions = /*#__PURE__*/React.forwardRef(function CardActions(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiCardActions'\n });\n const {\n disableSpacing = false,\n className,\n ...other\n } = props;\n const ownerState = {\n ...props,\n disableSpacing\n };\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CardActionsRoot, {\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref,\n ...other\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? CardActions.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 CardActions;","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 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 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 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;","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;","'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 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;","'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;","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 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;","'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';\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;","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 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 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 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\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;","'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;","'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 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 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');","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;","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 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 \"react\";\nimport e from \"prop-types\";\nimport { Button as t, Dialog as n, DialogActions as r, DialogContent as i, DialogContentText as a, DialogTitle as o } from \"@mui/material\";\nimport { styled as s } from \"@mui/material/styles\";\nimport { jsx as c, jsxs as l } from \"react/jsx-runtime\";\n//#region src/alert-dialog.tsx\nvar u = s(o)(() => ({ fontSize: \"max(1.25rem, 18px)\" })), d = s(a)(() => ({ fontSize: \"max(1rem, 14px)\" })), f = ({ text: e, title: a, onClose: o, onConfirm: s, open: f, onCloseText: p, onConfirmText: m, disableAutoFocus: h, disableEnforceFocus: g, disableRestoreFocus: _ }) => /* @__PURE__ */ l(n, {\n\topen: f,\n\tdisableAutoFocus: h,\n\tdisableEnforceFocus: g,\n\tdisableRestoreFocus: _,\n\tonClose: o,\n\tchildren: [\n\t\ta && /* @__PURE__ */ c(u, { children: a }),\n\t\te && /* @__PURE__ */ c(i, { children: /* @__PURE__ */ c(d, { children: e }) }),\n\t\t/* @__PURE__ */ l(r, { children: [o && /* @__PURE__ */ c(t, {\n\t\t\tonClick: o,\n\t\t\tcolor: \"primary\",\n\t\t\tchildren: p\n\t\t}), s && /* @__PURE__ */ c(t, {\n\t\t\tautoFocus: !0,\n\t\t\tonClick: s,\n\t\t\tcolor: \"primary\",\n\t\t\tchildren: m\n\t\t})] })\n\t]\n});\nf.defaultProps = {\n\tonCloseText: \"CANCEL\",\n\tonConfirmText: \"OK\",\n\tdisableAutoFocus: !1,\n\tdisableEnforceFocus: !1,\n\tdisableRestoreFocus: !1\n}, f.propTypes = {\n\ttext: e.oneOfType([e.string, e.object]),\n\ttitle: e.string,\n\tonClose: e.func,\n\tonConfirm: e.func,\n\topen: e.bool,\n\tonConfirmText: e.string,\n\tonCloseText: e.string,\n\tdisableAutoFocus: e.bool,\n\tdisableEnforceFocus: e.bool,\n\tdisableRestoreFocus: e.bool\n};\n//#endregion\nexport { f 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/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 \"../radio-with-label.js\";\nimport \"react\";\nimport t from \"prop-types\";\nimport { styled as n } from \"@mui/material/styles\";\nimport { jsx as r } from \"react/jsx-runtime\";\n//#region src/feedback-config/group.tsx\nvar i = n(\"div\")(() => ({\n\tdisplay: \"flex\",\n\talignItems: \"center\"\n})), a = n(\"div\")(() => ({\n\tdisplay: \"flex\",\n\talignItems: \"center\"\n})), o = n(e)(({ theme: e }) => ({ \"& .MuiFormControlLabel-label\": { fontSize: e.typography.fontSize - 2 } })), s = (e) => {\n\tlet { feedbackLabels: t, value: n, className: s, onChange: c, keys: l } = e;\n\treturn /* @__PURE__ */ r(i, {\n\t\tclassName: s,\n\t\tchildren: l.map((e) => /* @__PURE__ */ r(a, { children: /* @__PURE__ */ r(o, {\n\t\t\tvalue: e,\n\t\t\tchecked: n === e,\n\t\t\tonChange: (e) => c(e.currentTarget.value),\n\t\t\tlabel: t[e]\n\t\t}) }, e))\n\t});\n};\ns.propTypes = {\n\tclassName: t.string,\n\tfeedbackLabels: t.object.isRequired,\n\tvalue: t.string.isRequired,\n\tkeys: t.arrayOf(t.string),\n\tonChange: t.func\n};\n//#endregion\nexport { s as default };\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","//#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 { __exportAll as e } from \"../_virtual/_rolldown/runtime.js\";\n//#region src/keys/comparison.ts\nvar t = /* @__PURE__ */ e({\n\tgreaterThan: () => i,\n\tgreaterThanEqual: () => o,\n\tlessThan: () => r,\n\tlessThanEqual: () => a\n}), n = (e) => ({\n\t...e,\n\tcategory: \"comparison\"\n}), r = n({\n\tname: \"Less than\",\n\tlatex: \"<\",\n\tcommand: \"\\\\lt\"\n}), i = n({\n\tname: \"Greater than\",\n\tlatex: \">\",\n\tcommand: \"\\\\gt\"\n}), a = n({\n\tname: \"Less than or equal\",\n\tlatex: \"\\\\le\",\n\tsymbol: \"<=\",\n\tcommand: \"\\\\le\",\n\tariaLabel: \"less than or equal to\"\n}), o = n({\n\tname: \"Greater than or equal\",\n\tsymbol: \">=\",\n\tcommand: \"\\\\ge\",\n\tlatex: \"\\\\ge\"\n});\n//#endregion\nexport { t as comparison_exports, i as greaterThan, o as greaterThanEqual, r as lessThan, a as lessThanEqual };\n","import { flatten as e, times as t } from \"@pie-element/shared-lodash\";\n//#region src/keys/utils.ts\nvar n = (e) => (t) => ({\n\t...t,\n\tcategory: e\n}), r = (e = []) => {\n\tlet n = [];\n\tt(5, () => n.push([]));\n\tlet r = e.length, i = 0, a = 0;\n\tfor (; a < r;) n[i++].push(e[a++]), i === 5 && (i = 0);\n\treturn n;\n}, i = (t) => (n) => {\n\tlet r = e(t), i = r.some((e) => e.latex === n.latex), a = r.some((e) => e.name === n.name);\n\treturn !i && !a;\n}, a = (e = [], n = []) => {\n\tn = n.filter(i(e));\n\tlet a = [];\n\tt(5 - e.length, () => e.push([])), t(5, () => a.push([]));\n\tlet o = r(n);\n\tfor (let t = 0; t < 5; t++) a[t] = [...e[t], ...o[t]];\n\treturn a;\n};\n//#endregion\nexport { a as extendKeySet, n as mkSet, r as transformToKeySetStructure };\n","import { __exportAll as e } from \"../_virtual/_rolldown/runtime.js\";\nimport { mkSet as t } from \"./utils.js\";\n//#region src/keys/vars.ts\nvar n = /* @__PURE__ */ e({\n\ttheta: () => o,\n\tx: () => i,\n\ty: () => a\n}), r = t(\"vars\"), i = r({\n\tname: \"X\",\n\tlatex: \"x\",\n\twrite: \"x\"\n}), a = r({\n\tname: \"Y\",\n\tlatex: \"y\",\n\twrite: \"y\"\n}), o = r({\n\tname: \"Theta\",\n\tlatex: \"\\\\theta\",\n\twrite: \"\\\\theta\"\n});\n//#endregion\nexport { o as theta, n as vars_exports, i as x, a as y };\n","import { __exportAll as e } from \"../_virtual/_rolldown/runtime.js\";\nimport { mkSet as t } from \"./utils.js\";\n//#region src/keys/fractions.ts\nvar n = /* @__PURE__ */ e({\n\tblankOverBlank: () => i,\n\txBlankBlank: () => o,\n\txOverBlank: () => a\n}), r = t(\"fractions\"), i = r({\n\tname: \"blank/blank\",\n\tlatex: \"\\\\frac{}{}\",\n\tcommand: \"\\\\frac\",\n\tariaLabel: \"fraction\"\n}), a = r({\n\tlatex: \"\\\\frac{x}{ }\",\n\tname: \"X/blank\",\n\tlabel: \"x/[]\",\n\tcommand: \"/\",\n\tariaLabel: \"x over blank fraction\"\n}), o = r({\n\tname: \"X (blank/blank)\",\n\tlatex: \"x\\\\frac{}{}\",\n\tlabel: \"x([]/[])\",\n\tcommand: \"\\\\frac\",\n\tariaLabel: \"mixed number\"\n});\n//#endregion\nexport { i as blankOverBlank, n as fractions_exports, o as xBlankBlank, a as xOverBlank };\n","import { __exportAll as e } from \"../_virtual/_rolldown/runtime.js\";\nimport { mkSet as t } from \"./utils.js\";\n//#region src/keys/exponent.ts\nvar n = /* @__PURE__ */ e({\n\tnthRoot: () => s,\n\tsquareRoot: () => o,\n\tsquared: () => i,\n\txToPowerOfN: () => a\n}), r = t(\"exponent\"), i = r({\n\tname: \"Squared\",\n\tlatex: \"x^2\",\n\twrite: \"^2\"\n}), a = r({\n\tname: \"X to the power of n\",\n\tlatex: \"x^{}\",\n\tcommand: \"^\",\n\tariaLabel: \"exponent\"\n}), o = r({\n\tname: \"Square root\",\n\tlatex: \"\\\\sqrt{}\",\n\tcommand: \"\\\\sqrt\"\n}), s = r({\n\tname: \"Nth root\",\n\tlatex: \"\\\\sqrt[{}]{}\",\n\tcommand: \"\\\\nthroot\"\n});\n//#endregion\nexport { n as exponent_exports, s as nthRoot, o as squareRoot, i as squared, a as xToPowerOfN };\n","import { __exportAll as e } from \"../_virtual/_rolldown/runtime.js\";\nimport { mkSet as t } from \"./utils.js\";\n//#region src/keys/misc.ts\nvar n = /* @__PURE__ */ e({\n\tabsValue: () => a,\n\tapprox: () => l,\n\tbrackets: () => s,\n\tnApprox: () => u,\n\tnotEqual: () => d,\n\tnotSimilar: () => p,\n\tparenthesis: () => o,\n\tpercentage: () => c,\n\tplusMinus: () => i,\n\tsimilar: () => f\n}), r = t(\"misc\"), i = r({\n\tname: \"Plus or Minus\",\n\tlatex: \"\\\\pm\",\n\twrite: \"\\\\pm\"\n}), a = r({\n\tname: \"Absolute Value\",\n\tlatex: \"\\\\abs{}\",\n\tsymbol: \"| |\",\n\tcommand: \"|\"\n}), o = r({\n\tname: \"Parenthesis\",\n\tlatex: \"\\\\left(\\\\right)\",\n\tsymbol: \"( )\",\n\tcommand: \"(\"\n}), s = r({\n\tname: \"Brackets\",\n\tlatex: \"\\\\left[\\\\right]\",\n\tsymbol: \"[ ]\",\n\tcommand: \"[\"\n}), c = r({\n\tname: \"Percent\",\n\tlatex: \"%\",\n\tcommand: \"%\"\n}), l = r({\n\tlatex: \"\\\\approx\",\n\tcommand: \"\\\\approx\",\n\tariaLabel: \"Approximately equal to\"\n}), u = r({\n\tlatex: \"\\\\napprox\",\n\tcommand: \"\\\\napprox\",\n\tariaLabel: \"Not pproximately equal to\"\n}), d = r({\n\tlatex: \"\\\\neq\",\n\tcommand: \"\\\\neq\",\n\tariaLabel: \"Not equals\"\n}), f = r({\n\tlatex: \"\\\\sim\",\n\tcommand: \"\\\\sim\",\n\tariaLabel: \"Similar\"\n}), p = r({\n\tlatex: \"\\\\nsim\",\n\tcommand: \"\\\\nsim\",\n\tariaLabel: \"Not similar\"\n});\n//#endregion\nexport { a as absValue, l as approx, s as brackets, n as misc_exports, u as nApprox, d as notEqual, p as notSimilar, o as parenthesis, c as percentage, i as plusMinus, f as similar };\n","import { __exportAll as e } from \"../_virtual/_rolldown/runtime.js\";\nimport { mkSet as t } from \"./utils.js\";\n//#region src/keys/constants.ts\nvar n = /* @__PURE__ */ e({\n\teulers: () => a,\n\thalfInfinity: () => s,\n\tinfinity: () => o,\n\tpi: () => i\n}), r = t(\"constants\"), i = r({\n\tname: \"Pi\",\n\tlabel: \"π\",\n\tlatex: \"\\\\pi\",\n\tcommand: \"\\\\pi\",\n\tcategory: \"constants\"\n}), a = r({\n\tname: \"Eulers\",\n\tlabel: \"e\",\n\tlatex: \"e\",\n\tcommand: \"e\",\n\tcategory: \"constants\"\n}), o = r({\n\tname: \"Infinity\",\n\tlabel: \"\\\\infty\",\n\tlatex: \"\\\\infty\",\n\tcommand: \"\\\\infty\",\n\tcategory: \"constants\"\n}), s = r({\n\tname: \"Half Infinity\",\n\tlabel: \"\\\\propto\",\n\tlatex: \"\\\\propto\",\n\tcommand: \"\\\\propto\",\n\tcategory: \"constants\"\n});\n//#endregion\nexport { n as constants_exports, a as eulers, s as halfInfinity, o as infinity, i as pi };\n","import { __exportAll as e } from \"../_virtual/_rolldown/runtime.js\";\nimport { mkSet as t } from \"./utils.js\";\n//#region src/keys/trigonometry.ts\nvar n = /* @__PURE__ */ e({\n\tcos: () => a,\n\tcot: () => l,\n\tcsc: () => c,\n\tsec: () => s,\n\tsin: () => i,\n\ttan: () => o\n}), r = t(\"trigonometry\"), i = r({\n\tname: \"sine\",\n\tlabel: \"sin\",\n\tcommand: \"\\\\sin\",\n\tlatex: \"\\\\sin\"\n}), a = r({\n\tname: \"cosine\",\n\tlabel: \"cos\",\n\tcommand: \"\\\\cos\",\n\tlatex: \"\\\\cos\"\n}), o = r({\n\tname: \"tanget\",\n\tlabel: \"tan\",\n\tcommand: \"\\\\tan\",\n\tlatex: \"\\\\tan\"\n}), s = r({\n\tname: \"secant\",\n\tlabel: \"sec\",\n\tcommand: \"\\\\sec\",\n\tlatex: \"\\\\sec\"\n}), c = r({\n\tname: \"cosecant\",\n\tlabel: \"csc\",\n\tcommand: \"\\\\csc\",\n\tlatex: \"\\\\csc\"\n}), l = r({\n\tname: \"cotangent\",\n\tlabel: \"cot\",\n\tcommand: \"\\\\cot\",\n\tlatex: \"\\\\cot\"\n});\n//#endregion\nexport { a as cos, l as cot, c as csc, s as sec, i as sin, o as tan, n as trigonometry_exports };\n","import { __exportAll as e } from \"../_virtual/_rolldown/runtime.js\";\n//#region src/keys/geometry.ts\nvar t = /* @__PURE__ */ e({\n\tangle: () => u,\n\tcircledDot: () => g,\n\tcongruentTo: () => y,\n\tdegree: () => _,\n\tdoublePrimeArcSecond: () => S,\n\tleftArrow: () => C,\n\tleftrightArrow: () => T,\n\tmeasureOfAngle: () => f,\n\tnotCongruentTo: () => b,\n\tnotParallel: () => c,\n\toverArc: () => d,\n\toverLeftRightArrow: () => a,\n\toverRightArrow: () => i,\n\toverline: () => r,\n\tparallel: () => s,\n\tparallelogram: () => h,\n\tperpindicular: () => l,\n\tprimeArcminute: () => x,\n\trightArrow: () => w,\n\tsegment: () => o,\n\tsimilarTo: () => v,\n\tsquare: () => m,\n\ttriangle: () => p\n}), n = (e) => ({\n\t...e,\n\tcategory: \"geometry\"\n}), r = n({\n\tname: \"Line\",\n\tlatex: \"\\\\overline{}\",\n\tcommand: \"\\\\overline\"\n}), i = n({\n\tname: \"Ray\",\n\tlatex: \"\\\\overrightarrow{}\",\n\tcommand: \"\\\\overrightarrow\"\n}), a = n({\n\tname: \"Segment\",\n\tlatex: \"\\\\overleftrightarrow{\\\\overline{}}\",\n\tsymbol: \"AB\",\n\tcommand: \"\\\\overleftrightarrow\"\n}), o = n({\n\tname: \"Segment\",\n\tlatex: \"\\\\overleftrightarrow{AB}\",\n\twrite: \"\\\\overleftrightarrow{AB}\",\n\tlabel: \"AB\"\n}), s = n({\n\tname: \"Parallel\",\n\tlatex: \"\\\\parallel\",\n\tcommand: \"\\\\parallel\"\n}), c = n({\n\tname: \"Not Parallel\",\n\tlatex: \"\\\\nparallel\",\n\tcommand: \"\\\\nparallel\"\n}), l = n({\n\tname: \"Perpendicular\",\n\tlatex: \"\\\\perp\",\n\tcommand: \"\\\\perpendicular\"\n}), u = n({\n\tname: \"Angle\",\n\tlatex: \"\\\\angle\",\n\tcommand: \"\\\\angle\"\n}), d = n({\n\tname: \"Over arc\",\n\tlatex: \"\\\\overarc{\\\\overline{}}\",\n\tcommand: \"\\\\overarc\"\n}), f = n({\n\tname: \"Measured Angle\",\n\tlatex: \"\\\\measuredangle\",\n\tcommand: [\"m\", \"\\\\angle\"]\n}), p = n({\n\tname: \"Triangle\",\n\tlatex: \"\\\\triangle\",\n\tcommand: \"\\\\triangle\"\n}), m = n({\n\tname: \"Square\",\n\tlatex: \"\\\\square\",\n\tcommand: \"\\\\square\"\n}), h = n({\n\tname: \"Parallelogram\",\n\tlatex: \"\\\\parallelogram\",\n\tcommand: \"\\\\parallelogram\"\n}), g = n({\n\tname: \"Circled Dot\",\n\tlatex: \"\\\\odot\",\n\tcommand: \"\\\\odot\"\n}), _ = n({\n\tname: \"Degree\",\n\tlatex: \"\\\\degree\",\n\tcommand: \"\\\\degree\"\n}), v = n({\n\tname: \"Similar\",\n\tcommand: \"\\\\sim\",\n\tlatex: \"\\\\sim\"\n}), y = n({\n\tname: \"Congruent To\",\n\tcommand: \"\\\\cong\",\n\tlatex: \"\\\\cong\"\n}), b = n({\n\tname: \"Not Congruent To\",\n\tcommand: \"\\\\ncong\",\n\tlatex: \"\\\\ncong\"\n}), x = n({\n\tname: \"Prime\",\n\tlabel: \"pam\",\n\tlatex: \"'\",\n\twrite: \"'\"\n}), S = n({\n\tname: \"Double Prime\",\n\tlatex: \"''\",\n\twrite: \"''\"\n}), C = n({\n\tname: \"Left Arrow\",\n\tlatex: \"\\\\leftarrow\",\n\tcommand: \"\\\\leftarrow\"\n}), w = n({\n\tname: \"Right Arrow\",\n\tlatex: \"\\\\rightarrow\",\n\tcommand: \"\\\\rightarrow\"\n}), T = n({\n\tname: \"Left and Right Arrow\",\n\tlatex: \"\\\\leftrightarrow\",\n\tcommand: \"\\\\leftrightarrow\"\n});\n//#endregion\nexport { u as angle, g as circledDot, y as congruentTo, _ as degree, S as doublePrimeArcSecond, t as geometry_exports, C as leftArrow, T as leftrightArrow, f as measureOfAngle, b as notCongruentTo, c as notParallel, d as overArc, a as overLeftRightArrow, i as overRightArrow, r as overline, s as parallel, h as parallelogram, l as perpindicular, x as primeArcminute, w as rightArrow, o as segment, v as similarTo, m as square, p as triangle };\n","import { __exportAll as e } from \"../_virtual/_rolldown/runtime.js\";\nimport { mkSet as t } from \"./utils.js\";\n//#region src/keys/operators.ts\nvar n = /* @__PURE__ */ e({ circleDot: () => r }), r = t(\"operators\")({\n\tname: \"CircleDot\",\n\tlabel: \"⋅\",\n\twrite: \"\\\\cdot\",\n\tariaLabel: \"Dot multiplier\"\n});\n//#endregion\nexport { r as circleDot, n as operators_exports };\n","import { __exportAll as e } from \"../_virtual/_rolldown/runtime.js\";\nimport { mkSet as t } from \"./utils.js\";\n//#region src/keys/log.ts\nvar n = /* @__PURE__ */ e({\n\tln: () => o,\n\tlog: () => i,\n\tlogSubscript: () => a\n}), r = t(\"log\"), i = r({\n\tname: \"Log\",\n\tlabel: \"log\",\n\tcommand: \"\\\\log\",\n\tlatex: \"\\\\log\"\n}), a = r({\n\tname: \"log base n\",\n\tlabel: \"log s\",\n\tlatex: \"\\\\log_{}\",\n\tcommand: [\"\\\\log\", \"_\"]\n}), o = r({\n\tname: \"natural log\",\n\tlabel: \"ln\",\n\tcommand: \"\\\\ln\",\n\tlatex: \"\\\\ln\"\n});\n//#endregion\nexport { o as ln, i as log, a as logSubscript, n as log_exports };\n","import { __exportAll as e } from \"../_virtual/_rolldown/runtime.js\";\nimport { mkSet as t } from \"./utils.js\";\n//#region src/keys/sub-sup.ts\nvar n = /* @__PURE__ */ e({\n\tsubscript: () => a,\n\tsuperscript: () => i\n}), r = t(\"sub-sup\"), i = r({\n\tname: \"Superscript\",\n\tlatex: \"x^{}\",\n\tcommand: \"^\"\n}), a = r({\n\tname: \"Subscript\",\n\tlatex: \"x_{}\",\n\tcommand: \"_\"\n});\n//#endregion\nexport { n as sub_sup_exports, a as subscript, i as superscript };\n","import { __exportAll as e } from \"../_virtual/_rolldown/runtime.js\";\nimport { mkSet as t } from \"./utils.js\";\n//#region src/keys/statistics.ts\nvar n = /* @__PURE__ */ e({\n\tmu: () => o,\n\tsigma: () => s,\n\tsmallSigma: () => c,\n\txBar: () => i,\n\tyBar: () => a\n}), r = t(\"statistics\"), i = r({\n\tname: \"X Bar\",\n\tlabel: \"x̄\",\n\tlatex: \"\\\\overline{x}\",\n\twrite: \"\\\\overline{x}\"\n}), a = r({\n\tname: \"Y Bar\",\n\tlatex: \"\\\\overline{y}\",\n\twrite: \"\\\\overline{y}\"\n}), o = r({\n\tname: \"mu\",\n\tlabel: \"mu\",\n\tlatex: \"\\\\mu\",\n\twrite: \"\\\\mu\"\n}), s = r({\n\tname: \"Sigma\",\n\tariaLabel: \"Uppercase Sigma\",\n\tlabel: \"\\\\Sigma\",\n\tlatex: \"\\\\Sigma\",\n\twrite: \"\\\\Sigma\"\n}), c = r({\n\tname: \"sigma\",\n\tariaLabel: \"Lowercase Sigma\",\n\tlabel: \"\\\\sigma\",\n\tlatex: \"\\\\sigma\",\n\twrite: \"\\\\sigma\"\n});\n//#endregion\nexport { o as mu, s as sigma, c as smallSigma, n as statistics_exports, i as xBar, a as yBar };\n","import { __exportAll as e } from \"../_virtual/_rolldown/runtime.js\";\nimport { mkSet as t } from \"./utils.js\";\n//#region src/keys/basic-operators.ts\nvar n = /* @__PURE__ */ e({\n\tdivide: () => s,\n\tequals: () => i,\n\tminus: () => o,\n\tmultiply: () => c,\n\tplus: () => a\n}), r = t(\"operators\"), i = r({\n\twrite: \"=\",\n\tlabel: \"=\"\n}), a = r({\n\twrite: \"+\",\n\tlabel: \"+\"\n}), o = r({\n\twrite: \"−\",\n\tlabel: \"−\"\n}), s = r({\n\tname: \"divide\",\n\tlabel: \"÷\",\n\tcommand: \"\\\\divide\",\n\totherNotation: \"\\\\div\"\n}), c = r({\n\tname: \"multiply\",\n\tlabel: \"×\",\n\tcommand: \"\\\\times\"\n});\n//#endregion\nexport { n as basic_operators_exports, s as divide, i as equals, o as minus, c as multiply, a as plus };\n","import { __exportAll as e } from \"../_virtual/_rolldown/runtime.js\";\nimport { mkSet as t } from \"./utils.js\";\n//#region src/keys/matrices.ts\nvar n = /* @__PURE__ */ e({\n\tdoubleCellMatrix: () => a,\n\tsingleCellMatrix: () => i\n}), r = t(\"matrices\"), i = r({\n\tname: \"Single Cell Matrix\",\n\tlabel: \"[ ]\",\n\twrite: \"\\\\begin{pmatrix}\\\\end{pmatrix}\"\n}), a = r({\n\tname: \"Double Cell Matrix\",\n\tlabel: \"[ ] [ ] \\\\\\\\newline [ ] [ ]\",\n\twrite: \"\\\\begin{bmatrix}&\\\\\\\\&\\\\end{bmatrix}\"\n});\n//#endregion\nexport { a as doubleCellMatrix, n as matrices_exports, i as singleCellMatrix };\n","import { times as e } from \"@pie-element/shared-lodash\";\n//#region src/keys/digits.ts\nvar t = {\n\t0: \"zero\",\n\t1: \"one\",\n\t2: \"two\",\n\t3: \"three\",\n\t4: \"four\",\n\t5: \"five\",\n\t6: \"six\",\n\t7: \"seven\",\n\t8: \"eight\",\n\t9: \"nine\"\n}, n = e(10, String).map((e) => ({\n\tname: t[e],\n\twrite: e,\n\tlabel: e,\n\tcategory: \"digit\"\n})).reduce((e, t) => (e[t.name] = t, e), {\n\tcomma: {\n\t\tname: \"comma\",\n\t\tlabel: \",\",\n\t\twrite: \",\",\n\t\tcategory: \"digit\"\n\t},\n\tdecimalPoint: {\n\t\tname: \"decimal-point\",\n\t\tlabel: \".\",\n\t\twrite: \".\",\n\t\tcategory: \"digit\"\n\t}\n});\n//#endregion\nexport { n as default };\n","import { mkSet as e } from \"./utils.js\";\n//#region src/keys/logic.ts\nvar t = e(\"logic\"), n = t({\n\tname: \"Therefore\",\n\tlabel: \"∴\",\n\twrite: \"∴\"\n}), r = t({\n\tname: \"Long division\",\n\tlatex: \"\\\\longdiv{}\",\n\tcommand: \"\\\\longdiv\"\n});\n//#endregion\nexport { r as longDivision, n as therefore };\n","import { mkSet as e } from \"./utils.js\";\n//#region src/keys/navigation.ts\nvar t = e(\"navigation\"), n = t({\n\tlabel: \"◀\",\n\tkeystroke: \"Left\",\n\tariaLabel: \"Move cursor left\"\n}), r = t({\n\tlabel: \"▶\",\n\tkeystroke: \"Right\",\n\tariaLabel: \"Move cursor right\"\n});\n//#endregion\nexport { n as left, r as right };\n","//#region src/keys/edit.ts\nvar e = {\n\tlabel: \"⌫\",\n\tcategory: \"edit\",\n\tkeystroke: \"Backspace\",\n\tariaLabel: \"Delete\"\n};\n//#endregion\nexport { e as del };\n","import { comparison_exports as e, greaterThan as t, greaterThanEqual as n, lessThan as r, lessThanEqual as i } from \"./comparison.js\";\nimport { theta as a, vars_exports as ee, x as o, y as s } from \"./vars.js\";\nimport { blankOverBlank as c, fractions_exports as te, xBlankBlank as l, xOverBlank as u } from \"./fractions.js\";\nimport { exponent_exports as ne, nthRoot as d, squareRoot as f, squared as p, xToPowerOfN as m } from \"./exponent.js\";\nimport { absValue as h, brackets as g, misc_exports as re, notEqual as _, notSimilar as ie, parenthesis as v, percentage as ae, plusMinus as y } from \"./misc.js\";\nimport { constants_exports as oe, eulers as se, halfInfinity as ce, infinity as le, pi as b } from \"./constants.js\";\nimport { cos as x, cot as S, csc as C, sec as w, sin as T, tan as E, trigonometry_exports as ue } from \"./trigonometry.js\";\nimport { angle as D, congruentTo as de, degree as O, doublePrimeArcSecond as fe, geometry_exports as pe, leftArrow as me, leftrightArrow as he, measureOfAngle as ge, notCongruentTo as _e, overArc as k, overLeftRightArrow as A, overRightArrow as j, overline as M, parallel as N, perpindicular as P, primeArcminute as F, rightArrow as I, similarTo as ve, square as ye, triangle as L } from \"./geometry.js\";\nimport { circleDot as R, operators_exports as be } from \"./operators.js\";\nimport { ln as z, log as B, logSubscript as V, log_exports as xe } from \"./log.js\";\nimport { sub_sup_exports as Se, subscript as H } from \"./sub-sup.js\";\nimport { mu as U, sigma as W, smallSigma as G, statistics_exports as Ce, xBar as we, yBar as Te } from \"./statistics.js\";\nimport { basic_operators_exports as Ee, divide as De, minus as K, multiply as Oe } from \"./basic-operators.js\";\nimport { matrices_exports as ke } from \"./matrices.js\";\nimport q from \"./digits.js\";\nimport { longDivision as J, therefore as Ae } from \"./logic.js\";\nimport { left as Y, right as X } from \"./navigation.js\";\nimport { del as Z } from \"./edit.js\";\n//#region src/keys/grades.ts\nvar Q = [\n\t[\n\t\tc,\n\t\tae,\n\t\to,\n\t\tp,\n\t\tf\n\t],\n\t[\n\t\tR,\n\t\ts,\n\t\tH,\n\t\tm,\n\t\td\n\t],\n\t[\n\t\ty,\n\t\tr,\n\t\tt,\n\t\ti,\n\t\tn\n\t],\n\t[\n\t\tb,\n\t\ta,\n\t\tv,\n\t\tg,\n\t\th\n\t],\n\t[\n\t\t_,\n\t\tT,\n\t\tx,\n\t\tE,\n\t\tO\n\t]\n], je = (() => {\n\tlet e = [...Q.map((e) => [...e])];\n\treturn e[0].push({\n\t\tname: \"i\",\n\t\tlatex: \"i\",\n\t\twrite: \"i\"\n\t}), e[1].push(B), e[2].push(V), e[3].push(z), e[4].push(se), e;\n})(), Me = (() => {\n\tlet e = [...Q.map((e) => [...e])];\n\treturn e[0].push(U), e[1].push(we), e[2].push(Te), e[3].push(W), e[4].push(G), e;\n})(), $ = [\n\t{\n\t\tpredicate: (e) => e >= 3 && e <= 5,\n\t\tset: [\n\t\t\t[r, t],\n\t\t\t[u, l],\n\t\t\t[o, J],\n\t\t\t[p, m]\n\t\t]\n\t},\n\t{\n\t\tpredicate: (e) => e >= 6 && e <= 7,\n\t\tset: [\n\t\t\t[\n\t\t\t\tO,\n\t\t\t\tr,\n\t\t\t\tt\n\t\t\t],\n\t\t\t[\n\t\t\t\tR,\n\t\t\t\ti,\n\t\t\t\tn\n\t\t\t],\n\t\t\t[\n\t\t\t\to,\n\t\t\t\ts,\n\t\t\t\tp,\n\t\t\t\tm\n\t\t\t],\n\t\t\t[\n\t\t\t\ty,\n\t\t\t\tu,\n\t\t\t\tl,\n\t\t\t\tf\n\t\t\t],\n\t\t\t[\n\t\t\t\tb,\n\t\t\t\tv,\n\t\t\t\th,\n\t\t\t\td\n\t\t\t]\n\t\t]\n\t},\n\t{\n\t\tpredicate: (e) => e >= 8 || e === \"HS\",\n\t\tset: Q\n\t},\n\t{\n\t\tpredicate: \"non-negative-integers\",\n\t\tset: [\n\t\t\t[\n\t\t\t\tq.seven,\n\t\t\t\tq.eight,\n\t\t\t\tq.nine\n\t\t\t],\n\t\t\t[\n\t\t\t\tq.four,\n\t\t\t\tq.five,\n\t\t\t\tq.six\n\t\t\t],\n\t\t\t[\n\t\t\t\tq.one,\n\t\t\t\tq.two,\n\t\t\t\tq.three\n\t\t\t],\n\t\t\t[\n\t\t\t\tq.zero,\n\t\t\t\t{\n\t\t\t\t\tname: \"\",\n\t\t\t\t\tlatex: \"\",\n\t\t\t\t\twrite: \"\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"\",\n\t\t\t\t\tlatex: \"\",\n\t\t\t\t\twrite: \"\"\n\t\t\t\t}\n\t\t\t],\n\t\t\t[\n\t\t\t\tY,\n\t\t\t\tX,\n\t\t\t\tZ\n\t\t\t]\n\t\t]\n\t},\n\t{\n\t\tpredicate: \"integers\",\n\t\tset: [\n\t\t\t[\n\t\t\t\tq.seven,\n\t\t\t\tq.eight,\n\t\t\t\tq.nine\n\t\t\t],\n\t\t\t[\n\t\t\t\tq.four,\n\t\t\t\tq.five,\n\t\t\t\tq.six\n\t\t\t],\n\t\t\t[\n\t\t\t\tq.one,\n\t\t\t\tq.two,\n\t\t\t\tq.three\n\t\t\t],\n\t\t\t[\n\t\t\t\tq.zero,\n\t\t\t\t{\n\t\t\t\t\tname: \"\",\n\t\t\t\t\tlatex: \"\",\n\t\t\t\t\twrite: \"\"\n\t\t\t\t},\n\t\t\t\tK\n\t\t\t],\n\t\t\t[\n\t\t\t\tY,\n\t\t\t\tX,\n\t\t\t\tZ\n\t\t\t]\n\t\t]\n\t},\n\t{\n\t\tpredicate: \"decimals\",\n\t\tset: [\n\t\t\t[\n\t\t\t\tq.seven,\n\t\t\t\tq.eight,\n\t\t\t\tq.nine\n\t\t\t],\n\t\t\t[\n\t\t\t\tq.four,\n\t\t\t\tq.five,\n\t\t\t\tq.six\n\t\t\t],\n\t\t\t[\n\t\t\t\tq.one,\n\t\t\t\tq.two,\n\t\t\t\tq.three\n\t\t\t],\n\t\t\t[\n\t\t\t\tq.zero,\n\t\t\t\tq.decimalPoint,\n\t\t\t\tK\n\t\t\t],\n\t\t\t[\n\t\t\t\tY,\n\t\t\t\tX,\n\t\t\t\tZ\n\t\t\t]\n\t\t]\n\t},\n\t{\n\t\tpredicate: \"fractions\",\n\t\tset: [\n\t\t\t[\n\t\t\t\tq.seven,\n\t\t\t\tq.eight,\n\t\t\t\tq.nine\n\t\t\t],\n\t\t\t[\n\t\t\t\tq.four,\n\t\t\t\tq.five,\n\t\t\t\tq.six\n\t\t\t],\n\t\t\t[\n\t\t\t\tq.one,\n\t\t\t\tq.two,\n\t\t\t\tq.three\n\t\t\t],\n\t\t\t[\n\t\t\t\tq.zero,\n\t\t\t\tc,\n\t\t\t\tK\n\t\t\t],\n\t\t\t[\n\t\t\t\tY,\n\t\t\t\tX,\n\t\t\t\tZ\n\t\t\t]\n\t\t]\n\t},\n\t{\n\t\tpredicate: \"geometry\",\n\t\tset: [\n\t\t\t[\n\t\t\t\tc,\n\t\t\t\tO,\n\t\t\t\tF,\n\t\t\t\tfe,\n\t\t\t\tde,\n\t\t\t\tve\n\t\t\t],\n\t\t\t[\n\t\t\t\tR,\n\t\t\t\tD,\n\t\t\t\tge,\n\t\t\t\tL,\n\t\t\t\t_e,\n\t\t\t\tie\n\t\t\t],\n\t\t\t[\n\t\t\t\tT,\n\t\t\t\tx,\n\t\t\t\tE,\n\t\t\t\tb,\n\t\t\t\tf,\n\t\t\t\td\n\t\t\t],\n\t\t\t[\n\t\t\t\tC,\n\t\t\t\tw,\n\t\t\t\tS,\n\t\t\t\ta,\n\t\t\t\tH,\n\t\t\t\tm\n\t\t\t],\n\t\t\t[\n\t\t\t\tM,\n\t\t\t\tj,\n\t\t\t\tA,\n\t\t\t\tk,\n\t\t\t\tP,\n\t\t\t\tN\n\t\t\t]\n\t\t]\n\t},\n\t{\n\t\tpredicate: \"advanced-algebra\",\n\t\tset: je\n\t},\n\t{\n\t\tpredicate: \"statistics\",\n\t\tset: Me\n\t},\n\t{\n\t\tpredicate: \"item-authoring\",\n\t\tset: [\n\t\t\t[\n\t\t\t\tDe,\n\t\t\t\tc,\n\t\t\t\tJ,\n\t\t\t\tce,\n\t\t\t\tp,\n\t\t\t\tf,\n\t\t\t\tM,\n\t\t\t\tj,\n\t\t\t\tA,\n\t\t\t\tB\n\t\t\t],\n\t\t\t[\n\t\t\t\tOe,\n\t\t\t\tR,\n\t\t\t\t{\n\t\t\t\t\tname: \"\",\n\t\t\t\t\tlatex: \"\",\n\t\t\t\t\twrite: \"\"\n\t\t\t\t},\n\t\t\t\tH,\n\t\t\t\tm,\n\t\t\t\td,\n\t\t\t\tP,\n\t\t\t\tN,\n\t\t\t\tk,\n\t\t\t\tV\n\t\t\t],\n\t\t\t[\n\t\t\t\ty,\n\t\t\t\tb,\n\t\t\t\ta,\n\t\t\t\tO,\n\t\t\t\tD,\n\t\t\t\tme,\n\t\t\t\tI,\n\t\t\t\tL,\n\t\t\t\tye,\n\t\t\t\tz\n\t\t\t],\n\t\t\t[\n\t\t\t\t_,\n\t\t\t\th,\n\t\t\t\tG,\n\t\t\t\tU,\n\t\t\t\tAe,\n\t\t\t\tW,\n\t\t\t\the,\n\t\t\t\tT,\n\t\t\t\tx,\n\t\t\t\tE\n\t\t\t],\n\t\t\t[\n\t\t\t\ti,\n\t\t\t\tn,\n\t\t\t\t{\n\t\t\t\t\tname: \"\",\n\t\t\t\t\tlatex: \"\",\n\t\t\t\t\twrite: \"\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"\",\n\t\t\t\t\tlatex: \"\",\n\t\t\t\t\twrite: \"\"\n\t\t\t\t},\n\t\t\t\tle,\n\t\t\t\t{\n\t\t\t\t\tname: \"\",\n\t\t\t\t\tlatex: \"\",\n\t\t\t\t\twrite: \"\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"\",\n\t\t\t\t\tlatex: \"\",\n\t\t\t\t\twrite: \"\"\n\t\t\t\t},\n\t\t\t\tC,\n\t\t\t\tw,\n\t\t\t\tS\n\t\t\t]\n\t\t]\n\t},\n\t{\n\t\tpredicate: (e) => e >= 1 && e <= 2,\n\t\tset: []\n\t}\n], Ne = (e) => {\n\tlet t = parseInt(e, 10);\n\tif (e = isNaN(t) ? e : t, !e) return [];\n\tlet n = $.find((t) => typeof t.predicate == \"string\" ? t.predicate === e : t.predicate(e));\n\tif (n) return n.set || [];\n\tif (e !== \"language\") return $[2].set;\n}, Pe = [\n\t...Object.values(Ee),\n\t...Object.values(e),\n\t...Object.values(oe),\n\t...Object.values(q),\n\t...Object.values(ne),\n\t...Object.values(te),\n\t...Object.values(pe),\n\t...Object.values(xe),\n\t...Object.values(ke),\n\t...Object.values(re),\n\t...Object.values(be),\n\t...Object.values(Ce),\n\t...Object.values(Se),\n\t...Object.values(ue),\n\t...Object.values(ee)\n], Fe = (e) => (e || []).map((e) => {\n\tlet { latex: t } = e, n = (Pe || []).find((e) => t === e.latex || t === e.write || t === e.command || t === e.otherNotation);\n\treturn t && n || e;\n});\n//#endregion\nexport { $ as gradeSets, Ne as keysForGrade, Fe as normalizeAdditionalKeys };\n","//#region src/updateSpans.ts\nvar e = () => {\n\t(Array.from(document.querySelectorAll(\"span[mathquill-command-id]\")) || []).forEach((e) => {\n\t\te && e.innerText === \"∥\" && e.className !== \"mq-editable-field\" && (e.style.fontSize = \"32px\"), (e.innerText === \"′\" || e.innerText === \"′′\") && !e.hasAttribute(\"data-prime\") && e.setAttribute(\"data-prime\", \"true\");\n\t});\n};\n//#endregion\nexport { e as updateSpans };\n","import { __exportAll as e } from \"../_virtual/_rolldown/runtime.js\";\nimport { comparison_exports as t } from \"./comparison.js\";\nimport { fractions_exports as n } from \"./fractions.js\";\nimport { exponent_exports as r } from \"./exponent.js\";\nimport { misc_exports as i } from \"./misc.js\";\nimport { divide as a, equals as o, minus as s, multiply as c, plus as l } from \"./basic-operators.js\";\nimport u from \"./digits.js\";\nimport { left as d, right as f } from \"./navigation.js\";\nimport { del as p } from \"./edit.js\";\n//#region src/keys/index.ts\nvar m = /* @__PURE__ */ e({\n\tbaseSet: () => D,\n\tcomparison: () => t,\n\texponent: () => r,\n\tfractions: () => n,\n\tmisc: () => i\n}), { one: h, two: g, three: _, four: v, five: y, six: b, seven: x, eight: S, nine: C, zero: w, comma: T, decimalPoint: E } = u, D = [\n\t[\n\t\tx,\n\t\tS,\n\t\tC,\n\t\ta\n\t],\n\t[\n\t\tv,\n\t\ty,\n\t\tb,\n\t\tc\n\t],\n\t[\n\t\th,\n\t\tg,\n\t\t_,\n\t\ts\n\t],\n\t[\n\t\tw,\n\t\tE,\n\t\tT,\n\t\tl\n\t],\n\t[\n\t\td,\n\t\tf,\n\t\tp,\n\t\to\n\t]\n];\n//#endregion\nexport { D as baseSet, t as comparison, r as exponent, n as fractions, m as keys_exports, i as misc };\n","//#region src/mq/custom-elements.tsx\nvar e = function(e) {\n\te.registerEmbed(\"newLine\", () => ({\n\t\thtmlString: \"<div class=\\\"newLine\\\"></div>\",\n\t\ttext: () => \"testText\",\n\t\tlatex: () => \"\\\\embed{newLine}[]\"\n\t}));\n};\n//#endregion\nexport { e as registerLineBreak };\n","import './mathquill.css';\n\n/**\n * Minimal jQuery Shim for MathQuill\n * Only implements methods actually used by MathQuill\n * ~2KB vs jQuery's 30KB+\n * ES5 compatible - no modern syntax\n */\n\nfunction DOMCollection(elements) {\n this.elements = Array.isArray(elements) ? elements : [elements].filter(Boolean);\n this.length = this.elements.length;\n\n // Make it array-like\n for (var i = 0; i < this.elements.length; i++) {\n this[i] = this.elements[i];\n }\n}\n\n// Core DOM methods\nDOMCollection.prototype.addClass = function(className) {\n var classes = (className || '').split(/\\s+/).filter(Boolean);\n this.elements.forEach(function(el) {\n classes.forEach(function(c) { el.classList.add(c); });\n });\n return this;\n};\n\nDOMCollection.prototype.removeClass = function(className) {\n this.elements.forEach(function(el) {\n if (!className) {\n el.className = '';\n } else {\n (className || '').split(/\\s+/).filter(Boolean).forEach(function(c) {\n el.classList.remove(c);\n });\n }\n });\n return this;\n};\n\n// jQuery: .toggleClass(name) flips; .toggleClass(name, state) forces on/off.\n// MathQuill relies on the two-arg form in Letter.italicize (mq-operator-name)\n// and elsewhere; ignoring `state` broke operator vs variable styling (ESM build).\nDOMCollection.prototype.toggleClass = function(className, state) {\n var classes = (className || '').split(/\\s+/).filter(Boolean);\n var force = arguments.length > 1 ? !!state : null;\n this.elements.forEach(function(el) {\n classes.forEach(function(c) {\n if (force === null) {\n el.classList.toggle(c);\n } else {\n el.classList.toggle(c, force);\n }\n });\n });\n return this;\n};\n\nDOMCollection.prototype.attr = function(name, value) {\n if (value === undefined) {\n return this.elements[0] ? this.elements[0].getAttribute(name) : undefined;\n }\n this.elements.forEach(function(el) { el.setAttribute(name, value); });\n return this;\n};\n\nDOMCollection.prototype.html = function(content) {\n if (content === undefined) {\n return this.elements[0] ? this.elements[0].innerHTML : '';\n }\n this.elements.forEach(function(el) { el.innerHTML = content; });\n return this;\n};\n\nDOMCollection.prototype.append = function(child) {\n var childEl = child instanceof DOMCollection ? child.elements[0] : child;\n this.elements.forEach(function(el) { el.appendChild(childEl); });\n return this;\n};\n\nDOMCollection.prototype.prepend = function(child) {\n var childEl = child instanceof DOMCollection ? child.elements[0] : child;\n this.elements.forEach(function(el, i) {\n var toInsert = i === 0 ? childEl : childEl.cloneNode(true);\n el.insertBefore(toInsert, el.firstChild);\n });\n return this;\n};\n\nDOMCollection.prototype.wrapAll = function(wrapper) {\n if (!this.elements.length) return this;\n var wrapperEl;\n if (typeof wrapper === 'string' && wrapper.trim().indexOf('<') === 0) {\n var temp = document.createElement('div');\n temp.innerHTML = wrapper.trim();\n wrapperEl = temp.firstChild;\n } else if (wrapper instanceof DOMCollection) {\n wrapperEl = wrapper.elements[0];\n } else if (wrapper && wrapper.nodeType) {\n wrapperEl = wrapper;\n } else {\n return this;\n }\n var first = this.elements[0];\n var parent = first.parentNode;\n if (parent) {\n parent.insertBefore(wrapperEl, first);\n this.elements.forEach(function(el) {\n wrapperEl.appendChild(el);\n });\n }\n return this;\n};\n\nDOMCollection.prototype.appendTo = function(parent) {\n var parentEl = parent instanceof DOMCollection ? parent.elements[0] : parent;\n if (!parentEl) return this;\n this.elements.forEach(function(el) { parentEl.appendChild(el); });\n return this;\n};\n\nDOMCollection.prototype.prependTo = function(parent) {\n var parentEl = parent instanceof DOMCollection ? parent.elements[0] : parent;\n if (!parentEl) return this;\n var firstChild = parentEl.firstChild;\n this.elements.forEach(function(el) {\n parentEl.insertBefore(el, firstChild);\n firstChild = el;\n });\n return this;\n};\n\nDOMCollection.prototype.insertBefore = function(target) {\n var targetEl = target instanceof DOMCollection ? target.elements[0] : target;\n if (!targetEl) return this;\n var parent = targetEl.parentNode;\n if (parent) {\n this.elements.forEach(function(el) { parent.insertBefore(el, targetEl); });\n }\n return this;\n};\n\nDOMCollection.prototype.insertAfter = function(target) {\n var targetEl = target instanceof DOMCollection ? target.elements[0] : target;\n if (!targetEl) return this;\n var parent = targetEl.parentNode;\n var next = targetEl.nextSibling;\n if (parent) {\n this.elements.forEach(function(el) {\n parent.insertBefore(el, next);\n next = el;\n });\n }\n return this;\n};\n\nDOMCollection.prototype.replaceWith = function(newContent) {\n var nodes = [];\n if (newContent instanceof DOMCollection) {\n nodes = newContent.elements.slice();\n } else if (newContent && typeof newContent.length === 'number' && !newContent.tagName) {\n nodes = Array.from(newContent);\n } else if (newContent && newContent.nodeType) {\n nodes = [newContent];\n }\n this.elements.forEach(function(el) {\n var parent = el.parentNode;\n if (parent) {\n nodes.forEach(function(node) {\n parent.insertBefore(node, el);\n });\n parent.removeChild(el);\n }\n });\n return this;\n};\n\n// MathQuill tree.js extends $ with these - add directly to avoid P.js complexity\nDOMCollection.prototype.insDirOf = function(dir, el) {\n var L = -1, R = 1;\n return dir === L ?\n this.insertBefore(el.first()) : this.insertAfter(el.last());\n};\nDOMCollection.prototype.insAtDirEnd = function(dir, el) {\n var L = -1, R = 1;\n return dir === L ? this.prependTo(el) : this.appendTo(el);\n};\n\nDOMCollection.prototype.children = function(selector) {\n var children = [];\n this.elements.forEach(function(el) {\n var elChildren;\n if (!selector) {\n elChildren = Array.from(el.children);\n } else if (selector === ':first') {\n elChildren = el.firstElementChild ? [el.firstElementChild] : [];\n } else if (selector === ':last') {\n elChildren = el.lastElementChild ? [el.lastElementChild] : [];\n } else {\n var eqMatch = /^:eq\\((\\d+)\\)$/.exec(selector);\n if (eqMatch) {\n var idx = parseInt(eqMatch[1], 10);\n var all = Array.from(el.children);\n elChildren = all[idx] ? [all[idx]] : [];\n } else {\n elChildren = Array.from(el.querySelectorAll(':scope > ' + selector));\n }\n }\n children.push.apply(children, elChildren);\n });\n return new DOMCollection(children);\n};\n\nDOMCollection.prototype.find = function(selector) {\n var found = [];\n this.elements.forEach(function(el) {\n var results = Array.from(el.querySelectorAll(selector));\n found.push.apply(found, results);\n });\n return new DOMCollection(found);\n};\n\nDOMCollection.prototype.closest = function(selector) {\n var results = this.elements.map(function(el) {\n return el.closest(selector);\n }).filter(Boolean);\n return new DOMCollection(results);\n};\n\nDOMCollection.prototype.contents = function() {\n var nodes = [];\n this.elements.forEach(function(el) {\n var childNodes = Array.from(el.childNodes);\n nodes.push.apply(nodes, childNodes);\n });\n return new DOMCollection(nodes);\n};\n\nDOMCollection.prototype.filter = function(fn) {\n var filtered = this.elements.filter(function(el, i) {\n return fn(i, el);\n });\n return new DOMCollection(filtered);\n};\n\nDOMCollection.prototype.detach = function() {\n this.elements.forEach(function(el) {\n if (el.parentNode) el.parentNode.removeChild(el);\n });\n return this;\n};\n\nDOMCollection.prototype.remove = function() {\n this.elements.forEach(function(el) { el.remove(); });\n return this;\n};\n\nDOMCollection.prototype.empty = function() {\n this.elements.forEach(function(el) { el.innerHTML = ''; });\n return this;\n};\n\n// Event handling - strip jQuery namespace (e.g. 'mousedown.mathquill' -> 'mousedown')\nfunction eventName(evt) {\n return (evt || '').split('.')[0];\n}\n\nDOMCollection.prototype.on = function(event, handler) {\n var name = eventName(event);\n this.elements.forEach(function(el) { el.addEventListener(name, handler); });\n return this;\n};\n\nDOMCollection.prototype.bind = function(event, dataOrHandler, handler) {\n var self = this;\n if (typeof event === 'object') {\n // bind({ keydown: fn, keypress: fn, ... })\n for (var evt in event) {\n if (event.hasOwnProperty(evt)) {\n self.bind(evt, event[evt]);\n }\n }\n return this;\n }\n var h = typeof dataOrHandler === 'function' ? dataOrHandler : handler;\n if (h === false) {\n h = function(e) { e.preventDefault(); };\n }\n var events = (event || '').split(/\\s+/).filter(Boolean);\n events.forEach(function(evt) {\n var name = eventName(evt);\n self.elements.forEach(function(el) {\n el.addEventListener(name, h);\n });\n });\n return this;\n};\n\nDOMCollection.prototype.off = function(event, handler) {\n var name = eventName(event);\n this.elements.forEach(function(el) { el.removeEventListener(name, handler); });\n return this;\n};\n\nDOMCollection.prototype.unbind = function(event, handler) {\n // Namespaced events (e.g. '.mathquill') - clone to remove all listeners\n if (event && event.includes('.')) {\n this.elements.forEach(function(el) {\n var clone = el.cloneNode(true);\n if (el.parentNode) el.parentNode.replaceChild(clone, el);\n });\n } else if (event && handler) {\n var name = eventName(event);\n this.elements.forEach(function(el) { el.removeEventListener(name, handler); });\n }\n return this;\n};\n\nDOMCollection.prototype.trigger = function(evtName) {\n var evt = new Event(eventName(evtName), { bubbles: true, cancelable: true });\n this.elements.forEach(function(el) { el.dispatchEvent(evt); });\n return this;\n};\n\nDOMCollection.prototype.focus = function(handler) {\n if (typeof handler === 'function') {\n return this.on('focus', handler);\n }\n this.elements.forEach(function(el) { if (el.focus) el.focus(); });\n return this;\n};\n\nDOMCollection.prototype.blur = function(handler) {\n if (typeof handler === 'function') {\n return this.on('blur', handler);\n }\n this.elements.forEach(function(el) { if (el.blur) el.blur(); });\n return this;\n};\n\n// jQuery event shorthand methods (e.g. .mousemove(fn) -> .on('mousemove', fn))\n['mousemove', 'mouseup', 'mousedown', 'mouseover', 'mouseout', 'click', 'keydown', 'keypress', 'keyup', 'focusout', 'paste', 'cut', 'copy', 'input', 'load'].forEach(function(evt) {\n DOMCollection.prototype[evt] = function(handler) {\n return this.on(evt, handler);\n };\n});\n\n// Traversal\nDOMCollection.prototype.next = function(selector) {\n var nexts = this.elements\n .map(function(el) { return el.nextElementSibling; })\n .filter(function(el) { return !selector || (el && el.matches(selector)); });\n return new DOMCollection(nexts);\n};\n\nDOMCollection.prototype.prev = function(selector) {\n var prevs = this.elements\n .map(function(el) { return el.previousElementSibling; })\n .filter(function(el) { return !selector || (el && el.matches(selector)); });\n return new DOMCollection(prevs);\n};\n\nDOMCollection.prototype.parent = function() {\n var parents = this.elements.map(function(el) { return el.parentElement; }).filter(Boolean);\n return new DOMCollection(parents);\n};\n\n// Position/Dimensions\nDOMCollection.prototype.offset = function() {\n if (!this.elements[0]) return { top: 0, left: 0 };\n var rect = this.elements[0].getBoundingClientRect();\n return {\n top: rect.top + (window.pageYOffset || document.documentElement.scrollTop),\n left: rect.left + (window.pageXOffset || document.documentElement.scrollLeft)\n };\n};\n\nDOMCollection.prototype.width = function() {\n var el = this.elements[0];\n if (!el) return 0;\n var cs = window.getComputedStyle(el);\n return parseFloat(cs.width) || el.getBoundingClientRect().width;\n};\n\nDOMCollection.prototype.height = function() {\n var el = this.elements[0];\n if (!el) return 0;\n var cs = window.getComputedStyle(el);\n return parseFloat(cs.height) || el.getBoundingClientRect().height;\n};\n\nDOMCollection.prototype.outerWidth = function() {\n return this.elements[0] ? this.elements[0].offsetWidth : 0;\n};\n\nDOMCollection.prototype.outerHeight = function() {\n return this.elements[0] ? this.elements[0].offsetHeight : 0;\n};\n\nDOMCollection.prototype.innerWidth = function() {\n return this.elements[0] ? this.elements[0].clientWidth : 0;\n};\n\nDOMCollection.prototype.innerHeight = function() {\n return this.elements[0] ? this.elements[0].clientHeight : 0;\n};\n\nDOMCollection.prototype.css = function(prop, value) {\n if (value === undefined) {\n if (typeof prop === 'string') {\n var el = this.elements[0];\n return el ? window.getComputedStyle(el).getPropertyValue(prop.replace(/([A-Z])/g, '-$1').toLowerCase()) : undefined;\n }\n } else {\n this.elements.forEach(function(el) {\n el.style[prop] = value;\n });\n }\n return this;\n};\n\nDOMCollection.prototype.scrollTop = function(value) {\n var el = this.elements[0];\n if (value === undefined) {\n return el ? (el === window ? (window.pageYOffset || document.documentElement.scrollTop) : el.scrollTop) : 0;\n }\n if (el === window) window.scrollTo(window.pageXOffset || 0, value);\n else this.elements.forEach(function(e) { e.scrollTop = value; });\n return this;\n};\n\nDOMCollection.prototype.scrollLeft = function(value) {\n var el = this.elements[0];\n if (value === undefined) {\n return el ? (el === window ? (window.pageXOffset || document.documentElement.scrollLeft) : el.scrollLeft) : 0;\n }\n if (el === window) window.scrollTo(value, window.pageYOffset || 0);\n else this.elements.forEach(function(e) { e.scrollLeft = value; });\n return this;\n};\n\n// Utilities\nDOMCollection.prototype.each = function(callback) {\n this.elements.forEach(function(el, i) { callback.call(el, i, el); });\n return this;\n};\n\nDOMCollection.prototype.eq = function(index) {\n return new DOMCollection([this.elements[index]]);\n};\n\nDOMCollection.prototype.get = function(index) {\n if (index === undefined) return this.elements;\n return index < 0 ? this.elements[this.elements.length + index] : this.elements[index];\n};\n\nDOMCollection.prototype.add = function(other) {\n var combined = this.elements.slice();\n if (other instanceof DOMCollection) {\n combined.push.apply(combined, other.elements);\n } else if (Array.isArray(other)) {\n // Fragment() accumulates raw elements then does this.jQ.add(accum); jQuery accepts\n // an array of nodes. Without this branch, LiveFraction (/) never moves the wrapped\n // operand into the numerator in the DOM.\n combined.push.apply(combined, other);\n } else if (other && other.nodeType) {\n combined.push(other);\n }\n return new DOMCollection(combined);\n};\n\nDOMCollection.prototype.first = function() {\n return new DOMCollection([this.elements[0]]);\n};\n\nDOMCollection.prototype.last = function() {\n return new DOMCollection([this.elements[this.elements.length - 1]]);\n};\n\nDOMCollection.prototype.index = function(elem) {\n if (!elem) {\n var parent = this.elements[0] && this.elements[0].parentElement;\n return parent ? Array.from(parent.children).indexOf(this.elements[0]) : -1;\n }\n var el = elem instanceof DOMCollection ? elem.elements[0] : elem;\n return this.elements.indexOf(el);\n};\n\nDOMCollection.prototype.is = function(selector) {\n return this.elements.some(function(el) { return el.matches(selector); });\n};\n\nDOMCollection.prototype.text = function(content) {\n if (content === undefined) {\n return this.elements.map(function(el) { return el.textContent; }).join('');\n }\n this.elements.forEach(function(el) { el.textContent = content; });\n return this;\n};\n\nDOMCollection.prototype.val = function(value) {\n var el = this.elements[0];\n if (!el) return undefined;\n if (value === undefined) {\n return el.value !== undefined ? el.value : el.textContent;\n }\n this.elements.forEach(function(e) {\n if (e.value !== undefined) e.value = value;\n else e.textContent = value;\n });\n return this;\n};\n\n// Main jQuery function - use var (not function decl) so esbuild-loader\n// won't create a conflicting declaration when tree.js does $ = P(jQuery,...)\nfunction createCollection(elements) {\n var arr = Array.isArray(elements) ? elements : [elements].filter(Boolean);\n var coll = Object.create(DOMCollection.prototype);\n coll.elements = arr;\n coll.length = arr.length;\n for (var i = 0; i < arr.length; i++) coll[i] = arr[i];\n return coll;\n}\n\nvar $ = function(selector, context) {\n var elements;\n\n if (!selector) {\n elements = [];\n } else if (selector === window || selector === document) {\n elements = [selector];\n } else if (selector.nodeType) {\n elements = [selector];\n } else if (selector && selector.current && selector.current.nodeType) {\n // React ref object\n elements = [selector.current];\n } else if (typeof selector === 'string' && selector[0] === '<') {\n var temp = document.createElement('div');\n temp.innerHTML = selector.trim();\n elements = Array.from(temp.children);\n } else if (typeof selector === 'string') {\n var root = context instanceof DOMCollection ? context.elements[0] : (context || document);\n elements = Array.from(root.querySelectorAll(selector));\n } else if (selector instanceof DOMCollection) {\n elements = selector.elements;\n } else if (selector.length !== undefined) {\n elements = Array.from(selector);\n } else {\n elements = [];\n }\n\n return createCollection(elements);\n};\n\n// Static methods used by MathQuill\n$.contains = function(container, contained) {\n return container !== contained && container.contains(contained);\n};\n\n\n/**\n * MathQuill v1.2.1-beta.1, by Han, Jeanine, and Mary\n * http://mathquill.com | maintainers@mathquill.com\n *\n * This Source Code Form is subject to the terms of the\n * Mozilla Public License, v. 2.0. If a copy of the MPL\n * was not distributed with this file, You can obtain\n * one at http://mozilla.org/MPL/2.0/.\n */\n\n// ESM Build - jquery-shim.js is concatenated before this file\n// The $ function is already defined from the shim\n\n// Make $ available as jQuery for compatibility\nvar jQuery = $,\n undefined,\n mqCmdId = 'mathquill-command-id',\n mqBlockId = 'mathquill-block-id',\n min = Math.min,\n max = Math.max;\n\nfunction noop() {}\n\n/**\n * A utility higher-order function that makes defining variadic\n * functions more convenient by letting you essentially define functions\n * with the last argument as a splat, i.e. the last argument \"gathers up\"\n * remaining arguments to the function:\n * var doStuff = variadic(function(first, rest) { return rest; });\n * doStuff(1, 2, 3); // => [2, 3]\n */\nvar __slice = [].slice;\nfunction variadic(fn) {\n var numFixedArgs = fn.length - 1;\n return function() {\n var args = __slice.call(arguments, 0, numFixedArgs);\n var varArg = __slice.call(arguments, numFixedArgs);\n return fn.apply(this, args.concat([ varArg ]));\n };\n}\n\n/**\n * A utility higher-order function that makes combining object-oriented\n * programming and functional programming techniques more convenient:\n * given a method name and any number of arguments to be bound, returns\n * a function that calls it's first argument's method of that name (if\n * it exists) with the bound arguments and any additional arguments that\n * are passed:\n * var sendMethod = send('method', 1, 2);\n * var obj = { method: function() { return Array.apply(this, arguments); } };\n * sendMethod(obj, 3, 4); // => [1, 2, 3, 4]\n * // or more specifically,\n * var obj2 = { method: function(one, two, three) { return one*two + three; } };\n * sendMethod(obj2, 3); // => 5\n * sendMethod(obj2, 4); // => 6\n */\nvar send = variadic(function(method, args) {\n return variadic(function(obj, moreArgs) {\n if (method in obj) return obj[method].apply(obj, args.concat(moreArgs));\n });\n});\n\n/**\n * A utility higher-order function that creates \"implicit iterators\"\n * from \"generators\": given a function that takes in a sole argument,\n * a \"yield_\" function, that calls \"yield_\" repeatedly with an object as\n * a sole argument (presumably objects being iterated over), returns\n * a function that calls it's first argument on each of those objects\n * (if the first argument is a function, it is called repeatedly with\n * each object as the first argument, otherwise it is stringified and\n * the method of that name is called on each object (if such a method\n * exists)), passing along all additional arguments:\n * var a = [\n * { method: function(list) { list.push(1); } },\n * { method: function(list) { list.push(2); } },\n * { method: function(list) { list.push(3); } }\n * ];\n * a.each = iterator(function(yield_) {\n * for (var i in this) yield_(this[i]);\n * });\n * var list = [];\n * a.each('method', list);\n * list; // => [1, 2, 3]\n * // Note that the for-in loop will yield 'each', but 'each' maps to\n * // the function object created by iterator() which does not have a\n * // .method() method, so that just fails silently.\n */\nfunction iterator(generator) {\n return variadic(function(fn, args) {\n if (typeof fn !== 'function') fn = send(fn);\n var yield_ = function(obj) { return fn.apply(obj, [ obj ].concat(args)); };\n return generator.call(this, yield_);\n });\n}\n\n/**\n * sugar to make defining lots of commands easier.\n * TODO: rethink this.\n */\nfunction bind(cons /*, args... */) {\n var args = __slice.call(arguments, 1);\n return function() {\n return cons.apply(this, args);\n };\n}\n\n/**\n * a development-only debug method. This definition and all\n * calls to `pray` will be stripped from the minified\n * build of mathquill.\n *\n * This function must be called by name to be removed\n * at compile time. Do not define another function\n * with the same name, and only call this function by\n * name.\n */\nfunction pray(message, cond) {\n if (!cond) throw new Error('prayer failed: '+message);\n}\n\n\nvar P = (function(prototype, ownProperty, undefined) {\n // helper functions that also help minification\n function isObject(o) { return typeof o === 'object'; }\n function isFunction(f) { return typeof f === 'function'; }\n\n // used to extend the prototypes of superclasses (which might not\n // have `.Bare`s)\n function SuperclassBare() {}\n\n return function P(_superclass /* = Object */, definition) {\n // handle the case where no superclass is given\n if (definition === undefined) {\n definition = _superclass;\n _superclass = Object;\n }\n\n // C is the class to be returned.\n //\n // It delegates to instantiating an instance of `Bare`, so that it\n // will always return a new instance regardless of the calling\n // context.\n //\n // TODO: the Chrome inspector shows all created objects as `C`\n // rather than `Object`. Setting the .name property seems to\n // have no effect. Is there a way to override this behavior?\n function C() {\n var self = new Bare;\n if (isFunction(self.init)) self.init.apply(self, arguments);\n return self;\n }\n\n // C.Bare is a class with a noop constructor. Its prototype is the\n // same as C, so that instances of C.Bare are also instances of C.\n // New objects can be allocated without initialization by calling\n // `new MyClass.Bare`.\n function Bare() {}\n C.Bare = Bare;\n\n // Set up the prototype of the new class.\n var _super = SuperclassBare[prototype] = _superclass[prototype];\n var proto = Bare[prototype] = C[prototype] = C.p = new SuperclassBare;\n\n // other variables, as a minifier optimization\n var extensions;\n\n\n // set the constructor property on the prototype, for convenience\n proto.constructor = C;\n\n C.extend = function(def) { return P(C, def); }\n\n return (C.open = function(def) {\n extensions = {};\n\n if (isFunction(def)) {\n // call the defining function with all the arguments you need\n // extensions captures the return value.\n extensions = def.call(C, proto, _super, C, _superclass);\n }\n else if (isObject(def)) {\n // if you passed an object instead, we'll take it\n extensions = def;\n }\n\n // ...and extend it\n if (isObject(extensions)) {\n for (var ext in extensions) {\n if (ownProperty.call(extensions, ext)) {\n proto[ext] = extensions[ext];\n }\n }\n }\n\n // if there's no init, we assume we're inheriting a non-pjs class, so\n // we default to applying the superclass's constructor.\n if (!isFunction(proto.init)) {\n proto.init = _superclass;\n }\n\n return C;\n })(definition);\n }\n\n // as a minifier optimization, we've closured in a few helper functions\n // and the string 'prototype' (C[p] is much shorter than C.prototype)\n})('prototype', ({}).hasOwnProperty);\n\n\n/*************************************************\n * Base classes of edit tree-related objects\n *\n * Only doing tree node manipulation via these\n * adopt/ disown methods guarantees well-formedness\n * of the tree.\n ************************************************/\n\n// L = 'left'\n// R = 'right'\n//\n// the contract is that they can be used as object properties\n// and (-L) === R, and (-R) === L.\nvar L = -1;\nvar R = 1;\n\nfunction prayDirection(dir) {\n pray('a direction was passed', dir === L || dir === R);\n}\n\n/**\n * Tiny extension of jQuery adding directionalized DOM manipulation methods.\n *\n * Funny how Pjs v3 almost just works with `jQuery.fn.init`.\n *\n * jQuery features that don't work on $:\n * - jQuery.*, like jQuery.ajax, obviously (Pjs doesn't and shouldn't\n * copy constructor properties)\n *\n * - jQuery(function), the shortcut for `jQuery(document).ready(function)`,\n * because `jQuery.fn.init` is idiosyncratic and Pjs doing, essentially,\n * `jQuery.fn.init.apply(this, arguments)` isn't quite right, you need:\n *\n * _.init = function(s, c) { jQuery.fn.init.call(this, s, c, $(document)); };\n *\n * if you actually give a shit (really, don't bother),\n * see https://github.com/jquery/jquery/blob/1.7.2/src/core.js#L889\n *\n * - jQuery(selector), because jQuery translates that to\n * `jQuery(document).find(selector)`, but Pjs doesn't (should it?) let\n * you override the result of a constructor call\n * + note that because of the jQuery(document) shortcut-ness, there's also\n * the 3rd-argument-needs-to-be-`$(document)` thing above, but the fix\n * for that (as can be seen above) is really easy. This problem requires\n * a way more intrusive fix\n *\n * And that's it! Everything else just magically works because jQuery internally\n * uses `this.constructor()` everywhere (hence calling `$`), but never ever does\n * `this.constructor.find` or anything like that, always doing `jQuery.find`.\n */\n// ESM: $ from shim has insDirOf/insAtDirEnd on prototype, skip P.js\n\nvar Point = P(function(_) {\n _.parent = 0;\n _[L] = 0;\n _[R] = 0;\n\n _.init = function(parent, leftward, rightward) {\n this.parent = parent;\n this[L] = leftward;\n this[R] = rightward;\n };\n\n this.copy = function(pt) {\n return Point(pt.parent, pt[L], pt[R]);\n };\n});\n\n/**\n * MathQuill virtual-DOM tree-node abstract base class\n */\nvar Node = P(function(_) {\n _[L] = 0;\n _[R] = 0\n _.parent = 0;\n\n var id = 0;\n function uniqueNodeId() { return id += 1; }\n this.byId = {};\n\n _.init = function() {\n this.id = uniqueNodeId();\n Node.byId[this.id] = this;\n\n this.ends = {};\n this.ends[L] = 0;\n this.ends[R] = 0;\n };\n\n _.dispose = function() { delete Node.byId[this.id]; };\n\n _.toString = function() { return '{{ MathQuill Node #'+this.id+' }}'; };\n\n _.jQ = $();\n _.jQadd = function(jQ) { return this.jQ = this.jQ.add(jQ); };\n _.jQize = function(jQ) {\n // jQuery-ifies this.html() and links up the .jQ of all corresponding Nodes\n var jQ = $(jQ || this.html());\n\n function jQadd(el) {\n if (el.getAttribute) {\n var cmdId = el.getAttribute('mathquill-command-id');\n var blockId = el.getAttribute('mathquill-block-id');\n if (cmdId) Node.byId[cmdId].jQadd(el);\n if (blockId) Node.byId[blockId].jQadd(el);\n }\n for (el = el.firstChild; el; el = el.nextSibling) {\n jQadd(el);\n }\n }\n\n for (var i = 0; i < jQ.length; i += 1) jQadd(jQ[i]);\n return jQ;\n };\n\n _.createDir = function(dir, cursor) {\n prayDirection(dir);\n var node = this;\n node.jQize();\n node.jQ.insDirOf(dir, cursor.jQ);\n cursor[dir] = node.adopt(cursor.parent, cursor[L], cursor[R]);\n return node;\n };\n _.createLeftOf = function(el) { return this.createDir(L, el); };\n\n _.selectChildren = function(leftEnd, rightEnd) {\n return Selection(leftEnd, rightEnd);\n };\n\n _.bubble = iterator(function(yield_) {\n for (var ancestor = this; ancestor; ancestor = ancestor.parent) {\n var result = yield_(ancestor);\n if (result === false) break;\n }\n\n return this;\n });\n\n _.postOrder = iterator(function(yield_) {\n (function recurse(descendant) {\n descendant.eachChild(recurse);\n yield_(descendant);\n })(this);\n\n return this;\n });\n\n _.isEmpty = function() {\n return this.ends[L] === 0 && this.ends[R] === 0;\n };\n \n _.isStyleBlock = function() {\n return false;\n };\n\n _.children = function() {\n return Fragment(this.ends[L], this.ends[R]);\n };\n\n _.eachChild = function() {\n var children = this.children();\n children.each.apply(children, arguments);\n return this;\n };\n\n _.foldChildren = function(fold, fn) {\n return this.children().fold(fold, fn);\n };\n\n _.withDirAdopt = function(dir, parent, withDir, oppDir) {\n Fragment(this, this).withDirAdopt(dir, parent, withDir, oppDir);\n return this;\n };\n\n _.adopt = function(parent, leftward, rightward) {\n Fragment(this, this).adopt(parent, leftward, rightward);\n return this;\n };\n\n _.disown = function() {\n Fragment(this, this).disown();\n return this;\n };\n\n _.remove = function() {\n this.jQ.remove();\n this.postOrder('dispose');\n return this.disown();\n };\n});\n\nfunction prayWellFormed(parent, leftward, rightward) {\n pray('a parent is always present', parent);\n // Repair broken sibling/parent links (can happen with shim edge cases / rapid updates)\n if (leftward) {\n if (leftward[R] !== rightward) leftward[R] = rightward;\n if (leftward.parent !== parent) leftward.parent = parent;\n }\n if (rightward) {\n if (rightward[L] !== leftward) rightward[L] = leftward;\n if (rightward.parent !== parent) rightward.parent = parent;\n }\n pray('leftward is properly set up', (function() {\n // either it's empty and `rightward` is the left end child (possibly empty)\n if (!leftward) return parent.ends[L] === rightward;\n\n // or it's there and its [R] and .parent are properly set up\n return leftward[R] === rightward && leftward.parent === parent;\n })());\n\n pray('rightward is properly set up', (function() {\n // either it's empty and `leftward` is the right end child (possibly empty)\n if (!rightward) return parent.ends[R] === leftward;\n\n // or it's there and its [L] and .parent are properly set up\n return rightward[L] === leftward && rightward.parent === parent;\n })());\n}\n\n\n/**\n * An entity outside the virtual tree with one-way pointers (so it's only a\n * \"view\" of part of the tree, not an actual node/entity in the tree) that\n * delimits a doubly-linked list of sibling nodes.\n * It's like a fanfic love-child between HTML DOM DocumentFragment and the Range\n * classes: like DocumentFragment, its contents must be sibling nodes\n * (unlike Range, whose contents are arbitrary contiguous pieces of subtrees),\n * but like Range, it has only one-way pointers to its contents, its contents\n * have no reference to it and in fact may still be in the visible tree (unlike\n * DocumentFragment, whose contents must be detached from the visible tree\n * and have their 'parent' pointers set to the DocumentFragment).\n */\nvar Fragment = P(function(_) {\n _.init = function(withDir, oppDir, dir) {\n if (dir === undefined) dir = L;\n prayDirection(dir);\n\n pray('no half-empty fragments', !withDir === !oppDir);\n\n this.ends = {};\n\n if (!withDir) return;\n\n pray('withDir is passed to Fragment', withDir instanceof Node);\n pray('oppDir is passed to Fragment', oppDir instanceof Node);\n pray('withDir and oppDir have the same parent',\n withDir.parent === oppDir.parent);\n\n this.ends[dir] = withDir;\n this.ends[-dir] = oppDir;\n\n // To build the jquery collection for a fragment, accumulate elements\n // into an array and then call jQ.add once on the result. jQ.add sorts the\n // collection according to document order each time it is called, so\n // building a collection by folding jQ.add directly takes more than\n // quadratic time in the number of elements.\n //\n // https://github.com/jquery/jquery/blob/2.1.4/src/traversing.js#L112\n var accum = this.fold([], function (accum, el) {\n accum.push.apply(accum, el.jQ.get());\n return accum;\n });\n\n this.jQ = this.jQ.add(accum);\n };\n _.jQ = $();\n\n // like Cursor::withDirInsertAt(dir, parent, withDir, oppDir)\n _.withDirAdopt = function(dir, parent, withDir, oppDir) {\n return (dir === L ? this.adopt(parent, withDir, oppDir)\n : this.adopt(parent, oppDir, withDir));\n };\n _.adopt = function(parent, leftward, rightward) {\n prayWellFormed(parent, leftward, rightward);\n\n var self = this;\n self.disowned = false;\n\n var leftEnd = self.ends[L];\n if (!leftEnd) return this;\n\n var rightEnd = self.ends[R];\n\n if (leftward) {\n // NB: this is handled in the ::each() block\n // leftward[R] = leftEnd\n } else {\n parent.ends[L] = leftEnd;\n }\n\n if (rightward) {\n rightward[L] = rightEnd;\n } else {\n parent.ends[R] = rightEnd;\n }\n\n self.ends[R][R] = rightward;\n\n self.each(function(el) {\n el[L] = leftward;\n el.parent = parent;\n if (leftward) leftward[R] = el;\n\n leftward = el;\n });\n\n return self;\n };\n\n _.disown = function() {\n var self = this;\n var leftEnd = self.ends[L];\n\n // guard for empty and already-disowned fragments\n if (!leftEnd || self.disowned) return self;\n\n self.disowned = true;\n\n var rightEnd = self.ends[R]\n var parent = leftEnd.parent;\n\n prayWellFormed(parent, leftEnd[L], leftEnd);\n prayWellFormed(parent, rightEnd, rightEnd[R]);\n\n if (leftEnd[L]) {\n leftEnd[L][R] = rightEnd[R];\n } else {\n parent.ends[L] = rightEnd[R];\n }\n\n if (rightEnd[R]) {\n rightEnd[R][L] = leftEnd[L];\n } else {\n parent.ends[R] = leftEnd[L];\n }\n\n return self;\n };\n\n _.remove = function() {\n this.jQ.remove();\n this.each('postOrder', 'dispose');\n return this.disown();\n };\n\n _.each = iterator(function(yield_) {\n var self = this;\n var el = self.ends[L];\n if (!el) return self;\n\n for (; el !== self.ends[R][R]; el = el[R]) {\n var result = yield_(el);\n if (result === false) break;\n }\n\n return self;\n });\n\n _.fold = function(fold, fn) {\n this.each(function(el) {\n fold = fn.call(this, fold, el);\n });\n\n return fold;\n };\n});\n\n\n/**\n * Registry of LaTeX commands and commands created when typing\n * a single character.\n *\n * (Commands are all subclasses of Node.)\n */\nvar LatexCmds = {}, CharCmds = {}, CompoundCmds = {};\n\n\n/********************************************\n * Cursor and Selection \"singleton\" classes\n *******************************************/\n\n/* The main thing that manipulates the Math DOM. Makes sure to manipulate the\nHTML DOM to match. */\n\n/* Sort of singletons, since there should only be one per editable math\ntextbox, but any one HTML document can contain many such textboxes, so any one\nJS environment could actually contain many instances. */\n\n//A fake cursor in the fake textbox that the math is rendered in.\nvar Cursor = P(Point, function(_) {\n _.init = function(initParent, options) {\n this.parent = initParent;\n this.options = options;\n\n var jQ = this.jQ = this._jQ = $('<span class=\"mq-cursor\">&#8203;</span>');\n //closured for setInterval\n this.blink = function(){ jQ.toggleClass('mq-blink'); };\n\n this.upDownCache = {};\n };\n\n _.show = function() {\n this.jQ = this._jQ.removeClass('mq-blink');\n if ('intervalId' in this) //already was shown, just restart interval\n clearInterval(this.intervalId);\n else { //was hidden and detached, insert this.jQ back into HTML DOM\n if (this[R]) {\n if (this.selection && this.selection.ends[L][L] === this[L])\n this.jQ.insertBefore(this.selection.jQ);\n else\n this.jQ.insertBefore(this[R].jQ.first());\n }\n else\n this.jQ.appendTo(this.parent.jQ);\n this.parent.focus();\n }\n this.intervalId = setInterval(this.blink, 500);\n return this;\n };\n _.hide = function() {\n if ('intervalId' in this)\n clearInterval(this.intervalId);\n delete this.intervalId;\n this.jQ.detach();\n this.jQ = $();\n return this;\n };\n\n _.withDirInsertAt = function(dir, parent, withDir, oppDir) {\n var oldParent = this.parent;\n this.parent = parent;\n this[dir] = withDir;\n this[-dir] = oppDir;\n // by contract, .blur() is called after all has been said and done\n // and the cursor has actually been moved\n // FIXME pass cursor to .blur() so text can fix cursor pointers when removing itself\n if (oldParent !== parent && oldParent.blur) oldParent.blur(this);\n };\n _.insDirOf = function(dir, el) {\n prayDirection(dir);\n if (!el || !el.jQ) return this;\n this.jQ.insDirOf(dir, el.jQ);\n this.withDirInsertAt(dir, el.parent, el[dir], el);\n this.parent.jQ.addClass('mq-hasCursor');\n return this;\n };\n _.insLeftOf = function(el) { return this.insDirOf(L, el); };\n _.insRightOf = function(el) { return this.insDirOf(R, el); };\n\n _.insAtDirEnd = function(dir, el) {\n prayDirection(dir);\n this.jQ.insAtDirEnd(dir, el.jQ);\n this.withDirInsertAt(dir, el, 0, el.ends[dir]);\n el.focus();\n return this;\n };\n _.insAtLeftEnd = function(el) { return this.insAtDirEnd(L, el); };\n _.insAtRightEnd = function(el) { return this.insAtDirEnd(R, el); };\n\n /**\n * jump up or down from one block Node to another:\n * - cache the current Point in the node we're jumping from\n * - check if there's a Point in it cached for the node we're jumping to\n * + if so put the cursor there,\n * + if not seek a position in the node that is horizontally closest to\n * the cursor's current position\n */\n _.jumpUpDown = function(from, to) {\n var self = this;\n self.upDownCache[from.id] = Point.copy(self);\n var cached = self.upDownCache[to.id];\n if (cached) {\n cached[R] ? self.insLeftOf(cached[R]) : self.insAtRightEnd(cached.parent);\n }\n else {\n var pageX = self.offset().left;\n to.seek(pageX, self);\n }\n };\n _.offset = function() {\n //in Opera 11.62, .getBoundingClientRect() and hence jQuery::offset()\n //returns all 0's on inline elements with negative margin-right (like\n //the cursor) at the end of their parent, so temporarily remove the\n //negative margin-right when calling jQuery::offset()\n //Opera bug DSK-360043\n //http://bugs.jquery.com/ticket/11523\n //https://github.com/jquery/jquery/pull/717\n var self = this, offset = self.jQ.removeClass('mq-cursor').offset();\n self.jQ.addClass('mq-cursor');\n return offset;\n }\n _.unwrapGramp = function() {\n var gramp = this.parent.parent;\n var greatgramp = gramp.parent;\n var rightward = gramp[R];\n var cursor = this;\n\n var leftward = gramp[L];\n gramp.disown().eachChild(function(uncle) {\n if (uncle.isEmpty()) return;\n\n uncle.children()\n .adopt(greatgramp, leftward, rightward)\n .each(function(cousin) {\n cousin.jQ.insertBefore(gramp.jQ.first());\n })\n ;\n\n leftward = uncle.ends[R];\n });\n\n if (!this[R]) { //then find something to be rightward to insLeftOf\n if (this[L])\n this[R] = this[L][R];\n else {\n while (!this[R]) {\n this.parent = this.parent[R];\n if (this.parent)\n this[R] = this.parent.ends[L];\n else {\n this[R] = gramp[R];\n this.parent = greatgramp;\n break;\n }\n }\n }\n }\n if (this[R])\n this.insLeftOf(this[R]);\n else\n this.insAtRightEnd(greatgramp);\n\n gramp.jQ.remove();\n\n if (gramp[L].siblingDeleted) gramp[L].siblingDeleted(cursor.options, R);\n if (gramp[R].siblingDeleted) gramp[R].siblingDeleted(cursor.options, L);\n };\n _.startSelection = function() {\n var anticursor = this.anticursor = Point.copy(this);\n var ancestors = anticursor.ancestors = {}; // a map from each ancestor of\n // the anticursor, to its child that is also an ancestor; in other words,\n // the anticursor's ancestor chain in reverse order\n for (var ancestor = anticursor; ancestor.parent; ancestor = ancestor.parent) {\n ancestors[ancestor.parent.id] = ancestor;\n }\n };\n _.endSelection = function() {\n delete this.anticursor;\n };\n _.select = function() {\n var anticursor = this.anticursor;\n if (!anticursor || !anticursor.ancestors) return false;\n if (this[L] === anticursor[L] && this.parent === anticursor.parent) return false;\n\n // Find the lowest common ancestor (`lca`), and the ancestor of the cursor\n // whose parent is the LCA (which'll be an end of the selection fragment).\n var lca;\n for (var ancestor = this; ancestor.parent; ancestor = ancestor.parent) {\n if (ancestor.parent.id in anticursor.ancestors) {\n lca = ancestor.parent;\n break;\n }\n }\n if (!lca) return false; // cursor and anticursor in different trees (e.g. cross-field drag)\n // The cursor and the anticursor should be in the same tree, because the\n // mousemove handler attached to the document, unlike the one attached to\n // the root HTML DOM element, doesn't try to get the math tree node of the\n // mousemove target, and Cursor::seek() based solely on coordinates stays\n // within the tree of `this` cursor's root.\n\n // The other end of the selection fragment, the ancestor of the anticursor\n // whose parent is the LCA.\n var antiAncestor = anticursor.ancestors[lca.id];\n\n // Now we have two either Nodes or Points, guaranteed to have a common\n // parent and guaranteed that if both are Points, they are not the same,\n // and we have to figure out which is the left end and which the right end\n // of the selection.\n var leftEnd, rightEnd, dir = R;\n\n // This is an extremely subtle algorithm.\n // As a special case, `ancestor` could be a Point and `antiAncestor` a Node\n // immediately to `ancestor`'s left.\n // In all other cases,\n // - both Nodes\n // - `ancestor` a Point and `antiAncestor` a Node\n // - `ancestor` a Node and `antiAncestor` a Point\n // `antiAncestor[R] === rightward[R]` for some `rightward` that is\n // `ancestor` or to its right, if and only if `antiAncestor` is to\n // the right of `ancestor`.\n if (ancestor[L] !== antiAncestor) {\n for (var rightward = ancestor; rightward; rightward = rightward[R]) {\n if (rightward[R] === antiAncestor[R]) {\n dir = L;\n leftEnd = ancestor;\n rightEnd = antiAncestor;\n break;\n }\n }\n }\n if (dir === R) {\n leftEnd = antiAncestor;\n rightEnd = ancestor;\n }\n\n // only want to select Nodes up to Points, can't select Points themselves\n if (leftEnd instanceof Point) leftEnd = leftEnd[R];\n if (rightEnd instanceof Point) rightEnd = rightEnd[L];\n if (!leftEnd || !rightEnd) return false; // empty boundary - can't form fragment\n\n this.hide().selection = lca.selectChildren(leftEnd, rightEnd);\n this.insDirOf(dir, this.selection.ends[dir]);\n this.selectionChanged();\n return true;\n };\n\n _.clearSelection = function() {\n if (this.selection) {\n this.selection.clear();\n delete this.selection;\n this.selectionChanged();\n }\n return this;\n };\n _.deleteSelection = function() {\n if (!this.selection) return;\n\n this[L] = this.selection.ends[L][L];\n this[R] = this.selection.ends[R][R];\n this.selection.remove();\n this.selectionChanged();\n delete this.selection;\n };\n _.replaceSelection = function() {\n var seln = this.selection;\n if (seln) {\n this[L] = seln.ends[L][L];\n this[R] = seln.ends[R][R];\n delete this.selection;\n }\n return seln;\n };\n _.depth = function() {\n var node = this;\n var depth = 0;\n while (node = node.parent) {\n depth += (node instanceof MathBlock) ? 1 : 0;\n }\n return depth;\n };\n _.isTooDeep = function(offset) {\n if (this.options.maxDepth !== undefined) {\n return this.depth() + (offset || 0) > this.options.maxDepth;\n }\n };\n _.howDeep = function() {\n var parents = 0, node = this;\n while (node = node.parent) { parents++; }\n return 1 + Math.floor(parents/2);\n };\n _.tooDeep = function() {\n var max = this.options.maxDepth;\n return max && this.howDeep() > max;\n };\n});\n\nvar Selection = P(Fragment, function(_, super_) {\n _.init = function() {\n super_.init.apply(this, arguments);\n this.jQ = this.jQ.wrapAll('<span class=\"mq-selection\"></span>').parent();\n //can't do wrapAll(this.jQ = $(...)) because wrapAll will clone it\n };\n _.adopt = function() {\n this.jQ.replaceWith(this.jQ = this.jQ.children());\n return super_.adopt.apply(this, arguments);\n };\n _.clear = function() {\n // using the browser's native .childNodes property so that we\n // don't discard text nodes.\n var first = this.jQ[0];\n if (first) this.jQ.replaceWith(first.childNodes);\n return this;\n };\n _.join = function(methodName) {\n return this.fold('', function(fold, child) {\n return fold + child[methodName]();\n });\n };\n});\n\n\n/*********************************************\n * Controller for a MathQuill instance,\n * on which services are registered with\n *\n * Controller.open(function(_) { ... });\n *\n ********************************************/\n\nvar Controller = P(function(_) {\n _.init = function(root, container, options) {\n this.id = root.id;\n this.data = {};\n\n this.root = root;\n this.container = container;\n this.options = options;\n\n root.controller = this;\n\n this.cursor = root.cursor = Cursor(root, options);\n // TODO: stop depending on root.cursor, and rm it\n };\n\n _.handle = function(name, dir) {\n var handlers = this.options.handlers;\n if (handlers && handlers.fns[name]) {\n var mq = handlers.APIClasses[this.KIND_OF_MQ](this);\n if (dir === L || dir === R) handlers.fns[name](dir, mq);\n else handlers.fns[name](mq);\n }\n };\n\n var notifyees = [];\n this.onNotify = function(f) { notifyees.push(f); };\n _.notify = function() {\n for (var i = 0; i < notifyees.length; i += 1) {\n notifyees[i].apply(this.cursor, arguments);\n }\n return this;\n };\n});\n\n\n/*********************************************************\n * The publicly exposed MathQuill API.\n ********************************************************/\n\nvar API = {},\n Options = P(),\n optionProcessors = {},\n Progenote = P(),\n EMBEDS = {};\n\n/**\n * Interface Versioning (#459, #495) to allow us to virtually guarantee\n * backcompat. v0.10.x introduces it, so for now, don't completely break the\n * API for people who don't know about it, just complain with console.warn().\n *\n * The methods are shimmed in outro.js so that MQ.MathField.prototype etc can\n * be accessed.\n */\nfunction insistOnInterVer() {\n if (window.console)\n console.warn(\n \"You are using the MathQuill API without specifying an interface version, \" +\n \"which will fail in v1.0.0. Easiest fix is to do the following before \" +\n \"doing anything else:\\n\" +\n \"\\n\" +\n \" MathQuill = MathQuill.getInterface(1);\\n\" +\n \" // now MathQuill.MathField() works like it used to\\n\" +\n \"\\n\" +\n 'See also the \"`dev` branch (2014–2015) → v0.10.0 Migration Guide\" at\\n' +\n \" https://github.com/mathquill/mathquill/wiki/%60dev%60-branch-(2014%E2%80%932015)-%E2%86%92-v0.10.0-Migration-Guide\"\n );\n}\n// globally exported API object\nfunction MathQuill(el) {\n insistOnInterVer();\n return MQ1(el);\n}\nMathQuill.prototype = Progenote.p;\nMathQuill.VERSION = \"v1.2.1-beta.1\";\nMathQuill.interfaceVersion = function(v) {\n // shim for #459-era interface versioning (ended with #495)\n if (v !== 1) throw \"Only interface version 1 supported. You specified: \" + v;\n insistOnInterVer = function() {\n if (window.console)\n console.warn(\n \"You called MathQuill.interfaceVersion(1); to specify the interface \" +\n \"version, which will fail in v1.0.0. You can fix this easily by doing \" +\n \"this before doing anything else:\\n\" +\n \"\\n\" +\n \" MathQuill = MathQuill.getInterface(1);\\n\" +\n \" // now MathQuill.MathField() works like it used to\\n\" +\n \"\\n\" +\n 'See also the \"`dev` branch (2014–2015) → v0.10.0 Migration Guide\" at\\n' +\n \" https://github.com/mathquill/mathquill/wiki/%60dev%60-branch-(2014%E2%80%932015)-%E2%86%92-v0.10.0-Migration-Guide\"\n );\n };\n insistOnInterVer();\n return MathQuill;\n};\nMathQuill.getInterface = getInterface;\n\nvar MIN = (getInterface.MIN = 1),\n MAX = (getInterface.MAX = 3);\nfunction getInterface(v) {\n if (!(MIN <= v && v <= MAX))\n throw \"Only interface versions between \" +\n MIN +\n \" and \" +\n MAX +\n \" supported. You specified: \" +\n v;\n\n // Interface v3 does not require jQuery\n // Interface v1 and v2 require jQuery to be loaded\n if (v < 3) {\n if (typeof window !== 'undefined' && !window.jQuery) {\n throw \"MathQuill interface version \" + v + \" requires jQuery 1.5.2+ to be loaded first\";\n }\n }\n\n /**\n * Function that takes an HTML element and, if it's the root HTML element of a\n * static math or math or text field, returns an API object for it (else, null).\n *\n * var mathfield = MQ.MathField(mathFieldSpan);\n * assert(MQ(mathFieldSpan).id === mathfield.id);\n * assert(MQ(mathFieldSpan).id === MQ(mathFieldSpan).id);\n *\n */\n function MQ(el) {\n if (!el || !el.nodeType) return null; // check that `el` is a HTML element, using the\n // same technique as jQuery: https://github.com/jquery/jquery/blob/679536ee4b7a92ae64a5f58d90e9cc38c001e807/src/core/init.js#L92\n var blockId = $(el)\n .children(\".mq-root-block\")\n .attr(mqBlockId);\n var ctrlr = blockId && Node.byId[blockId].controller;\n return ctrlr ? APIClasses[ctrlr.KIND_OF_MQ](ctrlr) : null;\n }\n var APIClasses = {};\n\n MQ.L = L;\n MQ.R = R;\n MQ.saneKeyboardEvents = saneKeyboardEvents;\n\n function config(currentOptions, newOptions) {\n if (newOptions && newOptions.handlers) {\n newOptions.handlers = {\n fns: newOptions.handlers,\n APIClasses: APIClasses\n };\n }\n for (var name in newOptions)\n if (newOptions.hasOwnProperty(name)) {\n var value = newOptions[name],\n processor = optionProcessors[name];\n currentOptions[name] = processor ? processor(value) : value;\n }\n }\n MQ.config = function(opts) {\n config(Options.p, opts);\n return this;\n };\n MQ.registerEmbed = function(name, options) {\n if (!/^[a-z][a-z0-9]*$/i.test(name)) {\n throw \"Embed name must start with letter and be only letters and digits\";\n }\n EMBEDS[name] = options;\n };\n\n var AbstractMathQuill = (APIClasses.AbstractMathQuill = P(Progenote, function(\n _\n ) {\n _.init = function(ctrlr) {\n this.__controller = ctrlr;\n this.__options = ctrlr.options;\n this.id = ctrlr.id;\n this.data = ctrlr.data;\n };\n _.parseLatex = function(str) {\n return this.__controller.parseLatex(str);\n };\n _.__mathquillify = function(classNames) {\n var ctrlr = this.__controller,\n root = ctrlr.root,\n el = ctrlr.container;\n ctrlr.createTextarea();\n\n var contents = el\n .addClass(classNames)\n .contents()\n .detach();\n root.jQ = $('<span class=\"mq-root-block\"/>')\n .attr(mqBlockId, root.id)\n .appendTo(el);\n this.latex(contents.text());\n\n this.revert = function() {\n var result = el\n .empty()\n .unbind(\".mathquill\")\n .removeClass(\"mq-editable-field mq-math-mode mq-text-mode\")\n .append(contents);\n // Interface v3 returns HTML element; v1 and v2 return jQuery object\n return v >= 3 ? result[0] : result;\n };\n };\n _.config = function(opts) {\n config(this.__options, opts);\n return this;\n };\n _.el = function() {\n return this.__controller.container[0];\n };\n _.text = function() {\n return this.__controller.exportText();\n };\n _.latex = function(latex) {\n if (arguments.length > 0) {\n this.__controller.renderLatexMath(latex);\n if (this.__controller.blurred)\n this.__controller.cursor.hide().parent.blur();\n return this;\n }\n return this.__controller.exportLatex();\n };\n _.html = function() {\n return this.__controller.root.jQ\n .html()\n .replace(/ mathquill-(?:command|block)-id=\"?\\d+\"?/g, \"\")\n .replace(/<span class=\"?mq-cursor( mq-blink)?\"?>.?<\\/span>/i, \"\")\n .replace(/ mq-hasCursor|mq-hasCursor ?/, \"\")\n .replace(/ class=(\"\"|(?= |>))/g, \"\");\n };\n _.reflow = function() {\n this.__controller.root.postOrder(\"reflow\");\n return this;\n };\n }));\n MQ.prototype = AbstractMathQuill.prototype;\n\n APIClasses.EditableField = P(AbstractMathQuill, function(_, super_) {\n _.__mathquillify = function() {\n super_.__mathquillify.apply(this, arguments);\n this.__controller.editable = true;\n this.__controller.delegateMouseEvents();\n this.__controller.editablesTextareaEvents();\n return this;\n };\n _.focus = function() {\n this.__controller.textarea.focus();\n return this;\n };\n _.blur = function() {\n this.__controller.textarea.blur();\n return this;\n };\n _.write = function(latex) {\n this.__controller.writeLatex(latex);\n this.__controller.scrollHoriz();\n if (this.__controller.blurred)\n this.__controller.cursor.hide().parent.blur();\n return this;\n };\n _.empty = function() {\n var root = this.__controller.root,\n cursor = this.__controller.cursor;\n root.eachChild(\"postOrder\", \"dispose\");\n root.ends[L] = root.ends[R] = 0;\n root.jQ.empty();\n delete cursor.selection;\n cursor.insAtRightEnd(root);\n return this;\n };\n _.cmd = function(cmd) {\n var ctrlr = this.__controller.notify(),\n cursor = ctrlr.cursor;\n if (/^\\\\[a-z]+$/i.test(cmd) && !cursor.isTooDeep()) {\n cmd = cmd.slice(1);\n var klass = LatexCmds[cmd];\n if (klass) {\n cmd = klass(cmd);\n if (cursor.selection) cmd.replaces(cursor.replaceSelection());\n cmd.createLeftOf(cursor.show());\n this.__controller.scrollHoriz();\n } /* TODO: API needs better error reporting */ else;\n } else cursor.parent.write(cursor, cmd);\n if (ctrlr.blurred) cursor.hide().parent.blur();\n return this;\n };\n _.select = function() {\n var ctrlr = this.__controller;\n ctrlr.notify(\"move\").cursor.insAtRightEnd(ctrlr.root);\n while (ctrlr.cursor[L]) ctrlr.selectLeft();\n return this;\n };\n _.clearSelection = function() {\n this.__controller.cursor.clearSelection();\n return this;\n };\n\n _.moveToDirEnd = function(dir) {\n this.__controller\n .notify(\"move\")\n .cursor.insAtDirEnd(dir, this.__controller.root);\n return this;\n };\n _.moveToLeftEnd = function() {\n return this.moveToDirEnd(L);\n };\n _.moveToRightEnd = function() {\n return this.moveToDirEnd(R);\n };\n\n _.keystroke = function(keys) {\n var keys = keys.replace(/^\\s+|\\s+$/g, \"\").split(/\\s+/);\n for (var i = 0; i < keys.length; i += 1) {\n this.__controller.keystroke(keys[i], { preventDefault: noop });\n }\n return this;\n };\n _.typedText = function(text) {\n for (var i = 0; i < text.length; i += 1)\n this.__controller.typedText(text.charAt(i));\n return this;\n };\n _.dropEmbedded = function(pageX, pageY, options) {\n var clientX = pageX - $(window).scrollLeft();\n var clientY = pageY - $(window).scrollTop();\n\n var el = document.elementFromPoint(clientX, clientY);\n this.__controller.seek($(el), pageX, pageY);\n var cmd = Embed().setOptions(options);\n cmd.createLeftOf(this.__controller.cursor);\n };\n _.clickAt = function(clientX, clientY, target) {\n target = target || document.elementFromPoint(clientX, clientY);\n\n var ctrlr = this.__controller,\n root = ctrlr.root;\n if (!jQuery.contains(root.jQ[0], target)) target = root.jQ[0];\n ctrlr.seek($(target), clientX + pageXOffset, clientY + pageYOffset);\n if (ctrlr.blurred) this.focus();\n return this;\n };\n _.ignoreNextMousedown = function(fn) {\n this.__controller.cursor.options.ignoreNextMousedown = fn;\n return this;\n };\n });\n MQ.EditableField = function() {\n throw \"wtf don't call me, I'm 'abstract'\";\n };\n MQ.EditableField.prototype = APIClasses.EditableField.prototype;\n\n /**\n * Export the API functions that MathQuill-ify an HTML element into API objects\n * of each class. If the element had already been MathQuill-ified but into a\n * different kind (or it's not an HTML element), return null.\n */\n for (var kind in API)\n (function(kind, defAPIClass) {\n var APIClass = (APIClasses[kind] = defAPIClass(APIClasses));\n MQ[kind] = function(el, opts) {\n var mq = MQ(el);\n if (mq instanceof APIClass || !el || !el.nodeType) return mq;\n var ctrlr = Controller(APIClass.RootBlock(), $(el), Options());\n ctrlr.KIND_OF_MQ = kind;\n return APIClass(ctrlr).__mathquillify(opts, v);\n };\n MQ[kind].prototype = APIClass.prototype;\n })(kind, API[kind]);\n\n return MQ;\n}\n\nMathQuill.noConflict = function() {\n window.MathQuill = origMathQuill;\n return MathQuill;\n};\nvar origMathQuill = window.MathQuill;\nwindow.MathQuill = MathQuill;\n\nfunction RootBlockMixin(_) {\n var names = \"moveOutOf deleteOutOf selectOutOf upOutOf downOutOf\".split(\" \");\n for (var i = 0; i < names.length; i += 1)\n (function(name) {\n _[name] = function(dir) {\n this.controller.handle(name, dir);\n };\n })(names[i]);\n _.reflow = function() {\n this.controller.handle(\"reflow\");\n this.controller.handle(\"edited\");\n this.controller.handle(\"edit\");\n };\n}\n\n\nvar Parser = P(function(_, super_, Parser) {\n // The Parser object is a wrapper for a parser function.\n // Externally, you use one to parse a string by calling\n // var result = SomeParser.parse('Me Me Me! Parse Me!');\n // You should never call the constructor, rather you should\n // construct your Parser from the base parsers and the\n // parser combinator methods.\n\n function parseError(stream, message) {\n if (stream) {\n stream = \"'\"+stream+\"'\";\n }\n else {\n stream = 'EOF';\n }\n\n throw 'Parse Error: '+message+' at '+stream;\n }\n\n _.init = function(body) { this._ = body; };\n\n _.parse = function(stream) {\n return this.skip(eof)._(''+stream, success, parseError);\n\n function success(stream, result) { return result; }\n };\n\n // -*- primitive combinators -*- //\n _.or = function(alternative) {\n pray('or is passed a parser', alternative instanceof Parser);\n\n var self = this;\n\n return Parser(function(stream, onSuccess, onFailure) {\n return self._(stream, onSuccess, failure);\n\n function failure(newStream) {\n return alternative._(stream, onSuccess, onFailure);\n }\n });\n };\n\n _.then = function(next) {\n var self = this;\n\n return Parser(function(stream, onSuccess, onFailure) {\n return self._(stream, success, onFailure);\n\n function success(newStream, result) {\n var nextParser = (next instanceof Parser ? next : next(result));\n pray('a parser is returned', nextParser instanceof Parser);\n return nextParser._(newStream, onSuccess, onFailure);\n }\n });\n };\n\n // -*- optimized iterative combinators -*- //\n _.many = function() {\n var self = this;\n\n return Parser(function(stream, onSuccess, onFailure) {\n var xs = [];\n while (self._(stream, success, failure));\n return onSuccess(stream, xs);\n\n function success(newStream, x) {\n stream = newStream;\n xs.push(x);\n return true;\n }\n\n function failure() {\n return false;\n }\n });\n };\n\n _.times = function(min, max) {\n if (arguments.length < 2) max = min;\n var self = this;\n\n return Parser(function(stream, onSuccess, onFailure) {\n var xs = [];\n var result = true;\n var failure;\n\n for (var i = 0; i < min; i += 1) {\n result = self._(stream, success, firstFailure);\n if (!result) return onFailure(stream, failure);\n }\n\n for (; i < max && result; i += 1) {\n result = self._(stream, success, secondFailure);\n }\n\n return onSuccess(stream, xs);\n\n function success(newStream, x) {\n xs.push(x);\n stream = newStream;\n return true;\n }\n\n function firstFailure(newStream, msg) {\n failure = msg;\n stream = newStream;\n return false;\n }\n\n function secondFailure(newStream, msg) {\n return false;\n }\n });\n };\n\n // -*- higher-level combinators -*- //\n _.result = function(res) { return this.then(succeed(res)); };\n _.atMost = function(n) { return this.times(0, n); };\n _.atLeast = function(n) {\n var self = this;\n return self.times(n).then(function(start) {\n return self.many().map(function(end) {\n return start.concat(end);\n });\n });\n };\n\n _.map = function(fn) {\n return this.then(function(result) { return succeed(fn(result)); });\n };\n\n _.skip = function(two) {\n return this.then(function(result) { return two.result(result); });\n };\n\n // -*- primitive parsers -*- //\n var string = this.string = function(str) {\n var len = str.length;\n var expected = \"expected '\"+str+\"'\";\n\n return Parser(function(stream, onSuccess, onFailure) {\n var head = stream.slice(0, len);\n\n if (head === str) {\n return onSuccess(stream.slice(len), head);\n }\n else {\n return onFailure(stream, expected);\n }\n });\n };\n\n var regex = this.regex = function(re) {\n pray('regexp parser is anchored', re.toString().charAt(1) === '^');\n\n var expected = 'expected '+re;\n\n return Parser(function(stream, onSuccess, onFailure) {\n var match = re.exec(stream);\n\n if (match) {\n var result = match[0];\n return onSuccess(stream.slice(result.length), result);\n }\n else {\n return onFailure(stream, expected);\n }\n });\n };\n\n var succeed = Parser.succeed = function(result) {\n return Parser(function(stream, onSuccess) {\n return onSuccess(stream, result);\n });\n };\n\n var fail = Parser.fail = function(msg) {\n return Parser(function(stream, _, onFailure) {\n return onFailure(stream, msg);\n });\n };\n\n var letter = Parser.letter = regex(/^[a-z]/i);\n var letters = Parser.letters = regex(/^[a-z]*/i);\n var digit = Parser.digit = regex(/^[0-9]/);\n var digits = Parser.digits = regex(/^[0-9]*/);\n var whitespace = Parser.whitespace = regex(/^\\s+/);\n var optWhitespace = Parser.optWhitespace = regex(/^\\s*/);\n\n var any = Parser.any = Parser(function(stream, onSuccess, onFailure) {\n if (!stream) return onFailure(stream, 'expected any character');\n\n return onSuccess(stream.slice(1), stream.charAt(0));\n });\n\n var all = Parser.all = Parser(function(stream, onSuccess, onFailure) {\n return onSuccess('', stream);\n });\n\n var eof = Parser.eof = Parser(function(stream, onSuccess, onFailure) {\n if (stream) return onFailure(stream, 'expected EOF');\n\n return onSuccess(stream, stream);\n });\n});\n\n\n/*************************************************\n * Sane Keyboard Events Shim\n *\n * An abstraction layer wrapping the textarea in\n * an object with methods to manipulate and listen\n * to events on, that hides all the nasty cross-\n * browser incompatibilities behind a uniform API.\n *\n * Design goal: This is a *HARD* internal\n * abstraction barrier. Cross-browser\n * inconsistencies are not allowed to leak through\n * and be dealt with by event handlers. All future\n * cross-browser issues that arise must be dealt\n * with here, and if necessary, the API updated.\n *\n * Organization:\n * - key values map and stringify()\n * - saneKeyboardEvents()\n * + defer() and flush()\n * + event handler logic\n * + attach event handlers and export methods\n ************************************************/\n\nvar saneKeyboardEvents = (function() {\n // The following [key values][1] map was compiled from the\n // [DOM3 Events appendix section on key codes][2] and\n // [a widely cited report on cross-browser tests of key codes][3],\n // except for 10: 'Enter', which I've empirically observed in Safari on iOS\n // and doesn't appear to conflict with any other known key codes.\n //\n // [1]: http://www.w3.org/TR/2012/WD-DOM-Level-3-Events-20120614/#keys-keyvalues\n // [2]: http://www.w3.org/TR/2012/WD-DOM-Level-3-Events-20120614/#fixed-virtual-key-codes\n // [3]: http://unixpapa.com/js/key.html\n var KEY_VALUES = {\n 8: 'Backspace',\n 9: 'Tab',\n\n 10: 'Enter', // for Safari on iOS\n\n 13: 'Enter',\n\n 16: 'Shift',\n 17: 'Control',\n 18: 'Alt',\n 20: 'CapsLock',\n\n 27: 'Esc',\n\n 32: 'Spacebar',\n\n 33: 'PageUp',\n 34: 'PageDown',\n 35: 'End',\n 36: 'Home',\n\n 37: 'Left',\n 38: 'Up',\n 39: 'Right',\n 40: 'Down',\n\n 45: 'Insert',\n\n 46: 'Del',\n\n 144: 'NumLock'\n };\n\n // To the extent possible, create a normalized string representation\n // of the key combo (i.e., key code and modifier keys).\n function stringify(evt) {\n var which = evt.which || evt.keyCode;\n var keyVal = KEY_VALUES[which];\n var key;\n var modifiers = [];\n\n if (evt.ctrlKey) modifiers.push('Ctrl');\n if (evt.originalEvent && evt.originalEvent.metaKey) modifiers.push('Meta');\n if (evt.altKey) modifiers.push('Alt');\n if (evt.shiftKey) modifiers.push('Shift');\n\n key = keyVal || String.fromCharCode(which);\n\n if (!modifiers.length && !keyVal) return key;\n\n modifiers.push(key);\n return modifiers.join('-');\n }\n\n // create a keyboard events shim that calls callbacks at useful times\n // and exports useful public methods\n return function saneKeyboardEvents(el, handlers) {\n var keydown = null;\n var keypress = null;\n\n var textarea = jQuery(el);\n var target = jQuery(handlers.container || textarea);\n\n // checkTextareaFor() is called after key or clipboard events to\n // say \"Hey, I think something was just typed\" or \"pasted\" etc,\n // so that at all subsequent opportune times (next event or timeout),\n // will check for expected typed or pasted text.\n // Need to check repeatedly because #135: in Safari 5.1 (at least),\n // after selecting something and then typing, the textarea is\n // incorrectly reported as selected during the input event (but not\n // subsequently).\n var checkTextarea = noop, timeoutId;\n function checkTextareaFor(checker) {\n checkTextarea = checker;\n clearTimeout(timeoutId);\n timeoutId = setTimeout(checker);\n }\n function checkTextareaOnce(checker) {\n checkTextareaFor(function(e) {\n checkTextarea = noop;\n clearTimeout(timeoutId);\n checker(e);\n });\n }\n target.bind('keydown keypress input keyup focusout paste', function(e) { checkTextarea(e); });\n\n\n // -*- public methods -*- //\n function select(text) {\n // check textarea at least once/one last time before munging (so\n // no race condition if selection happens after keypress/paste but\n // before checkTextarea), then never again ('cos it's been munged)\n checkTextarea();\n checkTextarea = noop;\n clearTimeout(timeoutId);\n\n textarea.val(text);\n if (text && textarea[0] && textarea[0].select) textarea[0].select();\n shouldBeSelected = !!text;\n }\n var shouldBeSelected = false;\n\n // -*- helper subroutines -*- //\n\n // Determine whether there's a selection in the textarea.\n // This will always return false in IE < 9, which don't support\n // HTMLTextareaElement::selection{Start,End}.\n function hasSelection() {\n var dom = textarea[0];\n\n if (!('selectionStart' in dom)) return false;\n return dom.selectionStart !== dom.selectionEnd;\n }\n\n function handleKey() {\n handlers.keystroke(stringify(keydown), keydown);\n }\n\n // -*- event handlers -*- //\n function onKeydown(e) {\n keydown = e;\n keypress = null;\n\n if (shouldBeSelected) checkTextareaOnce(function(e) {\n if (!(e && e.type === 'focusout') && textarea[0] && textarea[0].select) {\n // re-select textarea in case it's an unrecognized key that clears\n // the selection, then never again, 'cos next thing might be blur\n textarea[0].select();\n }\n });\n\n handleKey();\n }\n\n function onKeypress(e) {\n // call the key handler for repeated keypresses.\n // This excludes keypresses that happen directly\n // after keydown. In that case, there will be\n // no previous keypress, so we skip it here\n if (keydown && keypress) handleKey();\n\n keypress = e;\n\n checkTextareaFor(typedText);\n }\n function onKeyup(e) {\n // Handle case of no keypress event being sent\n if (!!keydown && !keypress) checkTextareaFor(typedText);\n }\n function typedText() {\n // If there is a selection, the contents of the textarea couldn't\n // possibly have just been typed in.\n // This happens in browsers like Firefox and Opera that fire\n // keypress for keystrokes that are not text entry and leave the\n // selection in the textarea alone, such as Ctrl-C.\n // Note: we assume that browsers that don't support hasSelection()\n // also never fire keypress on keystrokes that are not text entry.\n // This seems reasonably safe because:\n // - all modern browsers including IE 9+ support hasSelection(),\n // making it extremely unlikely any browser besides IE < 9 won't\n // - as far as we know IE < 9 never fires keypress on keystrokes\n // that aren't text entry, which is only as reliable as our\n // tests are comprehensive, but the IE < 9 way to do\n // hasSelection() is poorly documented and is also only as\n // reliable as our tests are comprehensive\n // If anything like #40 or #71 is reported in IE < 9, see\n // b1318e5349160b665003e36d4eedd64101ceacd8\n if (hasSelection()) return;\n\n var text = textarea.val();\n if (text.length === 1) {\n textarea.val('');\n handlers.typedText(text);\n } // in Firefox, keys that don't type text, just clear seln, fire keypress\n // https://github.com/mathquill/mathquill/issues/293#issuecomment-40997668\n else if (text && textarea[0] && textarea[0].select) textarea[0].select();\n }\n\n function onBlur() { keydown = keypress = null; }\n\n function onPaste(e) {\n // browsers are dumb.\n //\n // In Linux, middle-click pasting causes onPaste to be called,\n // when the textarea is not necessarily focused. We focus it\n // here to ensure that the pasted text actually ends up in the\n // textarea.\n //\n // It's pretty nifty that by changing focus in this handler,\n // we can change the target of the default action. (This works\n // on keydown too, FWIW).\n //\n // And by nifty, we mean dumb (but useful sometimes).\n textarea.focus();\n\n checkTextareaFor(pastedText);\n }\n function pastedText() {\n var text = textarea.val();\n textarea.val('');\n if (text) handlers.paste(text);\n }\n\n // -*- attach event handlers -*- //\n target.bind({\n keydown: onKeydown,\n keypress: onKeypress,\n keyup: onKeyup,\n focusout: onBlur,\n cut: function() { checkTextareaOnce(function() { handlers.cut(); }); },\n copy: function() { checkTextareaOnce(function() { handlers.copy(); }); },\n paste: onPaste\n });\n\n // -*- export public methods -*- //\n return {\n select: select\n };\n };\n}());\n\n\n/***********************************************\n * Export math in a human-readable text format\n * As you can see, only half-baked so far.\n **********************************************/\n\nController.open(function(_, super_) {\n _.exportText = function() {\n return this.root.foldChildren('', function(text, child) {\n return text + child.text();\n });\n };\n});\n\n\nController.open(function(_) {\n _.focusBlurEvents = function() {\n var ctrlr = this, root = ctrlr.root, cursor = ctrlr.cursor;\n var blurTimeout;\n ctrlr.textarea.focus(function() {\n ctrlr.blurred = false;\n clearTimeout(blurTimeout);\n ctrlr.container.addClass('mq-focused');\n if (!cursor.parent)\n cursor.insAtRightEnd(root);\n if (cursor.selection) {\n cursor.selection.jQ.removeClass('mq-blur');\n ctrlr.selectionChanged(); //re-select textarea contents after tabbing away and back\n }\n else\n cursor.show();\n }).blur(function() {\n ctrlr.blurred = true;\n blurTimeout = setTimeout(function() { // wait for blur on window; if\n root.postOrder('intentionalBlur'); // none, intentional blur: #264\n cursor.clearSelection().endSelection();\n blur();\n });\n $(window).bind('blur', windowBlur);\n });\n function windowBlur() { // blur event also fired on window, just switching\n clearTimeout(blurTimeout); // tabs/windows, not intentional blur\n if (cursor.selection) cursor.selection.jQ.addClass('mq-blur');\n blur();\n }\n function blur() { // not directly in the textarea blur handler so as to be\n cursor.hide().parent.blur(); // synchronous with/in the same frame as\n ctrlr.container.removeClass('mq-focused'); // clearing/blurring selection\n $(window).unbind('blur', windowBlur);\n }\n ctrlr.blurred = true;\n cursor.hide().parent.blur();\n };\n});\n\n/**\n * TODO: I wanted to move MathBlock::focus and blur here, it would clean\n * up lots of stuff like, TextBlock::focus is set to MathBlock::focus\n * and TextBlock::blur calls MathBlock::blur, when instead they could\n * use inheritance and super_.\n *\n * Problem is, there's lots of calls to .focus()/.blur() on nodes\n * outside Controller::focusBlurEvents(), such as .postOrder('blur') on\n * insertion, which if MathBlock::blur becomes Node::blur, would add the\n * 'blur' CSS class to all Symbol's (because .isEmpty() is true for all\n * of them).\n *\n * I'm not even sure there aren't other troublesome calls to .focus() or\n * .blur(), so this is TODO for now.\n */\n\n\n/*****************************************\n * Deals with the browser DOM events from\n * interaction with the typist.\n ****************************************/\n\nController.open(function(_) {\n _.keystroke = function(key, evt) {\n this.cursor.parent.keystroke(key, evt, this);\n };\n});\n\nNode.open(function(_) {\n _.keystroke = function(key, e, ctrlr) {\n var cursor = ctrlr.cursor;\n\n switch (key) {\n case 'Ctrl-Shift-Backspace':\n case 'Ctrl-Backspace':\n ctrlr.ctrlDeleteDir(L);\n break;\n\n case 'Shift-Backspace':\n case 'Backspace':\n ctrlr.backspace();\n break;\n\n // Tab or Esc -> go one block right if it exists, else escape right.\n case 'Esc':\n case 'Tab':\n ctrlr.escapeDir(R, key, e);\n return;\n\n // Shift-Tab -> go one block left if it exists, else escape left.\n case 'Shift-Tab':\n case 'Shift-Esc':\n ctrlr.escapeDir(L, key, e);\n return;\n\n // End -> move to the end of the current block.\n case 'End':\n ctrlr.notify('move').cursor.insAtRightEnd(cursor.parent);\n break;\n\n // Ctrl-End -> move all the way to the end of the root block.\n case 'Ctrl-End':\n ctrlr.notify('move').cursor.insAtRightEnd(ctrlr.root);\n break;\n\n // Shift-End -> select to the end of the current block.\n case 'Shift-End':\n while (cursor[R]) {\n ctrlr.selectRight();\n }\n break;\n\n // Ctrl-Shift-End -> select to the end of the root block.\n case 'Ctrl-Shift-End':\n while (cursor[R] || cursor.parent !== ctrlr.root) {\n ctrlr.selectRight();\n }\n break;\n\n // Home -> move to the start of the root block or the current block.\n case 'Home':\n ctrlr.notify('move').cursor.insAtLeftEnd(cursor.parent);\n break;\n\n // Ctrl-Home -> move to the start of the current block.\n case 'Ctrl-Home':\n ctrlr.notify('move').cursor.insAtLeftEnd(ctrlr.root);\n break;\n\n // Shift-Home -> select to the start of the current block.\n case 'Shift-Home':\n while (cursor[L]) {\n ctrlr.selectLeft();\n }\n break;\n\n // Ctrl-Shift-Home -> move to the start of the root block.\n case 'Ctrl-Shift-Home':\n while (cursor[L] || cursor.parent !== ctrlr.root) {\n ctrlr.selectLeft();\n }\n break;\n\n case 'Left': ctrlr.moveLeft(); break;\n case 'Shift-Left': ctrlr.selectLeft(); break;\n case 'Ctrl-Left': break;\n\n case 'Right': ctrlr.moveRight(); break;\n case 'Shift-Right': ctrlr.selectRight(); break;\n case 'Ctrl-Right': break;\n\n case 'Up': ctrlr.moveUp(); break;\n case 'Down': ctrlr.moveDown(); break;\n\n case 'Shift-Up':\n if (cursor[L]) {\n while (cursor[L]) ctrlr.selectLeft();\n } else {\n ctrlr.selectLeft();\n }\n\n case 'Shift-Down':\n if (cursor[R]) {\n while (cursor[R]) ctrlr.selectRight();\n }\n else {\n ctrlr.selectRight();\n }\n\n case 'Ctrl-Up': break;\n case 'Ctrl-Down': break;\n\n case 'Ctrl-Shift-Del':\n case 'Ctrl-Del':\n ctrlr.ctrlDeleteDir(R);\n break;\n\n case 'Shift-Del':\n case 'Del':\n ctrlr.deleteForward();\n break;\n\n case 'Meta-A':\n case 'Ctrl-A':\n ctrlr.notify('move').cursor.insAtRightEnd(ctrlr.root);\n while (cursor[L]) ctrlr.selectLeft();\n break;\n\n default:\n return;\n }\n e.preventDefault();\n ctrlr.scrollHoriz();\n };\n\n _.moveOutOf = // called by Controller::escapeDir, moveDir\n _.moveTowards = // called by Controller::moveDir\n _.deleteOutOf = // called by Controller::deleteDir\n _.deleteTowards = // called by Controller::deleteDir\n _.unselectInto = // called by Controller::selectDir\n _.selectOutOf = // called by Controller::selectDir\n _.selectTowards = // called by Controller::selectDir\n function() { pray('overridden or never called on this node'); };\n});\n\nController.open(function(_) {\n this.onNotify(function(e) {\n if (e === 'move' || e === 'upDown') this.show().clearSelection();\n });\n _.escapeDir = function(dir, key, e) {\n prayDirection(dir);\n var cursor = this.cursor;\n\n // only prevent default of Tab if not in the root editable\n if (cursor.parent !== this.root) e.preventDefault();\n\n // want to be a noop if in the root editable (in fact, Tab has an unrelated\n // default browser action if so)\n if (cursor.parent === this.root) return;\n\n cursor.parent.moveOutOf(dir, cursor);\n return this.notify('move');\n };\n\n optionProcessors.leftRightIntoCmdGoes = function(updown) {\n if (updown && updown !== 'up' && updown !== 'down') {\n throw '\"up\" or \"down\" required for leftRightIntoCmdGoes option, '\n + 'got \"'+updown+'\"';\n }\n return updown;\n };\n _.moveDir = function(dir) {\n prayDirection(dir);\n var cursor = this.cursor, updown = cursor.options.leftRightIntoCmdGoes;\n\n if (cursor.selection) {\n cursor.insDirOf(dir, cursor.selection.ends[dir]);\n }\n else if (cursor[dir]) cursor[dir].moveTowards(dir, cursor, updown);\n else cursor.parent.moveOutOf(dir, cursor, updown);\n\n return this.notify('move');\n };\n _.moveLeft = function() { return this.moveDir(L); };\n _.moveRight = function() { return this.moveDir(R); };\n\n /**\n * moveUp and moveDown have almost identical algorithms:\n * - first check left and right, if so insAtLeft/RightEnd of them\n * - else check the parent's 'upOutOf'/'downOutOf' property:\n * + if it's a function, call it with the cursor as the sole argument and\n * use the return value as if it were the value of the property\n * + if it's a Node, jump up or down into it:\n * - if there is a cached Point in the block, insert there\n * - else, seekHoriz within the block to the current x-coordinate (to be\n * as close to directly above/below the current position as possible)\n * + unless it's exactly `true`, stop bubbling\n */\n _.moveUp = function() { return moveUpDown(this, 'up'); };\n _.moveDown = function() { return moveUpDown(this, 'down'); };\n function moveUpDown(self, dir) {\n var cursor = self.notify('upDown').cursor;\n var dirInto = dir+'Into', dirOutOf = dir+'OutOf';\n if (cursor[R][dirInto]) cursor.insAtLeftEnd(cursor[R][dirInto]);\n else if (cursor[L][dirInto]) cursor.insAtRightEnd(cursor[L][dirInto]);\n else {\n cursor.parent.bubble(function(ancestor) {\n var prop = ancestor[dirOutOf];\n if (prop) {\n if (typeof prop === 'function') prop = ancestor[dirOutOf](cursor);\n if (prop instanceof Node) cursor.jumpUpDown(ancestor, prop);\n if (prop !== true) return false;\n }\n });\n }\n return self;\n }\n this.onNotify(function(e) { if (e !== 'upDown') this.upDownCache = {}; });\n\n this.onNotify(function(e) { if (e === 'edit') this.show().deleteSelection(); });\n _.deleteDir = function(dir) {\n prayDirection(dir);\n var cursor = this.cursor;\n\n var hadSelection = cursor.selection;\n this.notify('edit'); // deletes selection if present\n if (!hadSelection) {\n if (cursor[dir]) cursor[dir].deleteTowards(dir, cursor);\n else cursor.parent.deleteOutOf(dir, cursor);\n }\n\n if (cursor[L].siblingDeleted) cursor[L].siblingDeleted(cursor.options, R);\n if (cursor[R].siblingDeleted) cursor[R].siblingDeleted(cursor.options, L);\n cursor.parent.bubble('reflow');\n\n return this;\n };\n _.ctrlDeleteDir = function(dir) {\n prayDirection(dir);\n var cursor = this.cursor;\n if (!cursor[dir] || cursor.selection) return this.deleteDir(dir);\n\n this.notify('edit');\n if (dir === L) {\n Fragment(cursor.parent.ends[L], cursor[L]).remove();\n } else {\n Fragment(cursor[R], cursor.parent.ends[R]).remove();\n };\n cursor.insAtDirEnd(dir, cursor.parent);\n\n if (cursor[L].siblingDeleted) cursor[L].siblingDeleted(cursor.options, R);\n if (cursor[R].siblingDeleted) cursor[R].siblingDeleted(cursor.options, L);\n cursor.parent.bubble('reflow');\n\n return this;\n };\n _.backspace = function() { return this.deleteDir(L); };\n _.deleteForward = function() { return this.deleteDir(R); };\n\n this.onNotify(function(e) { if (e !== 'select') this.endSelection(); });\n _.selectDir = function(dir) {\n var cursor = this.notify('select').cursor, seln = cursor.selection;\n prayDirection(dir);\n\n if (!cursor.anticursor) cursor.startSelection();\n\n var node = cursor[dir];\n if (node) {\n // \"if node we're selecting towards is inside selection (hence retracting)\n // and is on the *far side* of the selection (hence is only node selected)\n // and the anticursor is *inside* that node, not just on the other side\"\n if (seln && seln.ends[dir] === node && cursor.anticursor[-dir] !== node) {\n node.unselectInto(dir, cursor);\n }\n else node.selectTowards(dir, cursor);\n }\n else cursor.parent.selectOutOf(dir, cursor);\n\n cursor.clearSelection();\n cursor.select() || cursor.show();\n };\n _.selectLeft = function() { return this.selectDir(L); };\n _.selectRight = function() { return this.selectDir(R); };\n});\n\n\nvar EXTRA_SLASHES_REGEX = /[\\\\]{2,}/gm;\n\n// Parser MathBlock\nvar latexMathParser = (function() {\n function commandToBlock(cmd) {\n // can also take in a Fragment\n var block = MathBlock();\n cmd.adopt(block, 0, 0);\n return block;\n }\n function joinBlocks(blocks) {\n var firstBlock = blocks[0] || MathBlock();\n\n for (var i = 1; i < blocks.length; i += 1) {\n blocks[i].children().adopt(firstBlock, firstBlock.ends[R], 0);\n }\n\n return firstBlock;\n }\n\n var string = Parser.string;\n var regex = Parser.regex;\n var letter = Parser.letter;\n var any = Parser.any;\n var optWhitespace = Parser.optWhitespace;\n var succeed = Parser.succeed;\n var fail = Parser.fail;\n\n // Parsers yielding either MathCommands, or Fragments of MathCommands\n // (either way, something that can be adopted by a MathBlock)\n var variable = letter.map(function(c) {\n return Letter(c);\n });\n var symbol = regex(/^[^${}\\\\_^]/).map(function(c) {\n return VanillaSymbol(c);\n });\n\n // Compound commands e.g. \\not\\subset\n var compound = regex(/^\\\\not\\\\[a-z]+/).then(function(cmp) {\n return CompoundCmds[cmp] && CompoundCmds[cmp]().parser() ||\n fail('unknown compound command: '+cmp);\n });\n\n var controlSequence = regex(/^[^\\\\a-eg-zA-Z]/) // hotfix #164; match MathBlock::write\n .or(\n string(\"\\\\\").then(\n regex(/^begin\\{.?matrix\\}/)\n .or(regex(/^[a-z]+/i))\n .or(regex(/^\\s+/).result(\" \"))\n .or(any)\n )\n )\n .then(function(ctrlSeq) {\n ctrlSeq = ctrlSeq.replace(/^begin\\{(.?matrix)\\}$/, '$1');\n\n var cmdKlass = LatexCmds[ctrlSeq];\n\n if (cmdKlass) {\n return cmdKlass(ctrlSeq).parser();\n } else {\n return fail(\"unknown command: \\\\\" + ctrlSeq);\n }\n });\n var command = compound.or(controlSequence).or(variable).or(symbol);\n // Parsers yielding MathBlocks\n var mathGroup = string(\"{\")\n .then(function() {\n return mathSequence;\n })\n .skip(string(\"}\"));\n var mathBlock = optWhitespace.then(mathGroup.or(command.map(commandToBlock)));\n var mathSequence = mathBlock\n .many()\n .map(joinBlocks)\n .skip(optWhitespace);\n\n var optMathBlock = string(\"[\")\n .then(\n mathBlock\n .then(function(block) {\n return block.join(\"latex\") !== \"]\" ? succeed(block) : fail();\n })\n .many()\n .map(joinBlocks)\n .skip(optWhitespace)\n )\n .skip(string(\"]\"));\n var latexMath = mathSequence;\n\n latexMath.block = mathBlock;\n latexMath.optBlock = optMathBlock;\n return latexMath;\n})();\n\nController.open(function(_, super_) {\n _.exportLatex = function() {\n return this.root.latex().replace(/(\\\\[a-z]+) (?![a-z])/gi, \"$1\");\n };\n\n _.parseLatex = function(str) {\n return latexMathParser\n .parse(str)\n .postOrder(\"finalizeTree\", Options.p)\n .join(\"latex\")\n .trim();\n };\n\n optionProcessors.maxDepth = function(depth) {\n return typeof depth === \"number\" ? depth : undefined;\n };\n _.writeLatex = function(latex) {\n var cursor = this.notify(\"edit\").cursor;\n\n var all = Parser.all;\n var eof = Parser.eof;\n\n var block = latexMathParser\n .skip(eof)\n .or(all.result(false))\n .parse(latex);\n\n if (block && !block.isEmpty() && block.prepareInsertionAt(cursor)) {\n block.children().adopt(cursor.parent, cursor[L], cursor[R]);\n var jQ = block.jQize();\n jQ.insertBefore(cursor.jQ);\n cursor[L] = block.ends[R];\n block.finalizeInsert(cursor.options, cursor);\n if (block.ends[R][R].siblingCreated)\n block.ends[R][R].siblingCreated(cursor.options, L);\n if (block.ends[L][L].siblingCreated)\n block.ends[L][L].siblingCreated(cursor.options, R);\n cursor.parent.bubble(\"reflow\");\n }\n\n return this;\n };\n _.renderLatexMath = function(latex) {\n if (latex && latex.replace) {\n latex = latex.replace(EXTRA_SLASHES_REGEX, '\\\\')\n }\n\n var root = this.root;\n var cursor = this.cursor;\n var options = cursor.options;\n var jQ = root.jQ;\n\n var all = Parser.all;\n var eof = Parser.eof;\n\n var block = latexMathParser\n .skip(eof)\n .or(all.result(false))\n .parse(latex);\n\n root.eachChild(\"postOrder\", \"dispose\");\n root.ends[L] = root.ends[R] = 0;\n\n if (block && block.prepareInsertionAt(cursor)) {\n block.children().adopt(root, 0, 0);\n var html = block.join(\"html\");\n jQ.html(html);\n root.jQize(jQ.children());\n root.finalizeInsert(cursor.options);\n } else {\n jQ.empty();\n }\n\n delete cursor.selection;\n cursor.insAtRightEnd(root);\n };\n _.renderLatexText = function(latex) {\n var root = this.root,\n cursor = this.cursor;\n\n root.jQ\n .children()\n .slice(1)\n .remove();\n root.eachChild(\"postOrder\", \"dispose\");\n root.ends[L] = root.ends[R] = 0;\n delete cursor.selection;\n cursor.show().insAtRightEnd(root);\n\n var regex = Parser.regex;\n var string = Parser.string;\n var eof = Parser.eof;\n var all = Parser.all;\n\n // Parser RootMathCommand\n var mathMode = string(\"$\")\n .then(latexMathParser)\n // because TeX is insane, math mode doesn't necessarily\n // have to end. So we allow for the case that math mode\n // continues to the end of the stream.\n .skip(string(\"$\").or(eof))\n .map(function(block) {\n // HACK FIXME: this shouldn't have to have access to cursor\n var rootMathCommand = RootMathCommand(cursor);\n\n rootMathCommand.createBlocks();\n var rootMathBlock = rootMathCommand.ends[L];\n block.children().adopt(rootMathBlock, 0, 0);\n\n return rootMathCommand;\n });\n var escapedDollar = string(\"\\\\$\").result(\"$\");\n var textChar = escapedDollar.or(regex(/^[^$]/)).map(VanillaSymbol);\n var latexText = mathMode.or(textChar).many();\n var commands = latexText\n .skip(eof)\n .or(all.result(false))\n .parse(latex);\n\n if (commands) {\n for (var i = 0; i < commands.length; i += 1) {\n commands[i].adopt(root, root.ends[R], 0);\n }\n\n root.jQize().appendTo(root.jQ);\n\n root.finalizeInsert(cursor.options);\n }\n };\n});\n\n\n/********************************************************\n * Deals with mouse events for clicking, drag-to-select\n *******************************************************/\n\nController.open(function(_) {\n Options.p.ignoreNextMousedown = noop;\n _.delegateMouseEvents = function() {\n var ultimateRootjQ = this.root.jQ;\n //drag-to-select event handling\n this.container.bind('mousedown.mathquill', function(e) {\n var rootjQ = $(e.target).closest('.mq-root-block');\n var root = Node.byId[rootjQ.attr(mqBlockId) || ultimateRootjQ.attr(mqBlockId)];\n var ctrlr = root.controller, cursor = ctrlr.cursor, blink = cursor.blink;\n var textareaSpan = ctrlr.textareaSpan, textarea = ctrlr.textarea;\n\n e.preventDefault(); // doesn't work in IE≤8, but it's a one-line fix:\n e.target.unselectable = true; // http://jsbin.com/yagekiji/1\n\n if (cursor.options.ignoreNextMousedown(e)) return;\n else cursor.options.ignoreNextMousedown = noop;\n\n function mousemove(e) {\n if (!cursor.anticursor) cursor.startSelection();\n ctrlr.seek($(e.target), e.pageX, e.pageY).cursor.select();\n\n // [Eoghan]: Unbinding as I don't want this to get called twice.\n // https://github.com/mathquill/mathquill/issues/312\n if (e.target) $(e.target.ownerDocument).unbind('mousemove', docmousemove);\n }\n\n // docmousemove is attached to the document, so that\n // selection still works when the mouse leaves the window.\n function docmousemove(e) {\n // [Han]: i delete the target because of the way seek works.\n // it will not move the mouse to the target, but will instead\n // just seek those X and Y coordinates. If there is a target,\n // it will try to move the cursor to document, which will not work.\n // cursor.seek needs to be refactored.\n delete e.target;\n\n return mousemove(e);\n }\n\n function mouseup(e) {\n if (!cursor.selection && !ctrlr.editable) {\n textareaSpan.detach();\n }\n\n // delete the mouse handlers now that we're not dragging anymore\n rootjQ.unbind('mousemove', mousemove);\n $(e.target.ownerDocument).unbind('mousemove', docmousemove).unbind('mouseup', mouseup);\n }\n\n //if user clicks outside a response area\n //or on the fraction bar, then a mouse event is triggered\n //at this point, textareaSpan has a default value\n //but is not attached to the DOM so has no parent\n if (textareaSpan.parent().length === 0) {\n return false;\n }\n \n if (ctrlr.blurred) {\n if (!ctrlr.editable) \n rootjQ.prepend(textareaSpan);\n\n //focus on body first\n //to ensure that if user clicks in address\n //bar and then back into a math box, the user can type\n //otherwise, typing in the math box will just\n //result in text being added to address bar\n document.body.focus();\n textarea.focus();\n }\n\n e.preventDefault(); // doesn't work in IE\\u22648, but it's a one-line fix:\n e.target.unselectable = true; // http://jsbin.com/yagekiji/1\n\n cursor.show();\n ctrlr.seek($(e.target), e.pageX, e.pageY).cursor.startSelection();\n\n rootjQ.mousemove(mousemove);\n $(e.target.ownerDocument).mousemove(docmousemove).mouseup(mouseup);\n // listen on document not just body to not only hear about mousemove and\n // mouseup on page outside field, but even outside page, except iframes: https://github.com/mathquill/mathquill/commit/8c50028afcffcace655d8ae2049f6e02482346c5#commitcomment-6175800\n });\n }\n});\nController.open(function(_) {\n _.seek = function(target, pageX, pageY) {\n var cursor = this.notify('select').cursor;\n\n if (target) {\n var nodeId = target.attr(mqBlockId) || target.attr(mqCmdId);\n if (!nodeId) {\n var targetParent = target.parent();\n nodeId = targetParent.attr(mqBlockId) || targetParent.attr(mqCmdId);\n }\n }\n var node = (nodeId && Node.byId[nodeId]) ? Node.byId[nodeId] : this.root;\n\n // don't clear selection until after getting node from target, in case\n // target was selection span, otherwise target will have no parent and will\n // seek from root, which is less accurate (e.g. fraction)\n cursor.clearSelection().show();\n\n node.seek(pageX, cursor);\n this.scrollHoriz(); // before .selectFrom when mouse-selecting, so\n // always hits no-selection case in scrollHoriz and scrolls slower\n return this;\n };\n});\n\n\n/***********************************************\n * Horizontal panning for editable fields that\n * overflow their width\n **********************************************/\n\nController.open(function(_) {\n _.scrollHoriz = function() {\n var cursor = this.cursor, seln = cursor.selection;\n var rootRect = this.root.jQ[0].getBoundingClientRect();\n if (!seln) {\n var x = cursor.jQ[0].getBoundingClientRect().left;\n if (x > rootRect.right - 20) var scrollBy = x - (rootRect.right - 20);\n else if (x < rootRect.left + 20) var scrollBy = x - (rootRect.left + 20);\n else return;\n }\n else {\n var rect = seln.jQ[0].getBoundingClientRect();\n var overLeft = rect.left - (rootRect.left + 20);\n var overRight = rect.right - (rootRect.right - 20);\n if (seln.ends[L] === cursor[R]) {\n if (overLeft < 0) var scrollBy = overLeft;\n else if (overRight > 0) {\n if (rect.left - overRight < rootRect.left + 20) var scrollBy = overLeft;\n else var scrollBy = overRight;\n }\n else return;\n }\n else {\n if (overRight > 0) var scrollBy = overRight;\n else if (overLeft < 0) {\n if (rect.right - overLeft > rootRect.right - 20) var scrollBy = overRight;\n else var scrollBy = overLeft;\n }\n else return;\n }\n }\n if (this.root.jQ.stop && typeof this.root.jQ.stop === 'function') {\n this.root.jQ.stop().animate({ scrollLeft: '+=' + scrollBy}, 100);\n }\n };\n});\n\n\n/*********************************************\n * Manage the MathQuill instance's textarea\n * (as owned by the Controller)\n ********************************************/\n\nController.open(function(_) {\n Options.p.substituteTextarea = function() {\n return $('<textarea autocapitalize=off autocomplete=off autocorrect=off ' +\n 'spellcheck=false x-palm-disable-ste-all=true />')[0];\n };\n _.createTextarea = function() {\n var textareaSpan = this.textareaSpan = $('<span class=\"mq-textarea\"></span>'),\n textarea = this.options.substituteTextarea();\n if (!textarea.nodeType) {\n throw 'substituteTextarea() must return a DOM element, got ' + textarea;\n }\n textarea = this.textarea = $(textarea).appendTo(textareaSpan);\n\n var ctrlr = this;\n ctrlr.cursor.selectionChanged = function() { ctrlr.selectionChanged(); };\n };\n _.selectionChanged = function() {\n var ctrlr = this;\n forceIERedraw(ctrlr.container[0]);\n\n // throttle calls to setTextareaSelection(), because setting textarea.value\n // and/or calling textarea.select() can have anomalously bad performance:\n // https://github.com/mathquill/mathquill/issues/43#issuecomment-1399080\n if (ctrlr.textareaSelectionTimeout === undefined) {\n ctrlr.textareaSelectionTimeout = setTimeout(function() {\n ctrlr.setTextareaSelection();\n });\n }\n };\n _.setTextareaSelection = function() {\n this.textareaSelectionTimeout = undefined;\n var latex = '';\n if (this.cursor.selection) {\n latex = this.cursor.selection.join('latex');\n if (this.options.statelessClipboard) {\n // FIXME: like paste, only this works for math fields; should ask parent\n latex = '$' + latex + '$';\n }\n }\n this.selectFn(latex);\n };\n _.staticMathTextareaEvents = function() {\n var ctrlr = this, root = ctrlr.root, cursor = ctrlr.cursor,\n textarea = ctrlr.textarea, textareaSpan = ctrlr.textareaSpan;\n\n this.container.prepend(jQuery('<span class=\"mq-selectable\">')\n .text('$'+ctrlr.exportLatex()+'$'));\n ctrlr.blurred = true;\n textarea.bind('cut paste', false)\n .bind('copy', function() { ctrlr.setTextareaSelection(); })\n .focus(function() { ctrlr.blurred = false; }).blur(function() {\n if (cursor.selection) cursor.selection.clear();\n setTimeout(detach); //detaching during blur explodes in WebKit\n });\n function detach() {\n textareaSpan.detach();\n ctrlr.blurred = true;\n }\n\n ctrlr.selectFn = function(text) {\n textarea.val(text);\n if (text) textarea.select();\n };\n };\n Options.p.substituteKeyboardEvents = saneKeyboardEvents;\n _.editablesTextareaEvents = function() {\n var ctrlr = this, textarea = ctrlr.textarea, textareaSpan = ctrlr.textareaSpan;\n\n var keyboardEventsShim = this.options.substituteKeyboardEvents(textarea, this);\n this.selectFn = function(text) { keyboardEventsShim.select(text); };\n this.container.prepend(textareaSpan);\n this.focusBlurEvents();\n };\n _.typedText = function(ch) {\n if (ch === '\\n') return this.handle('enter');\n var cursor = this.notify().cursor;\n cursor.parent.write(cursor, ch);\n this.scrollHoriz();\n };\n _.cut = function() {\n var ctrlr = this, cursor = ctrlr.cursor;\n if (cursor.selection) {\n setTimeout(function() {\n ctrlr.notify('edit'); // deletes selection if present\n cursor.parent.bubble('reflow');\n });\n }\n };\n _.copy = function() {\n this.setTextareaSelection();\n };\n _.paste = function(text) {\n // TODO: document `statelessClipboard` config option in README, after\n // making it work like it should, that is, in both text and math mode\n // (currently only works in math fields, so worse than pointless, it\n // only gets in the way by \\text{}-ifying pasted stuff and $-ifying\n // cut/copied LaTeX)\n if (this.options.statelessClipboard) {\n if (text.slice(0,1) === '$' && text.slice(-1) === '$') {\n text = text.slice(1, -1);\n }\n else {\n text = '\\\\text{'+text+'}';\n }\n }\n // FIXME: this always inserts math or a TextBlock, even in a RootTextBlock\n this.writeLatex(text).cursor.show();\n };\n});\n\n\n/*************************************************\n * Abstract classes of math blocks and commands.\n ************************************************/\n\n/**\n * Math tree node base class.\n * Some math-tree-specific extensions to Node.\n * Both MathBlock's and MathCommand's descend from it.\n */\nvar MathElement = P(Node, function(_, super_) {\n _.finalizeInsert = function(options, cursor) { // `cursor` param is only for\n // SupSub::contactWeld, and is deliberately only passed in by writeLatex,\n // see ea7307eb4fac77c149a11ffdf9a831df85247693\n var self = this;\n self.postOrder('finalizeTree', options);\n self.postOrder('contactWeld', cursor);\n\n // note: this order is important.\n // empty elements need the empty box provided by blur to\n // be present in order for their dimensions to be measured\n // correctly by 'reflow' handlers.\n self.postOrder('blur');\n\n self.postOrder('reflow');\n if (self[R].siblingCreated) self[R].siblingCreated(options, L);\n if (self[L].siblingCreated) self[L].siblingCreated(options, R);\n self.bubble('reflow');\n };\n // If the maxDepth option is set, make sure\n // deeply nested content is truncated. Just return\n // false if the cursor is already too deep.\n _.prepareInsertionAt = function(cursor) {\n var maxDepth = cursor.options.maxDepth;\n if (maxDepth !== undefined) {\n var cursorDepth = cursor.depth();\n if (cursorDepth > maxDepth) {\n return false;\n }\n this.removeNodesDeeperThan(maxDepth-cursorDepth);\n }\n return true;\n };\n // Remove nodes that are more than `cutoff`\n // blocks deep from this node.\n _.removeNodesDeeperThan = function (cutoff) {\n var depth = 0;\n var queue = [[this, depth]];\n var current;\n\n // Do a breadth-first search of this node's descendants\n // down to cutoff, removing anything deeper.\n while (queue.length) {\n current = queue.shift();\n current[0].children().each(function (child) {\n var i = (child instanceof MathBlock) ? 1 : 0;\n depth = current[1]+i;\n\n if (depth <= cutoff) {\n queue.push([child, depth]);\n } else {\n (i ? child.children() : child).remove();\n }\n });\n }\n };\n});\n\n/**\n * Commands and operators, like subscripts, exponents, or fractions.\n * Descendant commands are organized into blocks.\n */\nvar MathCommand = P(MathElement, function(_, super_) {\n _.init = function(ctrlSeq, htmlTemplate, textTemplate) {\n var cmd = this;\n super_.init.call(cmd);\n\n if (!cmd.ctrlSeq) cmd.ctrlSeq = ctrlSeq;\n if (htmlTemplate) cmd.htmlTemplate = htmlTemplate;\n if (textTemplate) cmd.textTemplate = textTemplate;\n };\n\n // obvious methods\n _.replaces = function(replacedFragment) {\n replacedFragment.disown();\n this.replacedFragment = replacedFragment;\n };\n _.isEmpty = function() {\n return this.foldChildren(true, function(isEmpty, child) {\n return isEmpty && child.isEmpty();\n });\n };\n\n _.parser = function() {\n var block = latexMathParser.block;\n var self = this;\n\n return block.times(self.numBlocks()).map(function(blocks) {\n self.blocks = blocks;\n\n for (var i = 0; i < blocks.length; i += 1) {\n blocks[i].adopt(self, self.ends[R], 0);\n }\n\n return self;\n });\n };\n\n // createLeftOf(cursor) and the methods it calls\n _.createLeftOf = function(cursor) {\n var cmd = this;\n var replacedFragment = cmd.replacedFragment;\n\n cmd.createBlocks();\n super_.createLeftOf.call(cmd, cursor);\n if (replacedFragment) {\n replacedFragment.adopt(cmd.ends[L], 0, 0);\n replacedFragment.jQ.appendTo(cmd.ends[L].jQ);\n cmd.placeCursor(cursor);\n cmd.prepareInsertionAt(cursor);\n }\n cmd.finalizeInsert(cursor.options);\n cmd.placeCursor(cursor);\n };\n _.createBlocks = function() {\n var cmd = this,\n numBlocks = cmd.numBlocks(),\n blocks = cmd.blocks = Array(numBlocks);\n\n for (var i = 0; i < numBlocks; i += 1) {\n var newBlock = blocks[i] = MathBlock();\n newBlock.adopt(cmd, cmd.ends[R], 0);\n }\n };\n _.placeCursor = function(cursor) {\n //insert the cursor at the right end of the first empty child, searching\n //left-to-right, or if none empty, the right end child\n cursor.insAtRightEnd(this.foldChildren(this.ends[L], function(leftward, child) {\n return leftward.isEmpty() ? leftward : child;\n }));\n };\n\n // editability methods: called by the cursor for editing, cursor movements,\n // and selection of the MathQuill tree, these all take in a direction and\n // the cursor\n _.moveTowards = function(dir, cursor, updown) {\n var updownInto = updown && this[updown+'Into'];\n cursor.insAtDirEnd(-dir, updownInto || this.ends[-dir]);\n };\n _.deleteTowards = function(dir, cursor) {\n if (this.isEmpty()) cursor[dir] = this.remove()[dir];\n else this.moveTowards(dir, cursor, null);\n };\n _.selectTowards = function(dir, cursor) {\n cursor[-dir] = this;\n cursor[dir] = this[dir];\n };\n _.selectChildren = function() {\n return Selection(this, this);\n };\n _.unselectInto = function(dir, cursor) {\n cursor.insAtDirEnd(-dir, cursor.anticursor.ancestors[this.id]);\n };\n _.seek = function(pageX, cursor) {\n function getBounds(node) {\n var bounds = {}\n bounds[L] = node.jQ.offset().left;\n bounds[R] = bounds[L] + node.jQ.outerWidth();\n return bounds;\n }\n\n var cmd = this;\n var cmdBounds = getBounds(cmd);\n\n if (pageX < cmdBounds[L]) return cursor.insLeftOf(cmd);\n if (pageX > cmdBounds[R]) return cursor.insRightOf(cmd);\n\n var leftLeftBound = cmdBounds[L];\n cmd.eachChild(function(block) {\n var blockBounds = getBounds(block);\n if (pageX < blockBounds[L]) {\n // closer to this block's left bound, or the bound left of that?\n if (pageX - leftLeftBound < blockBounds[L] - pageX) {\n if (block[L]) cursor.insAtRightEnd(block[L]);\n else cursor.insLeftOf(cmd);\n }\n else cursor.insAtLeftEnd(block);\n return false;\n }\n else if (pageX > blockBounds[R]) {\n if (block[R]) leftLeftBound = blockBounds[R]; // continue to next block\n else { // last (rightmost) block\n // closer to this block's right bound, or the cmd's right bound?\n if (cmdBounds[R] - pageX < pageX - blockBounds[R]) {\n cursor.insRightOf(cmd);\n }\n else cursor.insAtRightEnd(block);\n }\n }\n else {\n block.seek(pageX, cursor);\n return false;\n }\n });\n }\n\n // methods involved in creating and cross-linking with HTML DOM nodes\n /*\n They all expect an .htmlTemplate like\n '<span>&0</span>'\n or\n '<span><span>&0</span><span>&1</span></span>'\n\n See html.test.js for more examples.\n\n Requirements:\n - For each block of the command, there must be exactly one \"block content\n marker\" of the form '&<number>' where <number> is the 0-based index of the\n block. (Like the LaTeX \\newcommand syntax, but with a 0-based rather than\n 1-based index, because JavaScript because C because Dijkstra.)\n - The block content marker must be the sole contents of the containing\n element, there can't even be surrounding whitespace, or else we can't\n guarantee sticking to within the bounds of the block content marker when\n mucking with the HTML DOM.\n - The HTML not only must be well-formed HTML (of course), but also must\n conform to the XHTML requirements on tags, specifically all tags must\n either be self-closing (like '<br/>') or come in matching pairs.\n Close tags are never optional.\n\n Note that &<number> isn't well-formed HTML; if you wanted a literal '&123',\n your HTML template would have to have '&amp;123'.\n */\n _.numBlocks = function() {\n var matches = this.htmlTemplate.match(/&\\d+/g);\n return matches ? matches.length : 0;\n };\n _.html = function() {\n // Render the entire math subtree rooted at this command, as HTML.\n // Expects .createBlocks() to have been called already, since it uses the\n // .blocks array of child blocks.\n //\n // See html.test.js for example templates and intended outputs.\n //\n // Given an .htmlTemplate as described above,\n // - insert the mathquill-command-id attribute into all top-level tags,\n // which will be used to set this.jQ in .jQize().\n // This is straightforward:\n // * tokenize into tags and non-tags\n // * loop through top-level tokens:\n // * add #cmdId attribute macro to top-level self-closing tags\n // * else add #cmdId attribute macro to top-level open tags\n // * skip the matching top-level close tag and all tag pairs\n // in between\n // - for each block content marker,\n // + replace it with the contents of the corresponding block,\n // rendered as HTML\n // + insert the mathquill-block-id attribute into the containing tag\n // This is even easier, a quick regex replace, since block tags cannot\n // contain anything besides the block content marker.\n //\n // Two notes:\n // - The outermost loop through top-level tokens should never encounter any\n // top-level close tags, because we should have first encountered a\n // matching top-level open tag, all inner tags should have appeared in\n // matching pairs and been skipped, and then we should have skipped the\n // close tag in question.\n // - All open tags should have matching close tags, which means our inner\n // loop should always encounter a close tag and drop nesting to 0. If\n // a close tag is missing, the loop will continue until i >= tokens.length\n // and token becomes undefined. This will not infinite loop, even in\n // production without pray(), because it will then TypeError on .slice().\n\n var cmd = this;\n var blocks = cmd.blocks;\n var cmdId = ' mathquill-command-id=' + cmd.id;\n var tokens = cmd.htmlTemplate.match(/<[^<>]+>|[^<>]+/g);\n\n pray('no unmatched angle brackets', tokens.join('') === this.htmlTemplate);\n\n // add cmdId to all top-level tags\n for (var i = 0, token = tokens[0]; token; i += 1, token = tokens[i]) {\n // top-level self-closing tags\n if (token.slice(-2) === '/>') {\n tokens[i] = token.slice(0,-2) + cmdId + '/>';\n }\n // top-level open tags\n else if (token.charAt(0) === '<') {\n pray('not an unmatched top-level close tag', token.charAt(1) !== '/');\n\n tokens[i] = token.slice(0,-1) + cmdId + '>';\n\n // skip matching top-level close tag and all tag pairs in between\n var nesting = 1;\n do {\n i += 1, token = tokens[i];\n pray('no missing close tags', token);\n // close tags\n if (token.slice(0,2) === '</') {\n nesting -= 1;\n }\n // non-self-closing open tags\n else if (token.charAt(0) === '<' && token.slice(-2) !== '/>') {\n nesting += 1;\n }\n } while (nesting > 0);\n }\n }\n return tokens.join('').replace(/>&(\\d+)/g, function($0, $1) {\n return ' mathquill-block-id=' + blocks[$1].id + '>' + blocks[$1].join('html');\n });\n };\n\n // methods to export a string representation of the math tree\n _.latex = function() {\n return this.foldChildren(this.ctrlSeq, function(latex, child) {\n return latex + '{' + (child.latex() || ' ') + '}';\n });\n };\n _.textTemplate = [''];\n _.text = function() {\n var cmd = this, i = 0;\n return cmd.foldChildren(cmd.textTemplate[i], function(text, child) {\n i += 1;\n var child_text = child.text();\n if (text && cmd.textTemplate[i] === '('\n && child_text[0] === '(' && child_text.slice(-1) === ')')\n return text + child_text.slice(1, -1) + cmd.textTemplate[i];\n return text + child_text + (cmd.textTemplate[i] || '');\n });\n };\n});\n\n/**\n * Lightweight command without blocks or children.\n */\nvar Symbol = P(MathCommand, function(_, super_) {\n _.init = function(ctrlSeq, html, text) {\n if (!text) text = ctrlSeq && ctrlSeq.length > 1 ? ctrlSeq.slice(1) : ctrlSeq;\n\n super_.init.call(this, ctrlSeq, html, [ text ]);\n };\n\n _.parser = function() { return Parser.succeed(this); };\n _.numBlocks = function() { return 0; };\n\n _.replaces = function(replacedFragment) {\n replacedFragment.remove();\n };\n _.createBlocks = noop;\n\n _.moveTowards = function(dir, cursor) {\n cursor.jQ.insDirOf(dir, this.jQ);\n cursor[-dir] = this;\n cursor[dir] = this[dir];\n };\n _.deleteTowards = function(dir, cursor) {\n cursor[dir] = this.remove()[dir];\n };\n _.seek = function(pageX, cursor) {\n // insert at whichever side the click was closer to\n if (pageX - this.jQ.offset().left < this.jQ.outerWidth()/2)\n cursor.insLeftOf(this);\n else\n cursor.insRightOf(this);\n };\n\n _.latex = function(){ return this.ctrlSeq; };\n _.text = function(){ return this.textTemplate; };\n _.placeCursor = noop;\n _.isEmpty = function(){ return true; };\n});\nvar VanillaSymbol = P(Symbol, function(_, super_) {\n _.init = function(ch, html) {\n super_.init.call(this, ch, '<span>'+(html || ch)+'</span>');\n };\n});\nvar BinaryOperator = P(Symbol, function(_, super_) {\n _.init = function(ctrlSeq, html, text) {\n super_.init.call(this,\n ctrlSeq, '<span class=\"mq-binary-operator\">'+html+'</span>', text\n );\n };\n});\n\n/**\n * Children and parent of MathCommand's. Basically partitions all the\n * symbols and operators that descend (in the Math DOM tree) from\n * ancestor operators.\n */\nvar MathBlock = P(MathElement, function(_, super_) {\n _.join = function(methodName) {\n return this.foldChildren('', function(fold, child) {\n return fold + child[methodName]();\n });\n };\n _.html = function() { return this.join('html'); };\n _.latex = function() { return this.join('latex'); };\n _.text = function() {\n return (this.ends[L] === this.ends[R] && this.ends[L] !== 0) ?\n this.ends[L].text() :\n this.join('text')\n ;\n };\n\n _.keystroke = function(key, e, ctrlr) {\n if (ctrlr.options.spaceBehavesLikeTab\n && (key === 'Spacebar' || key === 'Shift-Spacebar')) {\n e.preventDefault();\n ctrlr.escapeDir(key === 'Shift-Spacebar' ? L : R, key, e);\n return;\n }\n return super_.keystroke.apply(this, arguments);\n };\n\n // editability methods: called by the cursor for editing, cursor movements,\n // and selection of the MathQuill tree, these all take in a direction and\n // the cursor\n _.moveOutOf = function(dir, cursor, updown) {\n var updownInto = updown && this.parent[updown+'Into'];\n if (!updownInto && this[dir]) cursor.insAtDirEnd(-dir, this[dir]);\n else cursor.insDirOf(dir, this.parent);\n };\n _.selectOutOf = function(dir, cursor) {\n cursor.insDirOf(dir, this.parent);\n };\n _.deleteOutOf = function(dir, cursor) {\n cursor.unwrapGramp();\n };\n _.seek = function(pageX, cursor) {\n var node = this.ends[R];\n if (!node || node.jQ.offset().left + node.jQ.outerWidth() < pageX) {\n return cursor.insAtRightEnd(this);\n }\n if (pageX < this.ends[L].jQ.offset().left) return cursor.insAtLeftEnd(this);\n while (pageX < node.jQ.offset().left) node = node[L];\n return node.seek(pageX, cursor);\n };\n _.chToCmd = function(ch, options) {\n var cons;\n // exclude f because it gets a dedicated command with more spacing\n if (ch.match(/^[a-eg-zA-Z]$/))\n return Letter(ch);\n else if (/^\\d$/.test(ch))\n return Digit(ch);\n else if (options && options.typingSlashWritesDivisionSymbol && ch === '/')\n return LatexCmds['÷'](ch);\n else if (options && options.typingAsteriskWritesTimesSymbol && ch === '*')\n return LatexCmds['×'](ch);\n else if (cons = CharCmds[ch] || LatexCmds[ch])\n return cons(ch);\n else\n return VanillaSymbol(ch);\n };\n _.write = function(cursor, ch) {\n var cmd;\n // preventing creating too many nested symbols\n if (cursor.tooDeep()) return false;\n cmd = this.chToCmd(ch, cursor.options);\n if (cursor.selection) cmd.replaces(cursor.replaceSelection());\n if (!cursor.isTooDeep()) {\n cmd.createLeftOf(cursor.show());\n }\n };\n\n _.focus = function() {\n this.jQ.addClass('mq-hasCursor');\n this.jQ.removeClass('mq-empty');\n\n return this;\n };\n _.blur = function() {\n this.jQ.removeClass('mq-hasCursor');\n if (this.isEmpty())\n this.jQ.addClass('mq-empty');\n\n return this;\n };\n});\n\nOptions.p.mouseEvents = true;\nAPI.StaticMath = function(APIClasses) {\n return P(APIClasses.AbstractMathQuill, function(_, super_) {\n this.RootBlock = MathBlock;\n _.__mathquillify = function(opts, interfaceVersion) {\n this.config(opts);\n super_.__mathquillify.call(this, 'mq-math-mode');\n if (this.__options.mouseEvents) {\n this.__controller.delegateMouseEvents();\n this.__controller.staticMathTextareaEvents();\n }\n return this;\n };\n _.init = function() {\n super_.init.apply(this, arguments);\n this.__controller.root.postOrder(\n 'registerInnerField', this.innerFields = [], APIClasses.MathField);\n };\n _.latex = function() {\n var returned = super_.latex.apply(this, arguments);\n if (arguments.length > 0) {\n this.__controller.root.postOrder(\n 'registerInnerField', this.innerFields = [], APIClasses.MathField);\n }\n return returned;\n };\n });\n};\n\nvar RootMathBlock = P(MathBlock, RootBlockMixin);\nAPI.MathField = function(APIClasses) {\n return P(APIClasses.EditableField, function(_, super_) {\n this.RootBlock = RootMathBlock;\n _.__mathquillify = function(opts, interfaceVersion) {\n this.config(opts);\n if (interfaceVersion > 1) this.__controller.root.reflow = noop;\n super_.__mathquillify.call(this, 'mq-editable-field mq-math-mode');\n delete this.__controller.root.reflow;\n return this;\n };\n });\n};\n\n\n/*************************************************\n * Abstract classes of text blocks\n ************************************************/\n\n/**\n * Blocks of plain text, with one or two TextPiece's as children.\n * Represents flat strings of typically serif-font Roman characters, as\n * opposed to hierchical, nested, tree-structured math.\n * Wraps a single HTMLSpanElement.\n */\nvar TextBlock = P(Node, function(_, super_) {\n _.ctrlSeq = '\\\\text';\n\n _.replaces = function(replacedText) {\n if (replacedText instanceof Fragment)\n this.replacedText = replacedText.remove().jQ.text();\n else if (typeof replacedText === 'string')\n this.replacedText = replacedText;\n };\n\n _.jQadd = function(jQ) {\n super_.jQadd.call(this, jQ);\n if (this.ends[L]) this.ends[L].jQadd(this.jQ[0].firstChild);\n };\n\n _.createLeftOf = function(cursor) {\n var textBlock = this;\n super_.createLeftOf.call(this, cursor);\n\n if (textBlock[R].siblingCreated) textBlock[R].siblingCreated(cursor.options, L);\n if (textBlock[L].siblingCreated) textBlock[L].siblingCreated(cursor.options, R);\n textBlock.bubble('reflow');\n\n cursor.insAtRightEnd(textBlock);\n\n if (textBlock.replacedText)\n for (var i = 0; i < textBlock.replacedText.length; i += 1)\n textBlock.write(cursor, textBlock.replacedText.charAt(i));\n };\n\n _.parser = function() {\n var textBlock = this;\n\n // TODO: correctly parse text mode\n var string = Parser.string;\n var regex = Parser.regex;\n var optWhitespace = Parser.optWhitespace;\n return optWhitespace\n .then(string('{')).then(regex(/^[^}]*/)).skip(string('}'))\n .map(function(text) {\n if (text.length === 0) return Fragment();\n\n TextPiece(text).adopt(textBlock, 0, 0);\n return textBlock;\n })\n ;\n };\n\n _.textContents = function() {\n return this.foldChildren('', function(text, child) {\n return text + child.text;\n });\n };\n _.text = function() { return '\"' + this.textContents() + '\"'; };\n _.latex = function() {\n var contents = this.textContents();\n if (contents.length === 0) return '';\n return '\\\\text{' + contents.replace(/\\\\/g, '\\\\backslash ').replace(/[{}]/g, '\\\\$&') + '}';\n };\n _.html = function() {\n return (\n '<span class=\"mq-text-mode\" mathquill-command-id='+this.id+'>'\n + this.textContents()\n + '</span>'\n );\n };\n\n // editability methods: called by the cursor for editing, cursor movements,\n // and selection of the MathQuill tree, these all take in a direction and\n // the cursor\n _.moveTowards = function(dir, cursor) { cursor.insAtDirEnd(-dir, this); };\n _.moveOutOf = function(dir, cursor) { cursor.insDirOf(dir, this); };\n _.unselectInto = _.moveTowards;\n\n // TODO: make these methods part of a shared mixin or something.\n _.selectTowards = MathCommand.prototype.selectTowards;\n _.deleteTowards = MathCommand.prototype.deleteTowards;\n\n _.selectOutOf = function(dir, cursor) {\n cursor.insDirOf(dir, this);\n };\n _.deleteOutOf = function(dir, cursor) {\n // backspace and delete at ends of block don't unwrap\n if (this.isEmpty()) cursor.insRightOf(this);\n };\n _.write = function(cursor, ch) {\n cursor.show().deleteSelection();\n\n if (ch !== '$') {\n if (!cursor[L]) TextPiece(ch).createLeftOf(cursor);\n else {\n cursor[L].appendText(ch);\n this.bubble('reflow');\n }\n }\n else if (this.isEmpty()) {\n cursor.insRightOf(this);\n VanillaSymbol('\\\\$','$').createLeftOf(cursor);\n }\n else if (!cursor[R]) cursor.insRightOf(this);\n else if (!cursor[L]) cursor.insLeftOf(this);\n else { // split apart\n var leftBlock = TextBlock();\n var leftPc = this.ends[L];\n leftPc.disown().jQ.detach();\n leftPc.adopt(leftBlock, 0, 0);\n\n cursor.insLeftOf(this);\n super_.createLeftOf.call(leftBlock, cursor);\n }\n };\n\n _.seek = function(pageX, cursor) {\n cursor.hide();\n var textPc = fuseChildren(this);\n\n // insert cursor at approx position in DOMTextNode\n var avgChWidth = this.jQ.width()/this.text.length;\n var approxPosition = Math.round((pageX - this.jQ.offset().left)/avgChWidth);\n if (approxPosition <= 0) cursor.insAtLeftEnd(this);\n else if (approxPosition >= textPc.text.length) cursor.insAtRightEnd(this);\n else cursor.insLeftOf(textPc.splitRight(approxPosition));\n\n // move towards mousedown (pageX)\n var displ = pageX - cursor.show().offset().left; // displacement\n var dir = displ && displ < 0 ? L : R;\n var prevDispl = dir;\n // displ * prevDispl > 0 iff displacement direction === previous direction\n while (cursor[dir] && displ * prevDispl > 0) {\n cursor[dir].moveTowards(dir, cursor);\n prevDispl = displ;\n displ = pageX - cursor.offset().left;\n }\n if (dir*displ < -dir*prevDispl) cursor[-dir].moveTowards(-dir, cursor);\n\n if (!cursor.anticursor) {\n // about to start mouse-selecting, the anticursor is gonna get put here\n this.anticursorPosition = cursor[L] && cursor[L].text.length;\n // ^ get it? 'cos if there's no cursor[L], it's 0... I'm a terrible person.\n }\n else if (cursor.anticursor.parent === this) {\n // mouse-selecting within this TextBlock, re-insert the anticursor\n var cursorPosition = cursor[L] && cursor[L].text.length;;\n if (this.anticursorPosition === cursorPosition) {\n cursor.anticursor = Point.copy(cursor);\n }\n else {\n if (this.anticursorPosition < cursorPosition) {\n var newTextPc = cursor[L].splitRight(this.anticursorPosition);\n cursor[L] = newTextPc;\n }\n else {\n var newTextPc = cursor[R].splitRight(this.anticursorPosition - cursorPosition);\n }\n cursor.anticursor = Point(this, newTextPc[L], newTextPc);\n }\n }\n };\n\n _.blur = function(cursor) {\n MathBlock.prototype.blur.call(this);\n if (!cursor) return;\n if (this.textContents() === '') {\n this.remove();\n if (cursor[L] === this) cursor[L] = this[L];\n else if (cursor[R] === this) cursor[R] = this[R];\n }\n else fuseChildren(this);\n };\n\n function fuseChildren(self) {\n self.jQ[0].normalize();\n\n var textPcDom = self.jQ.contents().filter(function (i, el) { return el.nodeType === 3; })[0]\n // when empty \\text command is sent, set it to empty string\n if (!textPcDom) {\n textPcDom = {\n data: \"\"\n };\n }\n\n pray('only node in TextBlock span is Text node', textPcDom.nodeType === 3);\n // nodeType === 3 has meant a Text node since ancient times:\n // http://reference.sitepoint.com/javascript/Node/nodeType\n\n var textPc = TextPiece(textPcDom.data);\n textPc.jQadd(textPcDom);\n\n self.children().disown();\n return textPc.adopt(self, 0, 0);\n }\n\n _.focus = MathBlock.prototype.focus;\n});\n\n/**\n * Piece of plain text, with a TextBlock as a parent and no children.\n * Wraps a single DOMTextNode.\n * For convenience, has a .text property that's just a JavaScript string\n * mirroring the text contents of the DOMTextNode.\n * Text contents must always be nonempty.\n */\nvar TextPiece = P(Node, function(_, super_) {\n _.init = function(text) {\n super_.init.call(this);\n this.text = text;\n };\n _.jQadd = function(dom) { this.dom = dom; this.jQ = $(dom); };\n _.jQize = function() {\n return this.jQadd(document.createTextNode(this.text));\n };\n _.appendText = function(text) {\n this.text += text;\n this.dom.appendData(text);\n };\n _.prependText = function(text) {\n this.text = text + this.text;\n this.dom.insertData(0, text);\n };\n _.insTextAtDirEnd = function(text, dir) {\n prayDirection(dir);\n if (dir === R) this.appendText(text);\n else this.prependText(text);\n };\n _.splitRight = function(i) {\n var newPc = TextPiece(this.text.slice(i)).adopt(this.parent, this, this[R]);\n newPc.jQadd(this.dom.splitText(i));\n this.text = this.text.slice(0, i);\n return newPc;\n };\n\n function endChar(dir, text) {\n return text.charAt(dir === L ? 0 : -1 + text.length);\n }\n\n _.moveTowards = function(dir, cursor) {\n prayDirection(dir);\n\n var ch = endChar(-dir, this.text)\n\n var from = this[-dir];\n if (from) from.insTextAtDirEnd(ch, dir);\n else TextPiece(ch).createDir(-dir, cursor);\n\n return this.deleteTowards(dir, cursor);\n };\n\n _.latex = function() { return this.text; };\n\n _.deleteTowards = function(dir, cursor) {\n if (this.text.length > 1) {\n if (dir === R) {\n this.dom.deleteData(0, 1);\n this.text = this.text.slice(1);\n }\n else {\n // note that the order of these 2 lines is annoyingly important\n // (the second line mutates this.text.length)\n this.dom.deleteData(-1 + this.text.length, 1);\n this.text = this.text.slice(0, -1);\n }\n }\n else {\n this.remove();\n this.jQ.remove();\n cursor[dir] = this[dir];\n }\n };\n\n _.selectTowards = function(dir, cursor) {\n prayDirection(dir);\n var anticursor = cursor.anticursor;\n\n var ch = endChar(-dir, this.text)\n\n if (anticursor[dir] === this) {\n var newPc = TextPiece(ch).createDir(dir, cursor);\n anticursor[dir] = newPc;\n cursor.insDirOf(dir, newPc);\n }\n else {\n var from = this[-dir];\n if (from) from.insTextAtDirEnd(ch, dir);\n else {\n var newPc = TextPiece(ch).createDir(-dir, cursor);\n newPc.jQ.insDirOf(-dir, cursor.selection.jQ);\n }\n\n if (this.text.length === 1 && anticursor[-dir] === this) {\n anticursor[-dir] = this[-dir]; // `this` will be removed in deleteTowards\n }\n }\n\n return this.deleteTowards(dir, cursor);\n };\n});\n\nLatexCmds.text =\nLatexCmds.textnormal =\nLatexCmds.textrm =\nLatexCmds.textup =\nLatexCmds.textmd = TextBlock;\n\nfunction makeTextBlock(latex, tagName, attrs) {\n return P(TextBlock, {\n ctrlSeq: latex,\n htmlTemplate: '<'+tagName+' '+attrs+'>&0</'+tagName+'>'\n });\n}\n\nLatexCmds.em = LatexCmds.italic = LatexCmds.italics =\nLatexCmds.emph = LatexCmds.textit = LatexCmds.textsl =\n makeTextBlock('\\\\textit', 'i', 'class=\"mq-text-mode\"');\nLatexCmds.strong = LatexCmds.bold = LatexCmds.textbf =\n makeTextBlock('\\\\textbf', 'b', 'class=\"mq-text-mode\"');\nLatexCmds.sf = LatexCmds.textsf =\n makeTextBlock('\\\\textsf', 'span', 'class=\"mq-sans-serif mq-text-mode\"');\nLatexCmds.tt = LatexCmds.texttt =\n makeTextBlock('\\\\texttt', 'span', 'class=\"mq-monospace mq-text-mode\"');\nLatexCmds.textsc =\n makeTextBlock('\\\\textsc', 'span', 'style=\"font-variant:small-caps\" class=\"mq-text-mode\"');\nLatexCmds.uppercase =\n makeTextBlock('\\\\uppercase', 'span', 'style=\"text-transform:uppercase\" class=\"mq-text-mode\"');\nLatexCmds.lowercase =\n makeTextBlock('\\\\lowercase', 'span', 'style=\"text-transform:lowercase\" class=\"mq-text-mode\"');\n\n\nvar RootMathCommand = P(MathCommand, function(_, super_) {\n _.init = function(cursor) {\n super_.init.call(this, '$');\n this.cursor = cursor;\n };\n _.htmlTemplate = '<span class=\"mq-math-mode\">&0</span>';\n _.createBlocks = function() {\n super_.createBlocks.call(this);\n\n this.ends[L].cursor = this.cursor;\n this.ends[L].write = function(cursor, ch) {\n if (ch !== '$')\n MathBlock.prototype.write.call(this, cursor, ch);\n else if (this.isEmpty()) {\n cursor.insRightOf(this.parent);\n this.parent.deleteTowards(dir, cursor);\n VanillaSymbol('\\\\$','$').createLeftOf(cursor.show());\n }\n else if (!cursor[R])\n cursor.insRightOf(this.parent);\n else if (!cursor[L])\n cursor.insLeftOf(this.parent);\n else\n MathBlock.prototype.write.call(this, cursor, ch);\n };\n };\n _.latex = function() {\n return '$' + this.ends[L].latex() + '$';\n };\n});\n\nvar RootTextBlock = P(RootMathBlock, function(_, super_) {\n _.keystroke = function(key) {\n if (key === 'Spacebar' || key === 'Shift-Spacebar') return;\n return super_.keystroke.apply(this, arguments);\n };\n _.write = function(cursor, ch) {\n cursor.show().deleteSelection();\n if (ch === '$')\n RootMathCommand(cursor).createLeftOf(cursor);\n else {\n var html;\n if (ch === '<') html = '&lt;';\n else if (ch === '>') html = '&gt;';\n VanillaSymbol(ch, html).createLeftOf(cursor);\n }\n };\n});\nAPI.TextField = function(APIClasses) {\n return P(APIClasses.EditableField, function(_, super_) {\n this.RootBlock = RootTextBlock;\n _.__mathquillify = function() {\n return super_.__mathquillify.call(this, 'mq-editable-field mq-text-mode');\n };\n _.latex = function(latex) {\n if (arguments.length > 0) {\n this.__controller.renderLatexText(latex);\n if (this.__controller.blurred) this.__controller.cursor.hide().parent.blur();\n return this;\n }\n return this.__controller.exportLatex();\n };\n });\n};\n\n\n/****************************************\n * Input box to type backslash commands\n ***************************************/\n\nvar LatexCommandInput =\nCharCmds['\\\\'] = P(MathCommand, function(_, super_) {\n _.ctrlSeq = '\\\\';\n _.replaces = function(replacedFragment) {\n this._replacedFragment = replacedFragment.disown();\n this.isEmpty = function() { return false; };\n };\n _.htmlTemplate = '<span class=\"mq-latex-command-input mq-non-leaf\">\\\\<span>&0</span></span>';\n _.textTemplate = ['\\\\'];\n _.createBlocks = function() {\n super_.createBlocks.call(this);\n this.ends[L].focus = function() {\n this.parent.jQ.addClass('mq-hasCursor');\n if (this.isEmpty())\n this.parent.jQ.removeClass('mq-empty');\n\n return this;\n };\n this.ends[L].blur = function() {\n this.parent.jQ.removeClass('mq-hasCursor');\n if (this.isEmpty())\n this.parent.jQ.addClass('mq-empty');\n\n return this;\n };\n this.ends[L].write = function(cursor, ch) {\n cursor.show().deleteSelection();\n\n if (ch.match(/[a-z]/i)) VanillaSymbol(ch).createLeftOf(cursor);\n else {\n this.parent.renderCommand(cursor);\n if (ch !== '\\\\' || !this.isEmpty()) cursor.parent.write(cursor, ch);\n }\n };\n this.ends[L].keystroke = function(key, e, ctrlr) {\n if (key === 'Tab' || key === 'Enter' || key === 'Spacebar') {\n this.parent.renderCommand(ctrlr.cursor);\n e.preventDefault();\n return;\n }\n return super_.keystroke.apply(this, arguments);\n };\n };\n _.createLeftOf = function(cursor) {\n super_.createLeftOf.call(this, cursor);\n\n if (this._replacedFragment) {\n var el = this.jQ[0];\n this.jQ =\n this._replacedFragment.jQ.addClass('mq-blur').bind(\n 'mousedown mousemove', //FIXME: is monkey-patching the mousedown and mousemove handlers the right way to do this?\n function(e) {\n $(e.target = el).trigger(e);\n return false;\n }\n ).insertBefore(this.jQ).add(this.jQ);\n }\n };\n _.latex = function() {\n return '\\\\' + this.ends[L].latex() + ' ';\n };\n _.renderCommand = function(cursor) {\n this.jQ = this.jQ.last();\n this.remove();\n if (this[R]) {\n cursor.insLeftOf(this[R]);\n } else {\n cursor.insAtRightEnd(this.parent);\n }\n\n var latex = this.ends[L].latex();\n if (!latex) latex = ' ';\n var cmd = LatexCmds[latex];\n if (cmd) {\n cmd = cmd(latex);\n if (this._replacedFragment) cmd.replaces(this._replacedFragment);\n cmd.createLeftOf(cursor);\n }\n else {\n cmd = TextBlock();\n cmd.replaces(latex);\n cmd.createLeftOf(cursor);\n cursor.insRightOf(cmd);\n if (this._replacedFragment)\n this._replacedFragment.remove();\n }\n };\n});\n\n\n\n/************************************\n * Symbols for Advanced Mathematics\n ***********************************/\n\nLatexCmds['∉'] = LatexCmds.notin = bind(BinaryOperator,'\\\\notin ','&#8713;');\nLatexCmds['≅'] = LatexCmds.cong = bind(BinaryOperator,'\\\\cong ','&#8773;');\nLatexCmds['≡'] = LatexCmds.equiv = bind(BinaryOperator,'\\\\equiv ','&#8801;');\nLatexCmds['⊕'] = LatexCmds.oplus = bind(BinaryOperator,'\\\\oplus ','&#8853;');\nLatexCmds['⊗'] = LatexCmds.otimes = bind(BinaryOperator,'\\\\otimes ','&#8855;');\n\nLatexCmds['≠'] = LatexCmds.ne = LatexCmds.neq = bind(BinaryOperator,'\\\\ne ','&ne;');\nLatexCmds['\\u2247'] = LatexCmds.ncong = bind(BinaryOperator,'\\\\ncong ','&ncong;');\n\nLatexCmds['∗'] = LatexCmds.ast = LatexCmds.star = LatexCmds.loast = LatexCmds.lowast =\n bind(BinaryOperator,'\\\\ast ','&lowast;');\n\nLatexCmds.therefor = LatexCmds.therefore =\n bind(BinaryOperator,'\\\\therefore ','&there4;');\n\nLatexCmds.cuz = // l33t\nLatexCmds.because = bind(BinaryOperator,'\\\\because ','&#8757;');\n\nLatexCmds.prop = LatexCmds.propto = bind(BinaryOperator,'\\\\propto ','&prop;');\n\nLatexCmds['≈'] = LatexCmds.asymp = LatexCmds.approx = bind(BinaryOperator,'\\\\approx ','&asymp;');\nLatexCmds['\\u2249'] = LatexCmds.nasymp = LatexCmds.napprox = bind(BinaryOperator,'\\\\napprox ','&nap;');\n\nLatexCmds.isin = LatexCmds['in'] = bind(BinaryOperator,'\\\\in ','&isin;');\n\nLatexCmds.ni = LatexCmds.contains = bind(BinaryOperator,'\\\\ni ','&ni;');\n\nLatexCmds.notni = LatexCmds.niton = LatexCmds.notcontains =\nLatexCmds.doesnotcontain = CompoundCmds['\\\\not\\\\ni'] =\n bind(BinaryOperator,'\\\\not\\\\ni ','&#8716;');\n\nLatexCmds.sub = LatexCmds.subset = bind(BinaryOperator,'\\\\subset ','&sub;');\n\nLatexCmds.sup = LatexCmds.supset = LatexCmds.superset =\n bind(BinaryOperator,'\\\\supset ','&sup;');\n\nLatexCmds.nsub = LatexCmds.notsub =\nLatexCmds.nsubset = LatexCmds.notsubset =\nCompoundCmds['\\\\not\\\\subset'] =\n bind(BinaryOperator,'\\\\not\\\\subset ','&#8836;');\n\nLatexCmds.nsup = LatexCmds.notsup =\nLatexCmds.nsupset = LatexCmds.notsupset =\nLatexCmds.nsuperset = LatexCmds.notsuperset =\nCompoundCmds['\\\\not\\\\supset'] =\n bind(BinaryOperator,'\\\\not\\\\supset ','&#8837;');\n\nLatexCmds.sube = LatexCmds.subeq = LatexCmds.subsete = LatexCmds.subseteq =\n bind(BinaryOperator,'\\\\subseteq ','&sube;');\n\nLatexCmds.supe = LatexCmds.supeq =\nLatexCmds.supsete = LatexCmds.supseteq =\nLatexCmds.supersete = LatexCmds.superseteq =\n bind(BinaryOperator,'\\\\supseteq ','&supe;');\n\nLatexCmds.nsube = LatexCmds.nsubeq =\nLatexCmds.notsube = LatexCmds.notsubeq =\nLatexCmds.nsubsete = LatexCmds.nsubseteq =\nLatexCmds.notsubsete = LatexCmds.notsubseteq =\nCompoundCmds['\\\\not\\\\subseteq'] =\n bind(BinaryOperator,'\\\\not\\\\subseteq ','&#8840;');\n\nLatexCmds.nsupe = LatexCmds.nsupeq =\nLatexCmds.notsupe = LatexCmds.notsupeq =\nLatexCmds.nsupsete = LatexCmds.nsupseteq =\nLatexCmds.notsupsete = LatexCmds.notsupseteq =\nLatexCmds.nsupersete = LatexCmds.nsuperseteq =\nLatexCmds.notsupersete = LatexCmds.notsuperseteq =\nCompoundCmds['\\\\not\\\\supseteq'] =\n bind(BinaryOperator,'\\\\not\\\\supseteq ','&#8841;');\n\n\n//the canonical sets of numbers\nLatexCmds.N = LatexCmds.naturals = LatexCmds.Naturals = bind(\n VanillaSymbol,\n \"\\\\mathbb{N}\",\n \"&#8469;\"\n);\n\nLatexCmds.P = LatexCmds.primes = LatexCmds.Primes = LatexCmds.projective = LatexCmds.Projective = LatexCmds.probability = LatexCmds.Probability = bind(\n VanillaSymbol,\n \"\\\\mathbb{P}\",\n \"&#8473;\"\n);\n\nLatexCmds.Z = LatexCmds.integers = LatexCmds.Integers = bind(\n VanillaSymbol,\n \"\\\\mathbb{Z}\",\n \"&#8484;\"\n);\n\nLatexCmds.Q = LatexCmds.rationals = LatexCmds.Rationals = bind(\n VanillaSymbol,\n \"\\\\mathbb{Q}\",\n \"&#8474;\"\n);\n\nLatexCmds.R = LatexCmds.reals = LatexCmds.Reals = bind(\n VanillaSymbol,\n \"\\\\mathbb{R}\",\n \"&#8477;\"\n);\n\nLatexCmds.C = LatexCmds.complex = LatexCmds.Complex = LatexCmds.complexes = LatexCmds.Complexes = LatexCmds.complexplane = LatexCmds.Complexplane = LatexCmds.ComplexPlane = bind(\n VanillaSymbol,\n \"\\\\mathbb{C}\",\n \"&#8450;\"\n);\n\nLatexCmds.H = LatexCmds.Hamiltonian = LatexCmds.quaternions = LatexCmds.Quaternions = bind(\n VanillaSymbol,\n \"\\\\mathbb{H}\",\n \"&#8461;\"\n);\n\n//spacing\nLatexCmds.quad = LatexCmds.emsp = bind(VanillaSymbol, \"\\\\quad \", \" \");\nLatexCmds.qquad = bind(VanillaSymbol, \"\\\\qquad \", \" \");\n/* spacing special characters, gonna have to implement this in LatexCommandInput::onText somehow\ncase ',':\n return VanillaSymbol('\\\\, ',' ');\ncase ':':\n return VanillaSymbol('\\\\: ',' ');\ncase ';':\n return VanillaSymbol('\\\\; ',' ');\ncase '!':\n return Symbol('\\\\! ','<span style=\"margin-right:-.2em\"></span>');\n*/\n\n//binary operators\nLatexCmds.diamond = bind(VanillaSymbol, \"\\\\diamond \", \"&#9671;\");\nLatexCmds.bigtriangleup = bind(VanillaSymbol, \"\\\\bigtriangleup \", \"&#9651;\");\nLatexCmds.ominus = bind(VanillaSymbol, \"\\\\ominus \", \"&#8854;\");\nLatexCmds.uplus = bind(VanillaSymbol, \"\\\\uplus \", \"&#8846;\");\nLatexCmds.bigtriangledown = bind(\n VanillaSymbol,\n \"\\\\bigtriangledown \",\n \"&#9661;\"\n);\nLatexCmds.sqcap = bind(VanillaSymbol, \"\\\\sqcap \", \"&#8851;\");\nLatexCmds.triangleleft = bind(VanillaSymbol, \"\\\\triangleleft \", \"&#8882;\");\nLatexCmds.sqcup = bind(VanillaSymbol, \"\\\\sqcup \", \"&#8852;\");\nLatexCmds.triangleright = bind(VanillaSymbol, \"\\\\triangleright \", \"&#8883;\");\n//circledot is not a not real LaTex command see https://github.com/mathquill/mathquill/pull/552 for more details\nLatexCmds.odot = LatexCmds.circledot = bind(\n VanillaSymbol,\n \"\\\\odot \",\n \"&#8857;\"\n);\nLatexCmds.bigcirc = bind(VanillaSymbol, \"\\\\bigcirc \", \"&#9711;\");\nLatexCmds.dagger = bind(VanillaSymbol, \"\\\\dagger \", \"&#0134;\");\nLatexCmds.ddagger = bind(VanillaSymbol, \"\\\\ddagger \", \"&#135;\");\nLatexCmds.wr = bind(VanillaSymbol, \"\\\\wr \", \"&#8768;\");\nLatexCmds.amalg = bind(VanillaSymbol, \"\\\\amalg \", \"&#8720;\");\n\n//relationship symbols\nLatexCmds.models = bind(VanillaSymbol, \"\\\\models \", \"&#8872;\");\nLatexCmds.prec = bind(VanillaSymbol, \"\\\\prec \", \"&#8826;\");\nLatexCmds.succ = bind(VanillaSymbol, \"\\\\succ \", \"&#8827;\");\nLatexCmds.preceq = bind(VanillaSymbol, \"\\\\preceq \", \"&#8828;\");\nLatexCmds.succeq = bind(VanillaSymbol, \"\\\\succeq \", \"&#8829;\");\nLatexCmds.simeq = bind(VanillaSymbol, \"\\\\simeq \", \"&#8771;\");\nLatexCmds.mid = bind(VanillaSymbol, \"\\\\mid \", \"&#8739;\");\nLatexCmds.ll = bind(VanillaSymbol, \"\\\\ll \", \"&#8810;\");\nLatexCmds.gg = bind(VanillaSymbol, \"\\\\gg \", \"&#8811;\");\nLatexCmds.parallel = bind(VanillaSymbol, \"\\\\parallel \", \"&#8741;\");\nLatexCmds.nparallel = bind(VanillaSymbol, \"\\\\nparallel \", \"&#8742;\");\nLatexCmds.bowtie = bind(VanillaSymbol, \"\\\\bowtie \", \"&#8904;\");\nLatexCmds.sqsubset = bind(VanillaSymbol, \"\\\\sqsubset \", \"&#8847;\");\nLatexCmds.sqsupset = bind(VanillaSymbol, \"\\\\sqsupset \", \"&#8848;\");\nLatexCmds.smile = bind(VanillaSymbol, \"\\\\smile \", \"&#8995;\");\nLatexCmds.sqsubseteq = bind(VanillaSymbol, \"\\\\sqsubseteq \", \"&#8849;\");\nLatexCmds.sqsupseteq = bind(VanillaSymbol, \"\\\\sqsupseteq \", \"&#8850;\");\nLatexCmds.doteq = bind(VanillaSymbol, \"\\\\doteq \", \"&#8784;\");\nLatexCmds.frown = bind(VanillaSymbol, \"\\\\frown \", \"&#8994;\");\nLatexCmds.vdash = bind(VanillaSymbol, \"\\\\vdash \", \"&#8870;\");\nLatexCmds.dashv = bind(VanillaSymbol, \"\\\\dashv \", \"&#8867;\");\nLatexCmds.nless = bind(VanillaSymbol, \"\\\\nless \", \"&#8814;\");\nLatexCmds.ngtr = bind(VanillaSymbol, \"\\\\ngtr \", \"&#8815;\");\n\n//arrows\nLatexCmds.longleftarrow = bind(VanillaSymbol, \"\\\\longleftarrow \", \"&#8592;\");\nLatexCmds.longrightarrow = bind(VanillaSymbol, \"\\\\longrightarrow \", \"&#8594;\");\nLatexCmds.Longleftarrow = bind(VanillaSymbol, \"\\\\Longleftarrow \", \"&#8656;\");\nLatexCmds.Longrightarrow = bind(VanillaSymbol, \"\\\\Longrightarrow \", \"&#8658;\");\nLatexCmds.longleftrightarrow = bind(\n VanillaSymbol,\n \"\\\\longleftrightarrow \",\n \"&#8596;\"\n);\nLatexCmds.updownarrow = bind(VanillaSymbol, \"\\\\updownarrow \", \"&#8597;\");\nLatexCmds.Longleftrightarrow = bind(\n VanillaSymbol,\n \"\\\\Longleftrightarrow \",\n \"&#8660;\"\n);\nLatexCmds.Updownarrow = bind(VanillaSymbol, \"\\\\Updownarrow \", \"&#8661;\");\nLatexCmds.mapsto = bind(VanillaSymbol, \"\\\\mapsto \", \"&#8614;\");\nLatexCmds.nearrow = bind(VanillaSymbol, \"\\\\nearrow \", \"&#8599;\");\nLatexCmds.hookleftarrow = bind(VanillaSymbol, \"\\\\hookleftarrow \", \"&#8617;\");\nLatexCmds.hookrightarrow = bind(VanillaSymbol, \"\\\\hookrightarrow \", \"&#8618;\");\nLatexCmds.searrow = bind(VanillaSymbol, \"\\\\searrow \", \"&#8600;\");\nLatexCmds.leftharpoonup = bind(VanillaSymbol, \"\\\\leftharpoonup \", \"&#8636;\");\nLatexCmds.rightharpoonup = bind(VanillaSymbol, \"\\\\rightharpoonup \", \"&#8640;\");\nLatexCmds.swarrow = bind(VanillaSymbol, \"\\\\swarrow \", \"&#8601;\");\nLatexCmds.leftharpoondown = bind(\n VanillaSymbol,\n \"\\\\leftharpoondown \",\n \"&#8637;\"\n);\nLatexCmds.rightharpoondown = bind(\n VanillaSymbol,\n \"\\\\rightharpoondown \",\n \"&#8641;\"\n);\nLatexCmds.nwarrow = bind(VanillaSymbol, \"\\\\nwarrow \", \"&#8598;\");\n\n//Misc\nLatexCmds.ldots = bind(VanillaSymbol, '\\\\ldots ', '&#8230;');\nLatexCmds.cdots = bind(VanillaSymbol, '\\\\cdots ', '&#8943;');\nLatexCmds.vdots = bind(VanillaSymbol, '\\\\vdots ', '&#8942;');\nLatexCmds.ddots = bind(VanillaSymbol, '\\\\ddots ', '&#8945;');\nLatexCmds.surd = bind(VanillaSymbol, '\\\\surd ', '&#8730;');\nLatexCmds.triangle = bind(VanillaSymbol, '\\\\triangle ', '&#9651;');\nLatexCmds.ell = bind(VanillaSymbol, '\\\\ell ', '&#8467;');\nLatexCmds.top = bind(VanillaSymbol, '\\\\top ', '&#8868;');\nLatexCmds.flat = bind(VanillaSymbol, '\\\\flat ', '&#9837;');\nLatexCmds.natural = bind(VanillaSymbol, '\\\\natural ', '&#9838;');\nLatexCmds.sharp = bind(VanillaSymbol, '\\\\sharp ', '&#9839;');\nLatexCmds.wp = bind(VanillaSymbol, '\\\\wp ', '&#8472;');\nLatexCmds.bot = bind(VanillaSymbol, '\\\\bot ', '&#8869;');\nLatexCmds.clubsuit = bind(VanillaSymbol, '\\\\clubsuit ', '&#9827;');\nLatexCmds.diamondsuit = bind(VanillaSymbol, '\\\\diamondsuit ', '&#9826;');\nLatexCmds.heartsuit = bind(VanillaSymbol, '\\\\heartsuit ', '&#9825;');\nLatexCmds.spadesuit = bind(VanillaSymbol, '\\\\spadesuit ', '&#9824;');\nLatexCmds.circledot = bind(VanillaSymbol, '\\\\circledot ', '&#8857;');\nLatexCmds.middot = bind(VanillaSymbol, '\\\\middot ', '&middot;');\nLatexCmds.dottedsquare = bind(VanillaSymbol, '\\\\dottedsquare ', '&#11034;');\nLatexCmds.square = bind(VanillaSymbol, '\\\\square ', '&#11036;');\nLatexCmds.rectangle = bind(VanillaSymbol, '\\\\rectangle ', '&#9647;');\n\n//variable-sized\nLatexCmds.oint = bind(VanillaSymbol, \"\\\\oint \", \"&#8750;\");\nLatexCmds.bigcap = bind(VanillaSymbol, \"\\\\bigcap \", \"&#8745;\");\nLatexCmds.bigcup = bind(VanillaSymbol, \"\\\\bigcup \", \"&#8746;\");\nLatexCmds.bigsqcup = bind(VanillaSymbol, \"\\\\bigsqcup \", \"&#8852;\");\nLatexCmds.bigvee = bind(VanillaSymbol, \"\\\\bigvee \", \"&#8744;\");\nLatexCmds.bigwedge = bind(VanillaSymbol, \"\\\\bigwedge \", \"&#8743;\");\nLatexCmds.bigodot = bind(VanillaSymbol, \"\\\\bigodot \", \"&#8857;\");\nLatexCmds.bigotimes = bind(VanillaSymbol, \"\\\\bigotimes \", \"&#8855;\");\nLatexCmds.bigoplus = bind(VanillaSymbol, \"\\\\bigoplus \", \"&#8853;\");\nLatexCmds.biguplus = bind(VanillaSymbol, \"\\\\biguplus \", \"&#8846;\");\n\n//delimiters\nLatexCmds.lfloor = bind(VanillaSymbol, \"\\\\lfloor \", \"&#8970;\");\nLatexCmds.rfloor = bind(VanillaSymbol, \"\\\\rfloor \", \"&#8971;\");\nLatexCmds.lceil = bind(VanillaSymbol, \"\\\\lceil \", \"&#8968;\");\nLatexCmds.rceil = bind(VanillaSymbol, \"\\\\rceil \", \"&#8969;\");\nLatexCmds.opencurlybrace = LatexCmds.lbrace = bind(\n VanillaSymbol,\n \"\\\\lbrace \",\n \"{\"\n);\nLatexCmds.closecurlybrace = LatexCmds.rbrace = bind(\n VanillaSymbol,\n \"\\\\rbrace \",\n \"}\"\n);\nLatexCmds.lbrack = bind(VanillaSymbol, \"[\");\nLatexCmds.rbrack = bind(VanillaSymbol, \"]\");\n\n//microunits\nLatexCmds.mug = bind(VanillaSymbol, '\\\\mug ', 'µg');\nLatexCmds.mus = bind(VanillaSymbol, '\\\\mus ', 'µs');\nLatexCmds.mum = bind(VanillaSymbol, '\\\\mum ', 'µm');\nLatexCmds.muL = bind(VanillaSymbol, '\\\\muL ', 'µL');\n\n//various symbols\nLatexCmds.slash = bind(VanillaSymbol, \"/\");\nLatexCmds.vert = bind(VanillaSymbol, \"|\");\nLatexCmds.perp = LatexCmds.perpendicular = bind(\n VanillaSymbol,\n \"\\\\perp \",\n \"&perp;\"\n);\nLatexCmds.nabla = LatexCmds.del = bind(VanillaSymbol, \"\\\\nabla \", \"&nabla;\");\nLatexCmds.hbar = bind(VanillaSymbol, \"\\\\hbar \", \"&#8463;\");\n\nLatexCmds.AA = LatexCmds.Angstrom = LatexCmds.angstrom = bind(\n VanillaSymbol,\n \"\\\\text\\\\AA \",\n \"&#8491;\"\n);\n\nLatexCmds.ring = LatexCmds.circ = LatexCmds.circle = bind(\n VanillaSymbol,\n \"\\\\circ \",\n \"&#8728;\"\n);\n\nLatexCmds.bull = LatexCmds.bullet = bind(VanillaSymbol, \"\\\\bullet \", \"&bull;\");\n\nLatexCmds.setminus = LatexCmds.smallsetminus = bind(\n VanillaSymbol,\n \"\\\\setminus \",\n \"&#8726;\"\n);\n\nLatexCmds.not = LatexCmds[\"¬\"] = LatexCmds.neg = bind( //bind(Symbol,'\\\\not ','<span class=\"not\">/</span>');\n VanillaSymbol,\n \"\\\\neg \",\n \"&not;\"\n);\n\nLatexCmds[\n \"…\"\n] = LatexCmds.dots = LatexCmds.ellip = LatexCmds.hellip = LatexCmds.ellipsis = LatexCmds.hellipsis = bind(\n VanillaSymbol,\n \"\\\\dots \",\n \"&hellip;\"\n);\n\nLatexCmds.converges = LatexCmds.darr = LatexCmds.dnarr = LatexCmds.dnarrow = LatexCmds.downarrow = bind(\n VanillaSymbol,\n \"\\\\downarrow \",\n \"&darr;\"\n);\n\nLatexCmds.dArr = LatexCmds.dnArr = LatexCmds.dnArrow = LatexCmds.Downarrow = bind(\n VanillaSymbol,\n \"\\\\Downarrow \",\n \"&dArr;\"\n);\n\nLatexCmds.diverges = LatexCmds.uarr = LatexCmds.uparrow = bind(\n VanillaSymbol,\n \"\\\\uparrow \",\n \"&uarr;\"\n);\n\nLatexCmds.uArr = LatexCmds.Uparrow = bind(\n VanillaSymbol,\n \"\\\\Uparrow \",\n \"&uArr;\"\n);\n\nLatexCmds.to = bind(BinaryOperator, \"\\\\to \", \"&rarr;\");\n\nLatexCmds.rarr = LatexCmds.rightarrow = bind(\n VanillaSymbol,\n \"\\\\rightarrow \",\n \"&rarr;\"\n);\n\nLatexCmds.implies = bind(BinaryOperator, \"\\\\Rightarrow \", \"&rArr;\");\n\nLatexCmds.rArr = LatexCmds.Rightarrow = bind(\n VanillaSymbol,\n \"\\\\Rightarrow \",\n \"&rArr;\"\n);\n\nLatexCmds.gets = bind(BinaryOperator, \"\\\\gets \", \"&larr;\");\n\nLatexCmds.larr = LatexCmds.leftarrow = bind(\n VanillaSymbol,\n \"\\\\leftarrow \",\n \"&larr;\"\n);\n\nLatexCmds.impliedby = bind(BinaryOperator, \"\\\\Leftarrow \", \"&lArr;\");\n\nLatexCmds.lArr = LatexCmds.Leftarrow = bind(\n VanillaSymbol,\n \"\\\\Leftarrow \",\n \"&lArr;\"\n);\n\nLatexCmds.harr = LatexCmds.lrarr = LatexCmds.leftrightarrow = bind(\n VanillaSymbol,\n \"\\\\leftrightarrow \",\n \"&harr;\"\n);\n\nLatexCmds.iff = bind(BinaryOperator, \"\\\\Leftrightarrow \", \"&hArr;\");\n\nLatexCmds.hArr = LatexCmds.lrArr = LatexCmds.Leftrightarrow = bind(\n VanillaSymbol,\n \"\\\\Leftrightarrow \",\n \"&hArr;\"\n);\n\nLatexCmds.Re = LatexCmds.Real = LatexCmds.real = bind(\n VanillaSymbol,\n \"\\\\Re \",\n \"&real;\"\n);\n\nLatexCmds.Im = LatexCmds.imag = LatexCmds.image = LatexCmds.imagin = LatexCmds.imaginary = LatexCmds.Imaginary = bind(\n VanillaSymbol,\n \"\\\\Im \",\n \"&image;\"\n);\n\nLatexCmds.part = LatexCmds.partial = bind(\n VanillaSymbol,\n \"\\\\partial \",\n \"&part;\"\n);\n\nLatexCmds.infty = LatexCmds.infin = LatexCmds.infinity = bind(\n VanillaSymbol,\n \"\\\\infty \",\n \"&infin;\"\n);\n\nLatexCmds.pounds = bind(VanillaSymbol, \"\\\\pounds \", \"&pound;\");\n\nLatexCmds.alef = LatexCmds.alefsym = LatexCmds.aleph = LatexCmds.alephsym = bind(\n VanillaSymbol,\n \"\\\\aleph \",\n \"&alefsym;\"\n);\n\nLatexCmds.xist = LatexCmds.xists = LatexCmds.exist = LatexCmds.exists = bind( //LOL\n VanillaSymbol,\n \"\\\\exists \",\n \"&exist;\"\n);\n\nLatexCmds.nexists = LatexCmds.nexist = bind(\n VanillaSymbol,\n \"\\\\nexists \",\n \"&#8708;\"\n);\n\nLatexCmds.and = LatexCmds.land = LatexCmds.wedge = bind(\n BinaryOperator,\n \"\\\\wedge \",\n \"&and;\"\n);\n\nLatexCmds.or = LatexCmds.lor = LatexCmds.vee = bind(\n BinaryOperator,\n \"\\\\vee \",\n \"&or;\"\n);\n\nLatexCmds.o = LatexCmds.O = LatexCmds.empty = LatexCmds.emptyset = LatexCmds.oslash = LatexCmds.Oslash = LatexCmds.nothing = LatexCmds.varnothing = bind(\n BinaryOperator,\n \"\\\\varnothing \",\n \"&empty;\"\n);\n\nLatexCmds.cup = LatexCmds.union = bind(BinaryOperator, \"\\\\cup \", \"&cup;\");\n\nLatexCmds.cap = LatexCmds.intersect = LatexCmds.intersection = bind(\n BinaryOperator,\n \"\\\\cap \",\n \"&cap;\"\n);\n\n// FIXME: the correct LaTeX would be ^\\circ but we can't parse that\nLatexCmds.deg = LatexCmds.degree = bind(VanillaSymbol, \"\\\\degree \", \"&deg;\");\n\nLatexCmds.ang = LatexCmds.angle = bind(VanillaSymbol, \"\\\\angle \", \"&ang;\");\n\nLatexCmds.measuredangle = bind(VanillaSymbol,'\\\\measuredangle ','m&ang;');\n\n\n/*********************************\n * Symbols for Basic Mathematics\n ********************************/\n\nvar Digit = P(VanillaSymbol, function(_, super_) {\n _.createLeftOf = function(cursor) {\n if (cursor.options.autoSubscriptNumerals\n && cursor.parent !== cursor.parent.parent.sub\n && ((cursor[L] instanceof Variable && cursor[L].isItalic !== false)\n || (cursor[L] instanceof SupSub\n && cursor[L][L] instanceof Variable\n && cursor[L][L].isItalic !== false))) {\n LatexCmds._().createLeftOf(cursor);\n super_.createLeftOf.call(this, cursor);\n cursor.insRightOf(cursor.parent.parent);\n }\n else super_.createLeftOf.call(this, cursor);\n };\n});\n\nvar Variable = P(Symbol, function(_, super_) {\n _.init = function(ch, html) {\n super_.init.call(this, ch, '<var>'+(html || ch)+'</var>');\n };\n _.text = function() {\n var text = this.ctrlSeq;\n if (this.isPartOfOperator) {\n if (text[0] == '\\\\') {\n text = text.slice(1, text.length);\n }\n else if (text[text.length-1] == ' ') {\n text = text.slice (0, -1);\n }\n } else {\n if (this[L] && !(this[L] instanceof Variable)\n && !(this[L] instanceof BinaryOperator)\n && this[L].ctrlSeq !== '\\\\ ')\n text = '*' + text;\n if (this[R] && !(this[R] instanceof BinaryOperator)\n && !(this[R] instanceof SupSub))\n text += '*';\n }\n return text;\n };\n});\n\nOptions.p.autoCommands = { _maxLength: 0 };\noptionProcessors.autoCommands = function(cmds) {\n if (!/^[a-z]+(?: [a-z]+)*$/i.test(cmds)) {\n throw '\"'+cmds+'\" not a space-delimited list of only letters';\n }\n var list = cmds.split(' '), dict = {}, maxLength = 0;\n for (var i = 0; i < list.length; i += 1) {\n var cmd = list[i];\n if (cmd.length < 2) {\n throw 'autocommand \"'+cmd+'\" not minimum length of 2';\n }\n if (LatexCmds[cmd] === OperatorName) {\n throw '\"' + cmd + '\" is a built-in operator name';\n }\n dict[cmd] = 1;\n maxLength = max(maxLength, cmd.length);\n }\n dict._maxLength = maxLength;\n return dict;\n};\n\nvar Letter = P(Variable, function(_, super_) {\n _.init = function(ch) { return super_.init.call(this, this.letter = ch); };\n _.createLeftOf = function(cursor) {\n super_.createLeftOf.apply(this, arguments);\n var autoCmds = cursor.options.autoCommands, maxLength = autoCmds._maxLength;\n if (maxLength > 0) {\n // want longest possible autocommand, so join together longest\n // sequence of letters\n var str = '', l = this, i = 0;\n // FIXME: l.ctrlSeq === l.letter checks if first or last in an operator name\n while (l instanceof Letter && l.ctrlSeq === l.letter && i < maxLength) {\n str = l.letter + str, l = l[L], i += 1;\n }\n // check for an autocommand, going thru substrings longest to shortest\n while (str.length) {\n if (autoCmds.hasOwnProperty(str)) {\n for (var i = 1, l = this; i < str.length; i += 1, l = l[L]);\n Fragment(l, this).remove();\n cursor[L] = l[L];\n return LatexCmds[str](str).createLeftOf(cursor);\n }\n str = str.slice(1);\n }\n }\n };\n _.italicize = function(bool) {\n this.isItalic = bool;\n this.isPartOfOperator = !bool;\n this.jQ.toggleClass('mq-operator-name', !bool);\n return this;\n };\n _.finalizeTree = _.siblingDeleted = _.siblingCreated = function(opts, dir) {\n // don't auto-un-italicize if the sibling to my right changed (dir === R or\n // undefined) and it's now a Letter, it will un-italicize everyone\n if (dir !== L && this[R] instanceof Letter) return;\n this.autoUnItalicize(opts);\n };\n _.autoUnItalicize = function(opts) {\n var autoOps = opts.autoOperatorNames;\n if (autoOps._maxLength === 0) return;\n // want longest possible operator names, so join together entire contiguous\n // sequence of letters\n var str = this.letter;\n for (var l = this[L]; l instanceof Letter; l = l[L]) str = l.letter + str;\n for (var r = this[R]; r instanceof Letter; r = r[R]) str += r.letter;\n\n // removeClass and delete flags from all letters before figuring out\n // which, if any, are part of an operator name\n Fragment(l[R] || this.parent.ends[L], r[L] || this.parent.ends[R]).each(function(el) {\n el.italicize(true).jQ.removeClass('mq-first mq-last mq-followed-by-supsub');\n el.ctrlSeq = el.letter;\n });\n\n // check for operator names: at each position from left to right, check\n // substrings from longest to shortest\n outer: for (var i = 0, first = l[R] || this.parent.ends[L]; i < str.length; i += 1, first = first[R]) {\n for (var len = min(autoOps._maxLength, str.length - i); len > 0; len -= 1) {\n var word = str.slice(i, i + len);\n if (autoOps.hasOwnProperty(word)) {\n for (var j = 0, letter = first; j < len; j += 1, letter = letter[R]) {\n letter.italicize(false);\n var last = letter;\n }\n\n var isBuiltIn = BuiltInOpNames.hasOwnProperty(word);\n first.ctrlSeq = (isBuiltIn ? '\\\\' : '\\\\operatorname{') + first.ctrlSeq;\n last.ctrlSeq += (isBuiltIn ? ' ' : '}');\n if (TwoWordOpNames.hasOwnProperty(word)) last[L][L][L].jQ.addClass('mq-last');\n if (!shouldOmitPadding(first[L])) first.jQ.addClass('mq-first');\n if (!shouldOmitPadding(last[R])) {\n if (last[R] instanceof SupSub) {\n var supsub = last[R]; // XXX monkey-patching, but what's the right thing here?\n // Have operatorname-specific code in SupSub? A CSS-like language to style the\n // math tree, but which ignores cursor and selection (which CSS can't)?\n var respace = supsub.siblingCreated = supsub.siblingDeleted = function() {\n supsub.jQ.toggleClass('mq-after-operator-name', !(supsub[R] instanceof Bracket));\n };\n respace();\n }\n else {\n last.jQ.toggleClass('mq-last', !(last[R] instanceof Bracket));\n }\n }\n\n i += len - 1;\n first = last;\n continue outer;\n }\n }\n }\n };\n function shouldOmitPadding(node) {\n // omit padding if no node, or if node already has padding (to avoid double-padding)\n return !node || (node instanceof BinaryOperator) || (node instanceof SummationNotation);\n }\n});\nvar BuiltInOpNames = {}; // the set of operator names like \\sin, \\cos, etc that\n // are built-into LaTeX, see Section 3.17 of the Short Math Guide: http://tinyurl.com/jm9okjc\n // MathQuill auto-unitalicizes some operator names not in that set, like 'hcf'\n // and 'arsinh', which must be exported as \\operatorname{hcf} and\n // \\operatorname{arsinh}. Note: over/under line/arrow \\lim variants like\n // \\varlimsup are not supported\nvar AutoOpNames = Options.p.autoOperatorNames = { _maxLength: 9 }; // the set\n // of operator names that MathQuill auto-unitalicizes by default; overridable\nvar TwoWordOpNames = { limsup: 1, liminf: 1, projlim: 1, injlim: 1 };\n(function() {\n var mostOps = ('arg deg det dim exp gcd hom inf ker lg ln log max min sup'\n + ' limsup liminf injlim projlim Pr').split(' ');\n for (var i = 0; i < mostOps.length; i += 1) {\n BuiltInOpNames[mostOps[i]] = AutoOpNames[mostOps[i]] = 1;\n }\n\n var builtInTrigs = // why coth but not sech and csch, LaTeX?\n 'sin cos tan arcsin arccos arctan sinh cosh tanh sec csc cot coth'.split(' ');\n for (var i = 0; i < builtInTrigs.length; i += 1) {\n BuiltInOpNames[builtInTrigs[i]] = 1;\n }\n\n var autoTrigs = 'sin cos tan sec cosec csc cotan cot ctg'.split(' ');\n for (var i = 0; i < autoTrigs.length; i += 1) {\n AutoOpNames[autoTrigs[i]] =\n AutoOpNames['arc'+autoTrigs[i]] =\n AutoOpNames[autoTrigs[i]+'h'] =\n AutoOpNames['ar'+autoTrigs[i]+'h'] =\n AutoOpNames['arc'+autoTrigs[i]+'h'] = 1;\n }\n\n // compat with some of the nonstandard LaTeX exported by MathQuill\n // before #247. None of these are real LaTeX commands so, seems safe\n var moreNonstandardOps = 'gcf hcf lcm proj span'.split(' ');\n for (var i = 0; i < moreNonstandardOps.length; i += 1) {\n AutoOpNames[moreNonstandardOps[i]] = 1;\n }\n}());\noptionProcessors.autoOperatorNames = function(cmds) {\n if (!/^[a-z]+(?: [a-z]+)*$/i.test(cmds)) {\n throw '\"'+cmds+'\" not a space-delimited list of only letters';\n }\n var list = cmds.split(' '), dict = {}, maxLength = 0;\n for (var i = 0; i < list.length; i += 1) {\n var cmd = list[i];\n if (cmd.length < 2) {\n throw '\"'+cmd+'\" not minimum length of 2';\n }\n dict[cmd] = 1;\n maxLength = max(maxLength, cmd.length);\n }\n dict._maxLength = maxLength;\n return dict;\n};\nvar OperatorName = P(Symbol, function(_, super_) {\n _.init = function(fn) { this.ctrlSeq = fn; };\n _.createLeftOf = function(cursor) {\n var fn = this.ctrlSeq;\n for (var i = 0; i < fn.length; i += 1) {\n Letter(fn.charAt(i)).createLeftOf(cursor);\n }\n };\n _.parser = function() {\n var fn = this.ctrlSeq;\n var block = MathBlock();\n for (var i = 0; i < fn.length; i += 1) {\n Letter(fn.charAt(i)).adopt(block, block.ends[R], 0);\n }\n return Parser.succeed(block.children());\n };\n});\nfor (var fn in AutoOpNames) if (AutoOpNames.hasOwnProperty(fn)) {\n LatexCmds[fn] = OperatorName;\n}\nLatexCmds.operatorname = P(MathCommand, function(_) {\n _.createLeftOf = noop;\n _.numBlocks = function() { return 1; };\n _.parser = function() {\n return latexMathParser.block.map(function(b) { return b.children(); });\n };\n});\n\nLatexCmds.f = P(Letter, function(_, super_) {\n _.init = function() {\n Symbol.p.init.call(this, this.letter = 'f', '<var class=\"mq-f\">f</var>');\n };\n _.italicize = function(bool) {\n this.jQ.html('f').toggleClass('mq-f', bool);\n return super_.italicize.apply(this, arguments);\n };\n});\n\n// VanillaSymbol's\nLatexCmds[' '] = LatexCmds.space = bind(VanillaSymbol, '\\\\ ', '&nbsp;');\n\nLatexCmds[\"'\"] = LatexCmds.prime = bind(VanillaSymbol, \"'\", '&prime;');\nLatexCmds['″'] = LatexCmds.dprime = bind(VanillaSymbol, '″', '&Prime;');\nLatexCmds['\"'] = LatexCmds.doublePrime = bind(VanillaSymbol, '\"', '&Prime;');\n\nLatexCmds.backslash = bind(VanillaSymbol,'\\\\backslash ','\\\\');\nif (!CharCmds['\\\\']) CharCmds['\\\\'] = LatexCmds.backslash;\n\nLatexCmds.$ = bind(VanillaSymbol, '\\\\$', '$');\n\n// does not use Symbola font\nvar NonSymbolaSymbol = P(Symbol, function(_, super_) {\n _.init = function(ch, html) {\n super_.init.call(this, ch, '<span class=\"mq-nonSymbola\">'+(html || ch)+'</span>');\n };\n});\n\nLatexCmds['@'] = NonSymbolaSymbol;\nLatexCmds['&'] = bind(NonSymbolaSymbol, '\\\\&', '&amp;');\nLatexCmds['%'] = bind(NonSymbolaSymbol, '\\\\%', '%');\n\n//the following are all Greek to me, but this helped a lot: http://www.ams.org/STIX/ion/stixsig03.html\n\n//lowercase Greek letter variables\nLatexCmds.alpha =\nLatexCmds.beta =\nLatexCmds.gamma =\nLatexCmds.delta =\nLatexCmds.zeta =\nLatexCmds.eta =\nLatexCmds.theta =\nLatexCmds.iota =\nLatexCmds.kappa =\nLatexCmds.mu =\nLatexCmds.nu =\nLatexCmds.xi =\nLatexCmds.rho =\nLatexCmds.sigma =\nLatexCmds.tau =\nLatexCmds.chi =\nLatexCmds.psi =\nLatexCmds.omega = P(Variable, function(_, super_) {\n _.init = function(latex) {\n super_.init.call(this,'\\\\'+latex+' ','&'+latex+';');\n };\n});\n\n//why can't anybody FUCKING agree on these\nLatexCmds.phi = //W3C or Unicode?\n bind(Variable,'\\\\phi ','&#981;');\n\nLatexCmds.phiv = //Elsevier and 9573-13\nLatexCmds.varphi = //AMS and LaTeX\n bind(Variable,'\\\\varphi ','&phi;');\n\nLatexCmds.epsilon = //W3C or Unicode?\n bind(Variable,'\\\\epsilon ','&#1013;');\n\nLatexCmds.epsiv = //Elsevier and 9573-13\nLatexCmds.varepsilon = //AMS and LaTeX\n bind(Variable,'\\\\varepsilon ','&epsilon;');\n\nLatexCmds.piv = //W3C/Unicode and Elsevier and 9573-13\nLatexCmds.varpi = //AMS and LaTeX\n bind(Variable,'\\\\varpi ','&piv;');\n\nLatexCmds.sigmaf = //W3C/Unicode\nLatexCmds.sigmav = //Elsevier\nLatexCmds.varsigma = //LaTeX\n bind(Variable,'\\\\varsigma ','&sigmaf;');\n\nLatexCmds.thetav = //Elsevier and 9573-13\nLatexCmds.vartheta = //AMS and LaTeX\nLatexCmds.thetasym = //W3C/Unicode\n bind(Variable,'\\\\vartheta ','&thetasym;');\n\nLatexCmds.upsilon = //AMS and LaTeX and W3C/Unicode\nLatexCmds.upsi = //Elsevier and 9573-13\n bind(Variable,'\\\\upsilon ','&upsilon;');\n\n//these aren't even mentioned in the HTML character entity references\nLatexCmds.gammad = //Elsevier\nLatexCmds.Gammad = //9573-13 -- WTF, right? I dunno if this was a typo in the reference (see above)\nLatexCmds.digamma = //LaTeX\n bind(Variable,'\\\\digamma ','&#989;');\n\nLatexCmds.kappav = //Elsevier\nLatexCmds.varkappa = //AMS and LaTeX\n bind(Variable,'\\\\varkappa ','&#1008;');\n\nLatexCmds.rhov = //Elsevier and 9573-13\nLatexCmds.varrho = //AMS and LaTeX\n bind(Variable,'\\\\varrho ','&#1009;');\n\n//Greek constants, look best in non-italicized Times New Roman\nLatexCmds.pi = LatexCmds['π'] = bind(NonSymbolaSymbol,'\\\\pi ','&pi;');\nLatexCmds.lambda = bind(NonSymbolaSymbol,'\\\\lambda ','&lambda;');\n\n//uppercase greek letters\n\nLatexCmds.Upsilon = //LaTeX\nLatexCmds.Upsi = //Elsevier and 9573-13\nLatexCmds.upsih = //W3C/Unicode \"upsilon with hook\"\nLatexCmds.Upsih = //'cos it makes sense to me\n bind(Symbol,'\\\\Upsilon ','<var style=\"font-family: serif\">&upsih;</var>'); //Symbola's 'upsilon with a hook' is a capital Y without hooks :(\n\n//other symbols with the same LaTeX command and HTML character entity reference\nLatexCmds.Gamma =\nLatexCmds.Delta =\nLatexCmds.Theta =\nLatexCmds.Lambda =\nLatexCmds.Xi =\nLatexCmds.Pi =\nLatexCmds.Sigma =\nLatexCmds.Phi =\nLatexCmds.Psi =\nLatexCmds.Omega = P(VanillaSymbol, function(_, super_) {\n _.init = function(latex) {\n super_.init.call(this,'\\\\'+latex+' ','&'+latex+';');\n };\n});\n\nLatexCmds.forall = LatexCmds['∀'] = bind(VanillaSymbol,'\\\\forall ','&#8704;');\n\n// symbols that aren't a single MathCommand, but are instead a whole\n// Fragment. Creates the Fragment from a LaTeX string\nvar LatexFragment = P(MathCommand, function(_) {\n _.init = function(latex) { this.latex = latex; };\n _.createLeftOf = function(cursor) {\n var block = latexMathParser.parse(this.latex);\n block.children().adopt(cursor.parent, cursor[L], cursor[R]);\n cursor[L] = block.ends[R];\n block.jQize().insertBefore(cursor.jQ);\n block.finalizeInsert(cursor.options, cursor);\n if (block.ends[R][R].siblingCreated) block.ends[R][R].siblingCreated(cursor.options, L);\n if (block.ends[L][L].siblingCreated) block.ends[L][L].siblingCreated(cursor.options, R);\n cursor.parent.bubble('reflow');\n };\n _.parser = function() {\n var frag = latexMathParser.parse(this.latex).children();\n return Parser.succeed(frag);\n };\n});\n\n// for what seems to me like [stupid reasons][1], Unicode provides\n// subscripted and superscripted versions of all ten Arabic numerals,\n// as well as [so-called \"vulgar fractions\"][2].\n// Nobody really cares about most of them, but some of them actually\n// predate Unicode, dating back to [ISO-8859-1][3], apparently also\n// known as \"Latin-1\", which among other things [Windows-1252][4]\n// largely coincides with, so Microsoft Word sometimes inserts them\n// and they get copy-pasted into MathQuill.\n//\n// (Irrelevant but funny story: though not a superset of Latin-1 aka\n// ISO-8859-1, Windows-1252 **is** a strict superset of the \"closely\n// related but distinct\"[3] \"ISO 8859-1\" -- see the lack of a dash\n// after \"ISO\"? Completely different character set, like elephants vs\n// elephant seals, or \"Zombies\" vs \"Zombie Redneck Torture Family\".\n// What kind of idiot would get them confused.\n// People in fact got them confused so much, it was so common to\n// mislabel Windows-1252 text as ISO-8859-1, that most modern web\n// browsers and email clients treat the MIME charset of ISO-8859-1\n// as actually Windows-1252, behavior now standard in the HTML5 spec.)\n//\n// [1]: http://en.wikipedia.org/wiki/Unicode_subscripts_andsuper_scripts\n// [2]: http://en.wikipedia.org/wiki/Number_Forms\n// [3]: http://en.wikipedia.org/wiki/ISO/IEC_8859-1\n// [4]: http://en.wikipedia.org/wiki/Windows-1252\nLatexCmds['¹'] = bind(LatexFragment, '^1');\nLatexCmds['²'] = bind(LatexFragment, '^2');\nLatexCmds['³'] = bind(LatexFragment, '^3');\nLatexCmds['¼'] = bind(LatexFragment, '\\\\frac14');\nLatexCmds['½'] = bind(LatexFragment, '\\\\frac12');\nLatexCmds['¾'] = bind(LatexFragment, '\\\\frac34');\n\nvar PlusMinus = P(BinaryOperator, function(_) {\n _.init = VanillaSymbol.prototype.init;\n\n _.contactWeld = _.siblingCreated = _.siblingDeleted = function(opts, dir) {\n function determineOpClassType(node) {\n if (node[L]) {\n // If the left sibling is a binary operator or a separator (comma, semicolon, colon)\n // or an open bracket (open parenthesis, open square bracket)\n // consider the operator to be unary\n if (node[L] instanceof BinaryOperator || /^[,;:\\(\\[]$/.test(node[L].ctrlSeq)) {\n return '';\n }\n } else if (node.parent && node.parent.parent && node.parent.parent.isStyleBlock()) {\n //if we are in a style block at the leftmost edge, determine unary/binary based on\n //the style block\n //this allows style blocks to be transparent for unary/binary purposes\n return determineOpClassType(node.parent.parent);\n } else {\n return '';\n }\n\n return 'mq-binary-operator';\n };\n\n if (dir === R) return; // ignore if sibling only changed on the right\n this.jQ[0].className = determineOpClassType(this);\n return this;\n };\n});\n\nLatexCmds['+'] = bind(PlusMinus, '+', '+');\n//yes, these are different dashes, I think one is an en dash and the other is a hyphen\nLatexCmds['–'] = LatexCmds['-'] = bind(PlusMinus, '-', '&minus;');\nLatexCmds['±'] = LatexCmds.pm = LatexCmds.plusmn = LatexCmds.plusminus =\n bind(PlusMinus,'\\\\pm ','&plusmn;');\nLatexCmds.mp = LatexCmds.mnplus = LatexCmds.minusplus =\n bind(PlusMinus,'\\\\mp ','&#8723;');\n\nCharCmds['*'] = LatexCmds.sdot = LatexCmds.cdot =\n bind(BinaryOperator, '\\\\cdot ', '&middot;', '*');\n//semantically should be &sdot;, but &middot; looks better\n\nvar Inequality = P(BinaryOperator, function(_, super_) {\n _.init = function(data, strict) {\n this.data = data;\n this.strict = strict;\n var strictness = (strict ? 'Strict' : '');\n super_.init.call(this, data['ctrlSeq'+strictness], data['html'+strictness],\n data['text'+strictness]);\n };\n _.swap = function(strict) {\n this.strict = strict;\n var strictness = (strict ? 'Strict' : '');\n this.ctrlSeq = this.data['ctrlSeq'+strictness];\n this.jQ.html(this.data['html'+strictness]);\n this.textTemplate = [ this.data['text'+strictness] ];\n };\n _.deleteTowards = function(dir, cursor) {\n if (dir === L && !this.strict) {\n this.swap(true);\n this.bubble('reflow');\n return;\n }\n super_.deleteTowards.apply(this, arguments);\n };\n});\n\nvar less = { ctrlSeq: '\\\\le ', html: '&le;', text: '≤',\n ctrlSeqStrict: '<', htmlStrict: '&lt;', textStrict: '<' };\nvar greater = { ctrlSeq: '\\\\ge ', html: '&ge;', text: '≥',\n ctrlSeqStrict: '>', htmlStrict: '&gt;', textStrict: '>' };\n\nLatexCmds['<'] = LatexCmds.lt = bind(Inequality, less, true);\nLatexCmds['>'] = LatexCmds.gt = bind(Inequality, greater, true);\nLatexCmds['≤'] = LatexCmds.le = LatexCmds.leq = bind(Inequality, less, false);\nLatexCmds['≥'] = LatexCmds.ge = LatexCmds.geq = bind(Inequality, greater, false);\n\nvar Equality = P(BinaryOperator, function(_, super_) {\n _.init = function() {\n super_.init.call(this, '=', '=');\n };\n _.createLeftOf = function(cursor) {\n if (cursor[L] instanceof Inequality && cursor[L].strict) {\n cursor[L].swap(false);\n cursor[L].bubble('reflow');\n return;\n }\n super_.createLeftOf.apply(this, arguments);\n };\n});\nLatexCmds['='] = Equality;\n\nLatexCmds['×'] = LatexCmds.times = bind(BinaryOperator, '\\\\times ', '&times;', '[x]');\n\nLatexCmds['÷'] = LatexCmds.div = LatexCmds.divide = LatexCmds.divides =\n bind(BinaryOperator,'\\\\div ','&divide;', '[/]');\n\nCharCmds['~'] = LatexCmds.sim = bind(BinaryOperator, '\\\\sim ', '~', '~');\nCharCmds['\\u2241'] = LatexCmds.nsim = bind(BinaryOperator, '\\\\nsim ', '\\u2241', '\\u2241');\n\n\n// New VanillaSymbols\nLatexCmds.complement = LatexCmds['∁'] = bind(VanillaSymbol, '\\\\complement ', '&#8705;');\nLatexCmds.nexists = LatexCmds['∄'] = bind(VanillaSymbol, '\\\\nexists ', '&#8708;');\nLatexCmds.sphericalangle = LatexCmds['∢'] = bind(VanillaSymbol, '\\\\sphericalangle ', '&#8738;');\nLatexCmds.iint = LatexCmds['∬'] = bind(VanillaSymbol, '\\\\iint ', '&#8748;');\nLatexCmds.iiint = LatexCmds['∭'] = bind(VanillaSymbol, '\\\\iiint ', '&#8749;');\nLatexCmds.oiint = LatexCmds['∯'] = bind(VanillaSymbol, '\\\\oiint ', '&#8751;');\nLatexCmds.oiiint = LatexCmds['∰'] = bind(VanillaSymbol, '\\\\oiiint ', '&#8752;');\nLatexCmds.backsim = LatexCmds['∽'] = bind(VanillaSymbol, '\\\\backsim ', '&#8765;');\nLatexCmds.backsimeq = LatexCmds['⋍'] = bind(VanillaSymbol, '\\\\backsimeq ', '&#8909;');\nLatexCmds.eqsim = LatexCmds['≂'] = bind(VanillaSymbol, '\\\\eqsim ', '&#8770;');\nLatexCmds.ncong = LatexCmds['≇'] = bind(VanillaSymbol, '\\\\ncong ', '&#8775;');\nLatexCmds.approxeq = LatexCmds['≊'] = bind(VanillaSymbol, '\\\\approxeq ', '&#8778;');\nLatexCmds.bumpeq = LatexCmds['≏'] = bind(VanillaSymbol, '\\\\bumpeq ', '&#8783;');\nLatexCmds.Bumpeq = LatexCmds['≎'] = bind(VanillaSymbol, '\\\\Bumpeq ', '&#8782;');\nLatexCmds.doteqdot = LatexCmds['≑'] = bind(VanillaSymbol, '\\\\doteqdot ', '&#8785;');\nLatexCmds.fallingdotseq = LatexCmds['≒'] = bind(VanillaSymbol, '\\\\fallingdotseq ', '&#8786;');\nLatexCmds.risingdotseq = LatexCmds['≓'] = bind(VanillaSymbol, '\\\\risingdotseq ', '&#8787;');\nLatexCmds.eqcirc = LatexCmds['≖'] = bind(VanillaSymbol, '\\\\eqcirc ', '&#8790;');\nLatexCmds.circeq = LatexCmds['≗'] = bind(VanillaSymbol, '\\\\circeq ', '&#8791;');\nLatexCmds.triangleq = LatexCmds['≜'] = bind(VanillaSymbol, '\\\\triangleq ', '&#8796;');\nLatexCmds.leqq = LatexCmds['≦'] = bind(VanillaSymbol, '\\\\leqq ', '&#8806;');\nLatexCmds.geqq = LatexCmds['≧'] = bind(VanillaSymbol, '\\\\geqq ', '&#8807;');\nLatexCmds.lneqq = LatexCmds['≨'] = bind(VanillaSymbol, '\\\\lneqq ', '&#8808;');\nLatexCmds.gneqq = LatexCmds['≩'] = bind(VanillaSymbol, '\\\\gneqq ', '&#8809;');\nLatexCmds.between = LatexCmds['≬'] = bind(VanillaSymbol, '\\\\between ', '&#8812;');\nLatexCmds.nleq = LatexCmds['≰'] = bind(VanillaSymbol, '\\\\nleq ', '&#8816;');\nLatexCmds.ngeq = LatexCmds['≱'] = bind(VanillaSymbol, '\\\\ngeq ', '&#8817;');\nLatexCmds.lesssim = LatexCmds['≲'] = bind(VanillaSymbol, '\\\\lesssim ', '&#8818;');\nLatexCmds.gtrsim = LatexCmds['≳'] = bind(VanillaSymbol, '\\\\gtrsim ', '&#8819;');\nLatexCmds.lessgtr = LatexCmds['≶'] = bind(VanillaSymbol, '\\\\lessgtr ', '&#8822;');\nLatexCmds.gtrless = LatexCmds['≷'] = bind(VanillaSymbol, '\\\\gtrless ', '&#8823;');\nLatexCmds.preccurlyeq = LatexCmds['≼'] = bind(VanillaSymbol, '\\\\preccurlyeq ', '&#8828;');\nLatexCmds.succcurlyeq = LatexCmds['≽'] = bind(VanillaSymbol, '\\\\succcurlyeq ', '&#8829;');\nLatexCmds.precsim = LatexCmds['≾'] = bind(VanillaSymbol, '\\\\precsim ', '&#8830;');\nLatexCmds.succsim = LatexCmds['≿'] = bind(VanillaSymbol, '\\\\succsim ', '&#8831;');\nLatexCmds.nprec = LatexCmds['⊀'] = bind(VanillaSymbol, '\\\\nprec ', '&#8832;');\nLatexCmds.nsucc = LatexCmds['⊁'] = bind(VanillaSymbol, '\\\\nsucc ', '&#8833;');\nLatexCmds.subsetneq = LatexCmds['⊊'] = bind(VanillaSymbol, '\\\\subsetneq ', '&#8842;');\nLatexCmds.supsetneq = LatexCmds['⊋'] = bind(VanillaSymbol, '\\\\supsetneq ', '&#8843;');\nLatexCmds.vDash = LatexCmds['⊨'] = bind(VanillaSymbol, '\\\\vDash ', '&#8872;');\nLatexCmds.Vdash = LatexCmds['⊩'] = bind(VanillaSymbol, '\\\\Vdash ', '&#8873;');\nLatexCmds.Vvdash = LatexCmds['⊪'] = bind(VanillaSymbol, '\\\\Vvdash ', '&#8874;');\nLatexCmds.VDash = LatexCmds['⊫'] = bind(VanillaSymbol, '\\\\VDash ', '&#8875;');\nLatexCmds.nvdash = LatexCmds['⊬'] = bind(VanillaSymbol, '\\\\nvdash ', '&#8876;');\nLatexCmds.nvDash = LatexCmds['⊭'] = bind(VanillaSymbol, '\\\\nvDash ', '&#8877;');\nLatexCmds.nVdash = LatexCmds['⊮'] = bind(VanillaSymbol, '\\\\nVdash ', '&#8878;');\nLatexCmds.nVDash = LatexCmds['⊯'] = bind(VanillaSymbol, '\\\\nVDash ', '&#8879;');\nLatexCmds.vartriangleleft = LatexCmds['⊲'] = bind(VanillaSymbol, '\\\\vartriangleleft ', '&#8882;');\nLatexCmds.vartriangleright = LatexCmds['⊳'] = bind(VanillaSymbol, '\\\\vartriangleright ', '&#8883;');\nLatexCmds.trianglelefteq = LatexCmds['⊴'] = bind(VanillaSymbol, '\\\\trianglelefteq ', '&#8884;');\nLatexCmds.trianglerighteq = LatexCmds['⊵'] = bind(VanillaSymbol, '\\\\trianglerighteq ', '&#8885;');\nLatexCmds.multimap = LatexCmds['⊸'] = bind(VanillaSymbol, '\\\\multimap ', '&#8888;');\nLatexCmds.Subset = LatexCmds['⋐'] = bind(VanillaSymbol, '\\\\Subset ', '&#8912;');\nLatexCmds.Supset = LatexCmds['⋑'] = bind(VanillaSymbol, '\\\\Supset ', '&#8913;');\nLatexCmds.Cap = LatexCmds['⋒'] = bind(VanillaSymbol, '\\\\Cap ', '&#8914;');\nLatexCmds.Cup = LatexCmds['⋓'] = bind(VanillaSymbol, '\\\\Cup ', '&#8915;');\nLatexCmds.pitchfork = LatexCmds['⋔'] = bind(VanillaSymbol, '\\\\pitchfork ', '&#8916;');\nLatexCmds.lessdot = LatexCmds['⋖'] = bind(VanillaSymbol, '\\\\lessdot ', '&#8918;');\nLatexCmds.gtrdot = LatexCmds['⋗'] = bind(VanillaSymbol, '\\\\gtrdot ', '&#8919;');\nLatexCmds.lll = LatexCmds['⋘'] = bind(VanillaSymbol, '\\\\lll ', '&#8920;');\nLatexCmds.ggg = LatexCmds['⋙'] = bind(VanillaSymbol, '\\\\ggg ', '&#8921;');\nLatexCmds.lesseqgtr = LatexCmds['⋚'] = bind(VanillaSymbol, '\\\\lesseqgtr ', '&#8922;');\nLatexCmds.gtreqless = LatexCmds['⋛'] = bind(VanillaSymbol, '\\\\gtreqless ', '&#8923;');\nLatexCmds.curlyeqprec = LatexCmds['⋞'] = bind(VanillaSymbol, '\\\\curlyeqprec ', '&#8926;');\nLatexCmds.curlyeqsucc = LatexCmds['⋟'] = bind(VanillaSymbol, '\\\\curlyeqsucc ', '&#8927;');\nLatexCmds.nsim = LatexCmds['≁'] = bind(VanillaSymbol, '\\\\nsim ', '&#8769;');\nLatexCmds.lnsim = LatexCmds['⋦'] = bind(VanillaSymbol, '\\\\lnsim ', '&#8934;');\nLatexCmds.gnsim = LatexCmds['⋧'] = bind(VanillaSymbol, '\\\\gnsim ', '&#8935;');\nLatexCmds.precnsim = LatexCmds['⋨'] = bind(VanillaSymbol, '\\\\precnsim ', '&#8936;');\nLatexCmds.succnsim = LatexCmds['⋩'] = bind(VanillaSymbol, '\\\\succnsim ', '&#8937;');\nLatexCmds.ntriangleleft = LatexCmds['⋪'] = bind(VanillaSymbol, '\\\\ntriangleleft ', '&#8938;');\nLatexCmds.ntriangleright = LatexCmds['⋫'] = bind(VanillaSymbol, '\\\\ntriangleright ', '&#8939;');\nLatexCmds.ntrianglelefteq = LatexCmds['⋬'] = bind(VanillaSymbol, '\\\\ntrianglelefteq ', '&#8940;');\nLatexCmds.ntrianglerighteq = LatexCmds['⋭'] = bind(VanillaSymbol, '\\\\ntrianglerighteq ', '&#8941;');\nLatexCmds.blacksquare = LatexCmds['∎'] = bind(VanillaSymbol, '\\\\blacksquare ', '&#8718;');\nLatexCmds.colon = LatexCmds['∶'] = bind(VanillaSymbol, '\\\\colon ', '&#8758;');\nLatexCmds.llcorner = LatexCmds['∟'] = bind(VanillaSymbol, '\\\\llcorner ', '&#8735;');\n\n// New BinaryOperators\nLatexCmds.dotplus = LatexCmds['∔'] = bind(BinaryOperator, '\\\\dotplus ', '&#8724;');\nLatexCmds.nmid = LatexCmds['∤'] = bind(BinaryOperator,'\\nmid ','&#8740;');\nLatexCmds.intercal = LatexCmds['⊺'] = bind(BinaryOperator, '\\\\intercal ', '&#8890;');\nLatexCmds.veebar = LatexCmds['⊻'] = bind(BinaryOperator, '\\\\veebar ', '&#8891;');\nLatexCmds.barwedge = LatexCmds['⊼'] = bind(BinaryOperator, '\\\\barwedge ', '&#8892;');\nLatexCmds.ltimes = LatexCmds['⋉'] = bind(BinaryOperator, '\\\\ltimes ', '&#8905;');\nLatexCmds.rtimes = LatexCmds['⋊'] = bind(BinaryOperator, '\\\\rtimes ', '&#8906;');\nLatexCmds.leftthreetimes = LatexCmds['⋋'] = bind(BinaryOperator, '\\\\leftthreetimes ', '&#8907;');\nLatexCmds.rightthreetimes = LatexCmds['⋌'] = bind(BinaryOperator, '\\\\rightthreetimes ', '&#8908;');\nLatexCmds.curlyvee = LatexCmds['⋎'] = bind(BinaryOperator, '\\\\curlyvee ', '&#8910;');\nLatexCmds.curlywedge = LatexCmds['⋏'] = bind(BinaryOperator, '\\\\curlywedge ', '&#8911;');\nLatexCmds.circledcirc = LatexCmds['⊚'] = bind(BinaryOperator, '\\\\circledcirc ', '&#8858;');\nLatexCmds.circledast = LatexCmds['⊛'] = bind(BinaryOperator, '\\\\circledast ', '&#8859;');\nLatexCmds.circleddash = LatexCmds['⊝'] = bind(BinaryOperator, '\\\\circleddash ', '&#8861;');\nLatexCmds.boxplus = LatexCmds['⊞'] = bind(BinaryOperator, '\\\\boxplus ', '&#8862;');\nLatexCmds.boxminus = LatexCmds['⊟'] = bind(BinaryOperator, '\\\\boxminus ', '&#8863;');\nLatexCmds.boxtimes = LatexCmds['⊠'] = bind(BinaryOperator, '\\\\boxtimes ', '&#8864;');\nLatexCmds.boxdot = LatexCmds['⊡'] = bind(BinaryOperator, '\\\\boxdot ', '&#8865;');\n\n// New mappings to existing symbols\nLatexCmds['∂'] = LatexCmds.partial;\nLatexCmds['∃'] = LatexCmds.exists;\nLatexCmds['∅'] = LatexCmds.varnothing;\nLatexCmds['∆'] = LatexCmds.triangle;\nLatexCmds['∇'] = LatexCmds.nabla;\nLatexCmds['∈'] = LatexCmds.in;\nLatexCmds['∊'] = LatexCmds.in;\nLatexCmds['∋'] = LatexCmds.ni;\nLatexCmds['∌'] = LatexCmds.notni;\nLatexCmds['∍'] = LatexCmds.ni;\nLatexCmds['∐'] = LatexCmds.amalg;\nLatexCmds['−'] = LatexCmds['-'];\nLatexCmds['∓'] = LatexCmds.mp;\nLatexCmds['∖'] = LatexCmds.setminus;\nLatexCmds['∘'] = LatexCmds.circ;\nLatexCmds['∙'] = LatexCmds.bullet;\nLatexCmds['∝'] = LatexCmds.propto;\nLatexCmds['∞'] = LatexCmds.infty;\nLatexCmds['∠'] = LatexCmds.angle;\nLatexCmds['∡'] = LatexCmds.measuredangle;\nLatexCmds['∣'] = LatexCmds.divides;\nLatexCmds['∥'] = LatexCmds.parallel;\nLatexCmds['∦'] = LatexCmds.nparallel;\nLatexCmds['∧'] = LatexCmds.wedge;\nLatexCmds['∨'] = LatexCmds.vee;\nLatexCmds['∩'] = LatexCmds.cap;\nLatexCmds['∪'] = LatexCmds.cup;\nLatexCmds['∮'] = LatexCmds.oint;\nLatexCmds['∴'] = LatexCmds.therefore;\nLatexCmds['∵'] = LatexCmds.because;\nLatexCmds['∼'] = LatexCmds.sim;\nLatexCmds['≀'] = LatexCmds.wr;\nLatexCmds['≃'] = LatexCmds.simeq;\nLatexCmds['≍'] = LatexCmds.asymp;\nLatexCmds['≐'] = LatexCmds.doteq;\nLatexCmds['≪'] = LatexCmds.ll;\nLatexCmds['≫'] = LatexCmds.gg;\nLatexCmds['≺'] = LatexCmds.prec;\nLatexCmds['≻'] = LatexCmds.succ;\nLatexCmds['⊂'] = LatexCmds.subset;\nLatexCmds['⊃'] = LatexCmds.supset;\nLatexCmds['⊆'] = LatexCmds.subseteq;\nLatexCmds['⊇'] = LatexCmds.supseteq;\nLatexCmds['⊈'] = LatexCmds.nsubseteq;\nLatexCmds['⊉'] = LatexCmds.nsupseteq;\nLatexCmds['⊏'] = LatexCmds.sqsubset;\nLatexCmds['⊐'] = LatexCmds.sqsupset;\nLatexCmds['⊓'] = LatexCmds.sqcap;\nLatexCmds['⊔'] = LatexCmds.sqcup;\nLatexCmds['⊖'] = LatexCmds.ominus;\nLatexCmds['⊘'] = LatexCmds.oslash;\nLatexCmds['⊙'] = LatexCmds.odot;\nLatexCmds['⊢'] = LatexCmds.vdash;\nLatexCmds['⊣'] = LatexCmds.dashv;\nLatexCmds['⊤'] = LatexCmds.top;\nLatexCmds['⊥'] = LatexCmds.bot;\nLatexCmds['⊧'] = LatexCmds.models;\nLatexCmds['⋀'] = LatexCmds.wedge;\nLatexCmds['⋁'] = LatexCmds.vee;\nLatexCmds['⋂'] = LatexCmds.cap;\nLatexCmds['⋃'] = LatexCmds.cup;\nLatexCmds['⋄'] = LatexCmds.diamond;\nLatexCmds['⋅'] = LatexCmds.cdot;\nLatexCmds['⋆'] = LatexCmds.star;\nLatexCmds['⋈'] = LatexCmds.bowtie;\nLatexCmds['⋮'] = LatexCmds.vdots;\nLatexCmds['⋯'] = LatexCmds.cdots;\nLatexCmds['⋱'] = LatexCmds.ddots;\n\n\n/***************************\n * Commands and Operators.\n **************************/\n\nvar scale, // = function(jQ, x, y) { ... }\n//will use a CSS 2D transform to scale the jQuery-wrapped HTML elements,\n//or the filter matrix transform fallback for IE 5.5-8, or gracefully degrade to\n//increasing the fontSize to match the vertical Y scaling factor.\n\n//ideas from http://github.com/louisremi/jquery.transform.js\n//see also http://msdn.microsoft.com/en-us/library/ms533014(v=vs.85).aspx\n\n forceIERedraw = noop,\n div = document.createElement('div'),\n div_style = div.style,\n transformPropNames = {\n transform:1,\n WebkitTransform:1,\n MozTransform:1,\n OTransform:1,\n msTransform:1\n },\n transformPropName;\n\nfor (var prop in transformPropNames) {\n if (prop in div_style) {\n transformPropName = prop;\n break;\n }\n}\n\nif (transformPropName) {\n scale = function(jQ, x, y) {\n jQ.css(transformPropName, 'scale('+x+','+y+')');\n };\n}\nelse if ('filter' in div_style) { //IE 6, 7, & 8 fallback, see https://github.com/laughinghan/mathquill/wiki/Transforms\n forceIERedraw = function(el){ el.className = el.className; };\n scale = function(jQ, x, y) { //NOTE: assumes y > x\n x /= (1+(y-1)/2);\n jQ.css('fontSize', y + 'em');\n if (!jQ.hasClass('mq-matrixed-container')) {\n jQ.addClass('mq-matrixed-container')\n .wrapInner('<span class=\"mq-matrixed\"></span>');\n }\n var innerjQ = jQ.children()\n .css('filter', 'progid:DXImageTransform.Microsoft'\n + '.Matrix(M11=' + x + \",SizingMethod='auto expand')\"\n );\n function calculateMarginRight() {\n jQ.css('marginRight', (innerjQ.width()-1)*(x-1)/x + 'px');\n }\n calculateMarginRight();\n var intervalId = setInterval(calculateMarginRight);\n $(window).load(function() {\n clearTimeout(intervalId);\n calculateMarginRight();\n });\n };\n}\nelse {\n scale = function(jQ, x, y) {\n jQ.css('fontSize', y + 'em');\n };\n}\n\nvar Style = P(MathCommand, function(_, super_) {\n _.init = function(ctrlSeq, tagName, attrs) {\n super_.init.call(this, ctrlSeq, '<'+tagName+' '+attrs+'>&0</'+tagName+'>');\n };\n});\n\n// xrightarrow and xleftarrow\nvar XArrowStyle = P(MathCommand, function(_, super_) {\n _.init = function(ctrlSeq, tagName, attrs) {\n this.args = arguments;\n this.htmlTemplate =\n '<' + tagName + ' ' + attrs + '>'\n + '<' + tagName + ' class=\"mq-xarrow-over\">&0</' + tagName + '>'\n + '<' + tagName + ' class=\"mq-xarrow-under\"></' + tagName + '>'\n + '</' + tagName + '>'\n ;\n super_.init.call(this, ctrlSeq);\n this.textTemplate = [ctrlSeq.replace('\\\\', '') + '(', ')'];\n };\n _.parser = function() {\n var cmd = this;\n return latexMathParser.optBlock.then(function(optBlock) {\n return latexMathParser.block.map(function(block) {\n var withSub = XArrowWithSub.apply(null, cmd.args);\n withSub.blocks = [ optBlock, block ];\n optBlock.adopt(withSub, 0, 0);\n block.adopt(withSub, optBlock, 0);\n return withSub;\n });\n }).or(super_.parser.call(this));\n };\n});\n\n// ...with optional subscript\nvar XArrowWithSub = P(XArrowStyle, function(_, super_) {\n _.init = function(ctrlSeq, tagName, attrs) {\n this.htmlTemplate =\n '<' + tagName + ' ' + attrs + '>'\n + '<' + tagName + ' class=\"mq-xarrow-over\">&1</' + tagName + '>'\n + '<' + tagName + ' class=\"mq-xarrow-under\">&0</' + tagName + '>'\n + '</' + tagName + '>'\n ;\n MathCommand.prototype.init.call(this, ctrlSeq);\n this.textTemplate = [ctrlSeq.replace('\\\\', '') + '[', '](', ')'];\n };\n _.latex = function() {\n return this.ctrlSeq + '['+this.ends[L].latex()+']{'+this.ends[R].latex()+'}';\n };\n _.finalizeTree = function() {\n this.downInto = this.ends[L].upOutOf = this.ends[R];\n this.upInto = this.ends[R].downOutOf = this.ends[L];\n };\n});\n\nvar OverLineStyleGenerator = function (className) {\n\n var arrows = '<span class=\"' + className + '-inner-right\">g</span><span class=\"' + className + '-inner-left\">h</span>';\n\n return P(MathCommand, function(_, super_) {\n _.init = function(ctrlSeq, tagName, attrs) {\n super_.init.call(this, ctrlSeq, '<'+tagName+' '+attrs+'><'+tagName+' class=\"' + className + '-inner\">' + arrows + '<span class=\"mq-empty-box\">&0</span></'+tagName+'></'+tagName+'>');\n };\n });\n};\n\n// Function to attach style to long division symbol.\nvar LongDivisionStyle = P(MathCommand, function(_, super_) {\n _.init = function(ctrlSeq, tagName, attrs) {\n super_.init.call(this, ctrlSeq, '<'+tagName+' '+attrs+'><span class=\"mq-longdiv-curve-border\">)</span><span class=\"mq-longdiv-inner\"><span class=\"mq-empty\">&0</span></'+tagName+'></span>');\n };\n});\n\nvar EditMatrixRowStyle = P(MathCommand, function(_, super_) {\n _.init = function(ctrlSeq, tagName, attrs) {\n super_.init.call(this, ctrlSeq, '<span class=\"mq-matrix\">'\n + '<span class=\"mq-paren mq-scaled\">[</span>'\n + '<span class=\"matrix-edit-content-row\">'\n + '<p>' + attrs + '</p>'\n + '<table class=\"mq-non-leaf mq-rows-3\"><tbody>'\n + '<tr><td class=\"mq-empty\"></td>'\n + '<td class=\"mq-empty\"></td>'\n + '<td class=\"mq-empty\"></td></tr>'\n + '</tbody></table>'\n + '</span>'\n + '<span class=\"mq-paren mq-scaled\">]</span></span>');\n };\n});\n\n// Function to attach style recurring decimal dot symbol.\nvar DotRecurringDecimalStyle = P(MathCommand, function(_, super_) {\n _.init = function(ctrlSeq) {\n super_.init.call(this, ctrlSeq, '<span class=\"mq-non-leaf\"><span class=\"mq-dot-recurring-inner\">'\n + '<span class=\"mq-dot-recurring\">&#x2d9;</span>'\n + '<span class=\"mq-empty-box\">&0</span>'\n + '</span></span>'\n );\n };\n});\n\nvar EditMatrixColStyle = P(MathCommand, function(_, super_) {\n _.init = function(ctrlSeq, tagName, attrs) {\n super_.init.call(this, ctrlSeq, '<span class=\"mq-matrix\">'\n + '<span class=\"mq-paren mq-scaled\">[</span>'\n + '<span class=\"matrix-edit-content-col\">'\n + '<p>' + attrs + '</p>'\n + '</span>'\n + '<span class=\"matrix-edit-content-col\">'\n + '<table class=\"mq-non-leaf mq-rows-3\"><tbody>'\n + '<tr><td class=\"mq-empty\"></td></tr>'\n + '<tr><td class=\"mq-empty\"></td></tr>'\n + '<tr><td class=\"mq-empty\"></td></tr>'\n + '</tbody></table>'\n + '</span>'\n + '<span class=\"mq-paren mq-scaled\">]</span>'\n + '</span>');\n };\n});\n\nvar BiggerSymbolStyle = function (className, content) {\n return P(Symbol, function(_, super_) {\n _.init = function(ctrlSeq, tagName, attrs) {\n super_.init.call(this, ctrlSeq, '<'+tagName+' '+attrs+'><'+tagName+' class=\"' + className + '-inner\">' + content + '</'+tagName+'></'+tagName+'>');\n };\n });\n};\n\n//fonts\nLatexCmds.mathrm = bind(Style, '\\\\mathrm', 'span', 'class=\"mq-roman mq-font\"');\nLatexCmds.mathit = bind(Style, '\\\\mathit', 'i', 'class=\"mq-font\"');\nLatexCmds.mathbf = bind(Style, '\\\\mathbf', 'b', 'class=\"mq-font\"');\nLatexCmds.mathsf = bind(Style, '\\\\mathsf', 'span', 'class=\"mq-sans-serif mq-font\"');\nLatexCmds.mathtt = bind(Style, '\\\\mathtt', 'span', 'class=\"mq-monospace mq-font\"');\n//text-decoration\nLatexCmds.underline = bind(Style, '\\\\underline', 'span', 'class=\"mq-non-leaf mq-underline\"');\nLatexCmds.overline = LatexCmds.bar = bind(OverLineStyleGenerator('mq-overline'), '\\\\overline', 'span', 'class=\"mq-non-leaf mq-overline\"');\nLatexCmds.longdiv = bind(LongDivisionStyle, '\\\\longdiv', 'span', 'class=\"mq-non-leaf mq-longdiv\"');\nLatexCmds.overrightarrow = bind(OverLineStyleGenerator('mq-overarrow'), '\\\\overrightarrow', 'span', 'class=\"mq-non-leaf mq-overarrow mq-arrow-right\"');\nLatexCmds.overleftarrow = bind(OverLineStyleGenerator('mq-overarrow'), '\\\\overleftarrow', 'span', 'class=\"mq-non-leaf mq-overarrow mq-arrow-left\"');\nLatexCmds.xleftarrow = bind(XArrowStyle, '\\\\xleftarrow', 'span', 'class=\"mq-non-leaf mq-xarrow mq-arrow-left\"');\nLatexCmds.xrightarrow = bind(XArrowStyle, '\\\\xrightarrow', 'span', 'class=\"mq-non-leaf mq-xarrow mq-arrow-right\"');\nLatexCmds.overleftrightarrow = bind(Style, '\\\\overleftrightarrow', 'span', 'class=\"mq-non-leaf mq-overarrow mq-arrow-both\"');\nLatexCmds.overarc = bind(Style, '\\\\overarc', 'span', 'class=\"mq-non-leaf mq-overarc\"');\nLatexCmds.dot = P(MathCommand, function(_, super_) {\n _.init = function() {\n super_.init.call(this, '\\\\dot', '<span class=\"mq-non-leaf\"><span class=\"mq-dot-recurring-inner\">'\n + '<span class=\"mq-dot-recurring\">&#x2d9;</span>'\n + '<span class=\"mq-empty-box\">&0</span>'\n + '</span></span>'\n );\n };\n});\nLatexCmds.addmatrixrow = bind(EditMatrixRowStyle, '\\\\addmatrixrow', 'span', '+');\nLatexCmds.addmatrixcol = bind(EditMatrixColStyle, '\\\\addmatrixcol', 'span', '+');\nLatexCmds.ngtr = LatexCmds['≯'] = bind(BiggerSymbolStyle('mq-ngtr', '&#8815;'), '\\\\ngtr ', 'span', 'class=\"mq-non-leaf mq-ngtr\"');\nLatexCmds.nless = LatexCmds['≮'] = bind(BiggerSymbolStyle('mq-nless', '&#8814;'), '\\\\nless ', 'span', 'class=\"mq-non-leaf mq-nless\"');\nLatexCmds.dot = bind(DotRecurringDecimalStyle, '\\\\dot');\n\nLatexCmds.parallelogram = bind(BiggerSymbolStyle('mq-parallelogram', '&#9649;'), '\\\\parallelogram ', 'span', 'class=\"mq-non-leaf mq-parallelogram\"');\n\n// `\\textcolor{color}{math}` will apply a color to the given math content, where\n// `color` is any valid CSS Color Value (see [SitePoint docs][] (recommended),\n// [Mozilla docs][], or [W3C spec][]).\n//\n// [SitePoint docs]: http://reference.sitepoint.com/css/colorvalues\n// [Mozilla docs]: https://developer.mozilla.org/en-US/docs/CSS/color_value#Values\n// [W3C spec]: http://dev.w3.org/csswg/css3-color/#colorunits\nvar TextColor = LatexCmds.textcolor = P(MathCommand, function(_, super_) {\n _.setColor = function(color) {\n this.color = color;\n this.htmlTemplate =\n '<span class=\"mq-textcolor\" style=\"color:' + color + '\">&0</span>';\n };\n _.latex = function() {\n return '\\\\textcolor{' + this.color + '}{' + this.blocks[0].latex() + '}';\n };\n _.parser = function() {\n var self = this;\n var optWhitespace = Parser.optWhitespace;\n var string = Parser.string;\n var regex = Parser.regex;\n\n return optWhitespace\n .then(string('{'))\n .then(regex(/^[#\\w\\s.,()%-]*/))\n .skip(string('}'))\n .then(function(color) {\n self.setColor(color);\n return super_.parser.call(self);\n })\n ;\n };\n _.isStyleBlock = function() {\n return true;\n };\n});\n\n// Very similar to the \\textcolor command, but will add the given CSS class.\n// Usage: \\class{classname}{math}\n// Note regex that whitelists valid CSS classname characters:\n// https://github.com/mathquill/mathquill/pull/191#discussion_r4327442\nvar Class = LatexCmds['class'] = P(MathCommand, function(_, super_) {\n _.parser = function() {\n var self = this, string = Parser.string, regex = Parser.regex;\n return Parser.optWhitespace\n .then(string('{'))\n .then(regex(/^[-\\w\\s\\\\\\xA0-\\xFF]*/))\n .skip(string('}'))\n .then(function(cls) {\n self.cls = cls || '';\n self.htmlTemplate = '<span class=\"mq-class '+cls+'\">&0</span>';\n return super_.parser.call(self);\n })\n ;\n };\n _.latex = function() {\n return '\\\\class{' + this.cls + '}{' + this.blocks[0].latex() + '}';\n };\n _.isStyleBlock = function() {\n return true;\n };\n});\n\nvar SupSub = P(MathCommand, function(_, super_) {\n _.ctrlSeq = '_{...}^{...}';\n _.createLeftOf = function(cursor) {\n if (!this.replacedFragment && !cursor[L] && cursor.options.supSubsRequireOperand) return;\n return super_.createLeftOf.apply(this, arguments);\n };\n _.contactWeld = function(cursor) {\n // Look on either side for a SupSub, if one is found compare my\n // .sub, .sup with its .sub, .sup. If I have one that it doesn't,\n // then call .addBlock() on it with my block; if I have one that\n // it also has, then insert my block's children into its block,\n // unless my block has none, in which case insert the cursor into\n // its block (and not mine, I'm about to remove myself) in the case\n // I was just typed.\n // TODO: simplify\n\n // equiv. to [L, R].forEach(function(dir) { ... });\n for (var dir = L; dir; dir = (dir === L ? R : false)) {\n if (this[dir] instanceof SupSub) {\n // equiv. to 'sub sup'.split(' ').forEach(function(supsub) { ... });\n for (var supsub = 'sub'; supsub; supsub = (supsub === 'sub' ? 'sup' : false)) {\n var src = this[supsub], dest = this[dir][supsub];\n if (!src) continue;\n if (!dest) this[dir].addBlock(src.disown());\n else if (!src.isEmpty()) { // ins src children at -dir end of dest\n src.jQ.children().insAtDirEnd(-dir, dest.jQ);\n var children = src.children().disown();\n var pt = Point(dest, children.ends[R], dest.ends[L]);\n if (dir === L) children.adopt(dest, dest.ends[R], 0);\n else children.adopt(dest, 0, dest.ends[L]);\n }\n else var pt = Point(dest, 0, dest.ends[L]);\n this.placeCursor = (function(dest, src) { // TODO: don't monkey-patch\n return function(cursor) { cursor.insAtDirEnd(-dir, dest || src); };\n }(dest, src));\n }\n this.remove();\n if (cursor && cursor[L] === this) {\n if (dir === R && pt) {\n pt[L] ? cursor.insRightOf(pt[L]) : cursor.insAtLeftEnd(pt.parent);\n }\n else cursor.insRightOf(this[dir]);\n }\n break;\n }\n }\n };\n Options.p.charsThatBreakOutOfSupSub = '';\n _.finalizeTree = function() {\n this.ends[L].write = function(cursor, ch) {\n if (cursor.options.autoSubscriptNumerals && this === this.parent.sub) {\n if (ch === '_') return;\n var cmd = this.chToCmd(ch, cursor.options);\n if (cmd instanceof Symbol) cursor.deleteSelection();\n else cursor.clearSelection().insRightOf(this.parent);\n return cmd.createLeftOf(cursor.show());\n }\n if (cursor[L] && !cursor[R] && !cursor.selection\n && cursor.options.charsThatBreakOutOfSupSub.indexOf(ch) > -1) {\n cursor.insRightOf(this.parent);\n }\n MathBlock.p.write.apply(this, arguments);\n };\n };\n _.moveTowards = function(dir, cursor, updown) {\n if (cursor.options.autoSubscriptNumerals && !this.sup) {\n cursor.insDirOf(dir, this);\n }\n else super_.moveTowards.apply(this, arguments);\n };\n _.deleteTowards = function(dir, cursor) {\n if (cursor.options.autoSubscriptNumerals && this.sub) {\n var cmd = this.sub.ends[-dir];\n if (cmd instanceof Symbol) cmd.remove();\n else if (cmd) cmd.deleteTowards(dir, cursor.insAtDirEnd(-dir, this.sub));\n\n // TODO: factor out a .removeBlock() or something\n if (this.sub.isEmpty()) {\n this.sub.deleteOutOf(L, cursor.insAtLeftEnd(this.sub));\n if (this.sup) cursor.insDirOf(-dir, this);\n // Note `-dir` because in e.g. x_1^2| want backspacing (leftward)\n // to delete the 1 but to end up rightward of x^2; with non-negated\n // `dir` (try it), the cursor appears to have gone \"through\" the ^2.\n }\n }\n else super_.deleteTowards.apply(this, arguments);\n };\n _.latex = function() {\n function latex(prefix, block) {\n var l = block && block.latex();\n return block ? prefix + (l.length === 1 ? l : '{' + (l || ' ') + '}') : '';\n }\n return latex('_', this.sub) + latex('^', this.sup);\n };\n _.addBlock = function(block) {\n if (this.supsub === 'sub') {\n this.sup = this.upInto = this.sub.upOutOf = block;\n block.adopt(this, this.sub, 0).downOutOf = this.sub;\n block.jQ = $('<span class=\"mq-sup\"/>').append(block.jQ.children())\n .attr(mqBlockId, block.id).prependTo(this.jQ);\n }\n else {\n this.sub = this.downInto = this.sup.downOutOf = block;\n block.adopt(this, 0, this.sup).upOutOf = this.sup;\n block.jQ = $('<span class=\"mq-sub\"></span>').append(block.jQ.children())\n .attr(mqBlockId, block.id).appendTo(this.jQ.removeClass('mq-sup-only'));\n this.jQ.append('<span style=\"display:inline-block;width:0\">&#8203;</span>');\n }\n // like 'sub sup'.split(' ').forEach(function(supsub) { ... });\n for (var i = 0; i < 2; i += 1) (function(cmd, supsub, oppositeSupsub, updown) {\n cmd[supsub].deleteOutOf = function(dir, cursor) {\n cursor.insDirOf((this[dir] ? -dir : dir), this.parent);\n if (!this.isEmpty()) {\n var end = this.ends[dir];\n this.children().disown()\n .withDirAdopt(dir, cursor.parent, cursor[dir], cursor[-dir])\n .jQ.insDirOf(-dir, cursor.jQ);\n cursor[-dir] = end;\n }\n cmd.supsub = oppositeSupsub;\n delete cmd[supsub];\n delete cmd[updown+'Into'];\n cmd[oppositeSupsub][updown+'OutOf'] = insLeftOfMeUnlessAtEnd;\n delete cmd[oppositeSupsub].deleteOutOf;\n if (supsub === 'sub') $(cmd.jQ.addClass('mq-sup-only')[0].lastChild).remove();\n this.remove();\n };\n }(this, 'sub sup'.split(' ')[i], 'sup sub'.split(' ')[i], 'down up'.split(' ')[i]));\n };\n _.reflow = function() {\n var $block = this.jQ ;//mq-supsub\n var $prev = $block.prev() ;\n\n if ( !$prev.length ) {\n //we cant normalize it without having prev. element (which is base)\n return ;\n }\n\n var $sup = $block.children( '.mq-sup' );//mq-supsub -> mq-sup\n if ( $sup.length ) {\n var sup_fontsize = parseInt( $sup.css('font-size') ) ;\n var sup_bottom = $sup.offset().top + $sup.height() ;\n //we want that superscript overlaps top of base on 0.7 of its font-size\n //this way small superscripts like x^2 look ok, but big ones like x^(1/2/3) too\n var needed = sup_bottom - $prev.offset().top - 0.7*sup_fontsize ;\n var cur_margin = parseInt( $sup.css('margin-bottom' ) ) ;\n //we lift it up with margin-bottom\n $sup.css( 'margin-bottom', cur_margin + needed ) ;\n }\n } ;\n\n});\n\nfunction insLeftOfMeUnlessAtEnd(cursor) {\n // cursor.insLeftOf(cmd), unless cursor at the end of block, and every\n // ancestor cmd is at the end of every ancestor block\n var cmd = this.parent, ancestorCmd = cursor;\n do {\n if (ancestorCmd[R]) return cursor.insLeftOf(cmd);\n ancestorCmd = ancestorCmd.parent.parent;\n } while (ancestorCmd !== cmd);\n cursor.insRightOf(cmd);\n}\n\nLatexCmds.subscript =\nLatexCmds._ = P(SupSub, function(_, super_) {\n _.supsub = 'sub';\n _.htmlTemplate =\n '<span class=\"mq-supsub mq-non-leaf\">'\n + '<span class=\"mq-sub\"><span class=\"mq-empty-box\">&0</span></span>'\n + '<span style=\"display:inline-block;width:0\">&#8203;</span>'\n + '</span>'\n ;\n _.textTemplate = [ '_' ];\n _.finalizeTree = function() {\n this.downInto = this.sub = this.ends[L];\n this.sub.upOutOf = insLeftOfMeUnlessAtEnd;\n super_.finalizeTree.call(this);\n };\n});\n\nLatexCmds.superscript =\nLatexCmds.supscript =\nLatexCmds['^'] = P(SupSub, function(_, super_) {\n _.supsub = 'sup';\n _.htmlTemplate =\n '<span class=\"mq-supsub mq-non-leaf mq-sup-only\">'\n + '<span class=\"mq-sup\"><span class=\"mq-empty-box\">&0</span></span>'\n + '</span>'\n ;\n _.textTemplate = [ '^' ];\n _.finalizeTree = function() {\n this.upInto = this.sup = this.ends[R];\n this.sup.downOutOf = insLeftOfMeUnlessAtEnd;\n super_.finalizeTree.call(this);\n };\n});\n\nvar SummationLimitNotation = P(MathCommand, function(_, super_) {\n _.parser = function() {\n var string = Parser.string;\n var optWhitespace = Parser.optWhitespace;\n var succeed = Parser.succeed;\n var block = latexMathParser.block;\n\n var self = this;\n var blocks = self.blocks = [ MathBlock(), MathBlock() ];\n for (var i = 0; i < blocks.length; i += 1) {\n blocks[i].adopt(self, self.ends[R], 0);\n }\n\n return optWhitespace.then(string('_').or(string('^'))).then(function(supOrSub) {\n var child = blocks[supOrSub === '_' ? 0 : 1];\n return block.then(function(block) {\n block.children().adopt(child, child.ends[R], 0);\n return succeed(self);\n });\n }).many().result(self);\n };\n _.finalizeTree = function() {\n this.downInto = this.ends[L];\n this.upInto = this.ends[R];\n this.ends[L].upOutOf = this.ends[R];\n this.ends[R].downOutOf = this.ends[L];\n };\n});\n\nvar SummationNotation = P(SummationLimitNotation, function(_, super_) {\n _.init = function(ch, html) {\n var htmlTemplate =\n '<span class=\"mq-large-operator mq-non-leaf\">'\n + '<span class=\"mq-to\"><span>&1</span></span>'\n + '<big>'+html+'</big>'\n + '<span class=\"mq-from\"><span>&0</span></span>'\n + '</span>'\n ;\n Symbol.prototype.init.call(this, ch, htmlTemplate);\n };\n _.latex = function() {\n function simplify(latex) {\n return latex.length === 1 ? latex : '{' + (latex || ' ') + '}';\n }\n return this.ctrlSeq + '_' + simplify(this.ends[L].latex()) +\n '^' + simplify(this.ends[R].latex());\n };\n _.createLeftOf = function(cursor) {\n super_.createLeftOf.apply(this, arguments);\n if (cursor.options.sumStartsWithNEquals) {\n Letter('n').createLeftOf(cursor);\n Equality().createLeftOf(cursor);\n }\n };\n});\n\nLatexCmds['∑'] =\nLatexCmds.sum =\nLatexCmds.summation = bind(SummationNotation,'\\\\sum ','&sum;');\n\nLatexCmds['∏'] =\nLatexCmds.prod =\nLatexCmds.product = bind(SummationNotation,'\\\\prod ','&prod;');\n\nLatexCmds.coprod =\nLatexCmds.coproduct = bind(SummationNotation,'\\\\coprod ','&#8720;');\n\nLatexCmds['∫'] =\nLatexCmds['int'] =\nLatexCmds.integral = P(SummationNotation, function(_, super_) {\n _.init = function() {\n var htmlTemplate =\n '<span class=\"mq-int mq-non-leaf\">'\n + '<big>&int;</big>'\n + '<span class=\"mq-supsub mq-non-leaf\">'\n + '<span class=\"mq-sup\"><span class=\"mq-sup-inner\">&1</span></span>'\n + '<span class=\"mq-sub\">&0</span>'\n + '<span style=\"display:inline-block;width:0\">&#8203</span>'\n + '</span>'\n + '</span>'\n ;\n Symbol.prototype.init.call(this, '\\\\int ', htmlTemplate);\n };\n // FIXME: refactor rather than overriding\n _.createLeftOf = MathCommand.p.createLeftOf;\n});\n\n\nLatexCmds.lim =\nLatexCmds.limit = P(SummationLimitNotation, function(_, super_) {\n _.init = function() {\n var htmlTemplate =\n '<span class=\"mq-lim mq-non-leaf\">'\n + '<span class=\"mq-un-italicized\">lim</span>'\n + '<span class=\"mq-approaches\"><span>&0</span></span>'\n + '</span>'\n ;\n Symbol.prototype.init.call(this, '\\\\lim ', htmlTemplate);\n };\n _.latex = function() {\n function simplify(latex) {\n return latex.length === 1 ? latex : '{' + (latex || ' ') + '}';\n }\n return this.ctrlSeq + '_' + simplify(this.ends[L].latex());\n };\n});\n\nvar Fraction =\nLatexCmds.frac =\nLatexCmds.dfrac =\nLatexCmds.cfrac =\nLatexCmds.fraction = P(MathCommand, function(_, super_) {\n _.ctrlSeq = '\\\\frac';\n _.htmlTemplate =\n '<span class=\"mq-fraction mq-non-leaf\">'\n + '<span class=\"mq-numerator\"><span class=\"mq-empty-box\">&0</span></span>'\n + '<span class=\"mq-denominator\"><span class=\"mq-empty-box\">&1</span></span>'\n + '<span style=\"display:inline-block;width:0\">&#8203;</span>'\n + '</span>'\n ;\n _.textTemplate = ['(', ')/(', ')'];\n _.finalizeTree = function() {\n this.upInto = this.ends[R].upOutOf = this.ends[L];\n this.downInto = this.ends[L].downOutOf = this.ends[R];\n };\n});\n\nvar LiveFraction =\nLatexCmds.over =\nCharCmds['/'] = P(Fraction, function(_, super_) {\n _.createLeftOf = function(cursor) {\n if (!this.replacedFragment) {\n var leftward = cursor[L];\n while (leftward &&\n !(\n leftward instanceof BinaryOperator ||\n leftward instanceof (LatexCmds.text || noop) ||\n leftward instanceof SummationNotation ||\n leftward.ctrlSeq === '\\\\ ' ||\n /^[,;:]$/.test(leftward.ctrlSeq)\n ) //lookbehind for operator\n ) leftward = leftward[L];\n\n if (leftward instanceof SummationNotation && leftward[R] instanceof SupSub) {\n leftward = leftward[R];\n if (leftward[R] instanceof SupSub && leftward[R].ctrlSeq != leftward.ctrlSeq)\n leftward = leftward[R];\n }\n\n if (leftward !== cursor[L] && !cursor.isTooDeep(1)) {\n this.replaces(Fragment(leftward[R] || cursor.parent.ends[L], cursor[L]));\n cursor[L] = leftward;\n }\n }\n super_.createLeftOf.call(this, cursor);\n };\n});\n\nLatexCmds.underset = P(MathCommand, function(_, super_) {\n _.ctrlSeq = '\\\\underset';\n _.htmlTemplate =\n '<span class=\"mq-underset mq-overunder mq-non-leaf\">'\n + '<span class=\"mq-over\">&1</span>'\n + '<span class=\"mq-under\">&0</span>'\n + '</span>'\n ;\n _.textTemplate = ['[', '|', ']'];\n _.finalizeTree = function() {\n this.downInto = this.ends[L].upOutOf = this.ends[R];\n this.upInto = this.ends[R].downOutOf = this.ends[L];\n };\n});\n\nLatexCmds.overset = P(MathCommand, function(_, super_) {\n _.ctrlSeq = '\\\\overset';\n _.htmlTemplate =\n '<span class=\"mq-overset mq-overunder mq-non-leaf\">'\n + '<span class=\"mq-over\">&0</span>'\n + '<span class=\"mq-under\">&1</span>'\n + '</span>'\n ;\n _.textTemplate = ['[', '|', ']'];\n _.finalizeTree = function() {\n this.downInto = this.ends[R].upOutOf = this.ends[L];\n this.upInto = this.ends[L].downOutOf = this.ends[R];\n };\n});\n\nvar SquareRoot =\nLatexCmds.sqrt =\nLatexCmds['√'] = P(MathCommand, function(_, super_) {\n _.ctrlSeq = '\\\\sqrt';\n _.htmlTemplate =\n '<span class=\"mq-non-leaf\">'\n + '<span class=\"mq-scaled mq-sqrt-prefix\">&radic;</span>'\n + '<span class=\"mq-non-leaf mq-sqrt-stem\"><span class=\"mq-empty-box\">&0</span></span>'\n + '</span>'\n ;\n _.textTemplate = ['sqrt(', ')'];\n _.parser = function() {\n return latexMathParser.optBlock.then(function(optBlock) {\n return latexMathParser.block.map(function(block) {\n var nthroot = NthRoot();\n nthroot.blocks = [ optBlock, block ];\n optBlock.adopt(nthroot, 0, 0);\n block.adopt(nthroot, optBlock, 0);\n return nthroot;\n });\n }).or(super_.parser.call(this));\n };\n _.reflow = function() {\n var block = this.ends[R].jQ.parent();\n scale(block.prev(), 1, block.innerHeight()/+block.css('fontSize').slice(0,-2) - .1);\n };\n});\n\nvar Hat = LatexCmds.hat = P(MathCommand, function(_, super_) {\n _.ctrlSeq = '\\\\hat';\n _.htmlTemplate =\n '<span class=\"mq-non-leaf\">'\n + '<span class=\"mq-hat-prefix\">^</span>'\n + '<span class=\"mq-hat-stem\">&0</span>'\n + '</span>'\n ;\n _.textTemplate = ['hat(', ')'];\n});\n\nvar NthRoot =\nLatexCmds.nthroot = P(SquareRoot, function(_, super_) {\n _.htmlTemplate =\n '<sup class=\"mq-nthroot mq-non-leaf\"><span class=\"mq-empty-box\">&0</span></sup>'\n + '<span class=\"mq-scaled\">'\n + '<span class=\"mq-sqrt-prefix mq-scaled\">&radic;</span>'\n + '<span class=\"mq-sqrt-stem mq-non-leaf\"><span class=\"mq-empty-box\">&1</span></span>'\n + '</span>'\n ;\n _.textTemplate = ['sqrt[', '](', ')'];\n _.latex = function() {\n return '\\\\sqrt['+this.ends[L].latex()+']{'+this.ends[R].latex()+'}';\n };\n});\n\nvar DiacriticAbove = P(MathCommand, function(_, super_) {\n _.init = function(ctrlSeq, symbol, textTemplate) {\n var htmlTemplate =\n '<span class=\"mq-non-leaf\">'\n + '<span class=\"mq-diacritic-above\">'+symbol+'</span>'\n + '<span class=\"mq-diacritic-stem\">&0</span>'\n + '</span>'\n ;\n\n super_.init.call(this, ctrlSeq, htmlTemplate, textTemplate);\n };\n});\nLatexCmds.vec = bind(DiacriticAbove, '\\\\vec', '&rarr;', ['vec(', ')']);\nLatexCmds.tilde = bind(DiacriticAbove, '\\\\tilde', '~', ['tilde(', ')']);\n\nvar LrnCuberoot =\nLatexCmds.lrncuberoot = P(SquareRoot, function(_, super_) {\n _.ctrlSeq = '\\\\lrncuberoot';\n _.htmlTemplate =\n '<sup class=\"mq-nthroot mq-non-leaf\"><span class=\"mq-empty-box\">3</span></sup>'\n + '<span class=\"mq-scaled\">'\n + '<span class=\"mq-sqrt-prefix mq-scaled\">&radic;</span>'\n + '<span class=\"mq-sqrt-stem mq-non-leaf\"><span class=\"mq-empty-box\">&0</span></span>'\n + '</span>'\n ;\n _.textTemplate = ['sqrt[3](', ')'];\n _.latex = function() {\n return '\\\\sqrt[3]{'+this.ends[L].latex()+'}';\n };\n});\n\nvar Abs =\nLatexCmds.abs = P(MathCommand, function(_) {\n _.ctrlSeq = '\\\\abs';\n _.htmlTemplate =\n '<span class=\"mq-abs mq-non-leaf\"><span class=\"mq-empty-box\">&0</span></span>'\n ;\n _.textTemplate = ['|', '|'];\n});\n\nvar LrnPlaceholder =\nLatexCmds.lrnplaceholder = P(MathCommand, function(_, super_) {\n _.ctrlSeq = '\\\\lrnplaceholder';\n _.htmlTemplate =\n '<span class=\"mq-lrnplaceholder mq-non-leaf\"><span class=\"mq-empty-box\">&0</span></span>'\n ;\n _.textTemplate = [''];\n _.latex = function() {\n return this.ends[L].latex();\n };\n});\n\nvar LrnExponent =\nLatexCmds.lrnexponent = P(MathCommand, function(_, super_) {\n _.ctrSeq = '\\\\lrnexponent',\n _.htmlTemplate =\n '<span class=\"mq-lrnexponent mq-non-leaf\">'\n + '<span class=\"mq-lrnplaceholder mq-non-leaf\"><span class=\"mq-empty-box\">&0</span></span>'\n + '<span class=\"mq-supsub mq-non-leaf mq-sup-only\">'\n + '<span class=\"mq-sup\"><span class=\"mq-empty-box\">&1</span></span>'\n + '</span>'\n + '</span>'\n ;\n _.textTemplate = ['', '**'];\n _.latex = function() {\n var rLatex = this.ends[R].latex();\n if (rLatex.length > 1) rLatex = '{'+rLatex+'}';\n else if (rLatex.length === 0) rLatex = '{ }';\n return this.ends[L].latex()+'^'+rLatex;\n };\n});\n\nvar LrnSquaredExponent =\nLatexCmds.lrnsquaredexponent = P(MathCommand, function(_, super_) {\n _.ctrSeq = '\\\\lrnsquaredexponent',\n _.htmlTemplate =\n '<span class=\"mq-lrnexponent mq-non-leaf\">'\n + '<span class=\"mq-lrnplaceholder mq-non-leaf\"><span class=\"mq-empty-box\">&0</span></span>'\n + '<span class=\"mq-supsub mq-non-leaf mq-sup-only\">'\n + '<span class=\"mq-sup\"><span class=\"mq-empty-box\">2</span></span>'\n + '</span>'\n + '</span>'\n ;\n _.textTemplate = ['', '**2'];\n _.latex = function() {\n return this.ends[L].latex()+'^2';\n };\n});\n\nvar LrnSubscript =\nLatexCmds.lrnsubscript = P(MathCommand, function(_, super_) {\n _.ctrSeq = '\\\\lrnsubscript',\n _.htmlTemplate =\n '<span class=\"mq-lrnexponent mq-non-leaf\">'\n + '<span class=\"mq-lrnplaceholder mq-non-leaf\"><span class=\"mq-empty-box\">&0</span></span>'\n + '<span class=\"mq-supsub mq-non-leaf\">'\n + '<span class=\"mq-sub\"><span class=\"mq-empty-box\">&1</span></span>'\n + '<span style=\"display:inline-block;width:0\">&nbsp;</span>'\n + '</span>'\n + '</span>'\n ;\n _.textTemplate = ['', '_'];\n _.latex = function() {\n return this.ends[L].latex()+'_'+this.ends[R].latex();\n };\n});\n\nfunction DelimsMixin(_, super_) {\n _.jQadd = function() {\n super_.jQadd.apply(this, arguments);\n this.delimjQs = this.jQ.children(':first').add(this.jQ.children(':last'));\n this.contentjQ = this.jQ.children(':eq(1)');\n };\n _.reflow = function() {\n var height = this.contentjQ.outerHeight()\n / parseFloat(this.contentjQ.css('fontSize'));\n scale(this.delimjQs, min(1 + .2*(height - 1), 1.2), 1.2*height);\n };\n}\n\n// Round/Square/Curly/Angle Brackets (aka Parens/Brackets/Braces)\n// first typed as one-sided bracket with matching \"ghost\" bracket at\n// far end of current block, until you type an opposing one\nvar Bracket = P(P(MathCommand, DelimsMixin), function(_, super_) {\n _.init = function(side, open, close, ctrlSeq, end) {\n super_.init.call(this, '\\\\left'+ctrlSeq, undefined, [open, close]);\n this.side = side;\n this.sides = {};\n this.sides[L] = { ch: open, ctrlSeq: ctrlSeq };\n this.sides[R] = { ch: close, ctrlSeq: end };\n };\n _.numBlocks = function() { return 1; };\n _.html = function() { // wait until now so that .side may\n this.htmlTemplate = // be set by createLeftOf or parser\n '<span class=\"mq-non-leaf\">'\n + '<span class=\"mq-scaled mq-paren'+(this.side === R ? ' mq-ghost' : '')+'\">'\n + this.sides[L].ch\n + '</span>'\n + '<span class=\"mq-non-leaf\">&0</span>'\n + '<span class=\"mq-scaled mq-paren'+(this.side === L ? ' mq-ghost' : '')+'\">'\n + this.sides[R].ch\n + '</span>'\n + '</span>'\n ;\n return super_.html.call(this);\n };\n _.latex = function() {\n return '\\\\left'+this.sides[L].ctrlSeq+this.ends[L].latex()+'\\\\right'+this.sides[R].ctrlSeq;\n };\n _.matchBrack = function(opts, expectedSide, node) {\n // return node iff it's a matching 1-sided bracket of expected side (if any)\n return node instanceof Bracket && node.side && node.side !== -expectedSide\n && (!opts.restrictMismatchedBrackets\n || OPP_BRACKS[this.sides[this.side].ch] === node.sides[node.side].ch\n || { '(': ']', '[': ')' }[this.sides[L].ch] === node.sides[R].ch) && node;\n };\n _.closeOpposing = function(brack) {\n brack.side = 0;\n brack.sides[this.side] = this.sides[this.side]; // copy over my info (may be\n brack.delimjQs.eq(this.side === L ? 0 : 1) // mismatched, like [a, b))\n .removeClass('mq-ghost').html(this.sides[this.side].ch);\n };\n _.createLeftOf = function(cursor) {\n if (!this.replacedFragment) { // unless wrapping seln in brackets,\n // check if next to or inside an opposing one-sided bracket\n var opts = cursor.options;\n if (this.sides[L].ch === '|') { // check both sides if I'm a pipe\n var brack = this.matchBrack(opts, R, cursor[R])\n || this.matchBrack(opts, L, cursor[L])\n || this.matchBrack(opts, 0, cursor.parent.parent);\n }\n else {\n var brack = this.matchBrack(opts, -this.side, cursor[-this.side])\n || this.matchBrack(opts, -this.side, cursor.parent.parent);\n }\n }\n if (brack) {\n var side = this.side = -brack.side; // may be pipe with .side not yet set\n this.closeOpposing(brack);\n if (brack === cursor.parent.parent && cursor[side]) { // move the stuff between\n Fragment(cursor[side], cursor.parent.ends[side], -side) // me and ghost outside\n .disown().withDirAdopt(-side, brack.parent, brack, brack[side])\n .jQ.insDirOf(side, brack.jQ);\n }\n brack.bubble('reflow');\n }\n else {\n brack = this, side = brack.side;\n if (brack.replacedFragment) brack.side = 0; // wrapping seln, don't be one-sided\n else if (cursor[-side]) { // elsewise, auto-expand so ghost is at far end\n brack.replaces(Fragment(cursor[-side], cursor.parent.ends[-side], side));\n cursor[-side] = 0;\n }\n super_.createLeftOf.call(brack, cursor);\n }\n if (side === L) cursor.insAtLeftEnd(brack.ends[L]);\n else cursor.insRightOf(brack);\n };\n _.placeCursor = noop;\n _.unwrap = function() {\n this.ends[L].children().disown().adopt(this.parent, this, this[R])\n .jQ.insertAfter(this.jQ);\n this.remove();\n };\n _.deleteSide = function(side, outward, cursor) {\n var parent = this.parent, sib = this[side], farEnd = parent.ends[side];\n\n if (side === this.side) { // deleting non-ghost of one-sided bracket, unwrap\n this.unwrap();\n sib ? cursor.insDirOf(-side, sib) : cursor.insAtDirEnd(side, parent);\n return;\n }\n\n var opts = cursor.options, wasSolid = !this.side;\n this.side = -side;\n // if deleting like, outer close-brace of [(1+2)+3} where inner open-paren\n if (this.matchBrack(opts, side, this.ends[L].ends[this.side])) { // is ghost,\n this.closeOpposing(this.ends[L].ends[this.side]); // then become [1+2)+3\n var origEnd = this.ends[L].ends[side];\n this.unwrap();\n if (origEnd.siblingCreated) origEnd.siblingCreated(cursor.options, side);\n sib ? cursor.insDirOf(-side, sib) : cursor.insAtDirEnd(side, parent);\n }\n else { // if deleting like, inner close-brace of ([1+2}+3) where outer\n if (this.matchBrack(opts, side, this.parent.parent)) { // open-paren is\n this.parent.parent.closeOpposing(this); // ghost, then become [1+2+3)\n this.parent.parent.unwrap();\n } // else if deleting outward from a solid pair, unwrap\n else if (outward && wasSolid) {\n this.unwrap();\n sib ? cursor.insDirOf(-side, sib) : cursor.insAtDirEnd(side, parent);\n return;\n }\n else { // else deleting just one of a pair of brackets, become one-sided\n this.sides[side] = { ch: OPP_BRACKS[this.sides[this.side].ch],\n ctrlSeq: OPP_BRACKS[this.sides[this.side].ctrlSeq] };\n this.delimjQs.removeClass('mq-ghost')\n .eq(side === L ? 0 : 1).addClass('mq-ghost').html(this.sides[side].ch);\n }\n if (sib) { // auto-expand so ghost is at far end\n var origEnd = this.ends[L].ends[side];\n Fragment(sib, farEnd, -side).disown()\n .withDirAdopt(-side, this.ends[L], origEnd, 0)\n .jQ.insAtDirEnd(side, this.ends[L].jQ.removeClass('mq-empty'));\n if (origEnd.siblingCreated) origEnd.siblingCreated(cursor.options, side);\n cursor.insDirOf(-side, sib);\n } // didn't auto-expand, cursor goes just outside or just inside parens\n else (outward ? cursor.insDirOf(side, this)\n : cursor.insAtDirEnd(side, this.ends[L]));\n }\n };\n _.deleteTowards = function(dir, cursor) {\n this.deleteSide(-dir, false, cursor);\n };\n _.finalizeTree = function() {\n this.ends[L].deleteOutOf = function(dir, cursor) {\n this.parent.deleteSide(dir, true, cursor);\n };\n // FIXME HACK: after initial creation/insertion, finalizeTree would only be\n // called if the paren is selected and replaced, e.g. by LiveFraction\n this.finalizeTree = this.intentionalBlur = function() {\n this.delimjQs.eq(this.side === L ? 1 : 0).removeClass('mq-ghost');\n this.side = 0;\n };\n };\n _.siblingCreated = function(opts, dir) { // if something typed between ghost and far\n if (dir === -this.side) this.finalizeTree(); // end of its block, solidify\n };\n});\n\nvar OPP_BRACKS = {\n '(': ')',\n ')': '(',\n '[': ']',\n ']': '[',\n '{': '}',\n '}': '{',\n '\\\\{': '\\\\}',\n '\\\\}': '\\\\{',\n '&lang;': '&rang;',\n '&rang;': '&lang;',\n '\\\\langle ': '\\\\rangle ',\n '\\\\rangle ': '\\\\langle ',\n '|': '|',\n '\\\\lVert ' : '\\\\rVert ',\n '\\\\rVert ' : '\\\\lVert ',\n};\n\nfunction bindCharBracketPair(open, ctrlSeq) {\n var ctrlSeq = ctrlSeq || open, close = OPP_BRACKS[open], end = OPP_BRACKS[ctrlSeq];\n CharCmds[open] = bind(Bracket, L, open, close, ctrlSeq, end);\n CharCmds[close] = bind(Bracket, R, open, close, ctrlSeq, end);\n}\nbindCharBracketPair('(');\nbindCharBracketPair('[');\nbindCharBracketPair('{', '\\\\{');\nLatexCmds.langle = bind(Bracket, L, '&lang;', '&rang;', '\\\\langle ', '\\\\rangle ');\nLatexCmds.rangle = bind(Bracket, R, '&lang;', '&rang;', '\\\\langle ', '\\\\rangle ');\nCharCmds['|'] = bind(Bracket, L, '|', '|', '|', '|');\nLatexCmds.lVert = bind(Bracket, L, '&#8741;', '&#8741;', '\\\\lVert ', '\\\\rVert ');\nLatexCmds.rVert = bind(Bracket, R, '&#8741;', '&#8741;', '\\\\lVert ', '\\\\rVert ');\n\nLatexCmds.left = P(MathCommand, function(_) {\n _.parser = function() {\n var regex = Parser.regex;\n var string = Parser.string;\n var succeed = Parser.succeed;\n var optWhitespace = Parser.optWhitespace;\n\n return optWhitespace.then(regex(/^(?:[([|]|\\\\\\{|\\\\langle(?![a-zA-Z])|\\\\lVert(?![a-zA-Z]))/))\n .then(function(ctrlSeq) {\n var open = (ctrlSeq.charAt(0) === '\\\\' ? ctrlSeq.slice(1) : ctrlSeq);\n\tif (ctrlSeq==\"\\\\langle\") { open = '&lang;'; ctrlSeq = ctrlSeq + ' '; }\n\tif (ctrlSeq==\"\\\\lVert\") { open = '&#8741;'; ctrlSeq = ctrlSeq + ' '; }\n return latexMathParser.then(function (block) {\n return string('\\\\right').skip(optWhitespace)\n .then(regex(/^(?:[\\])|]|\\\\\\}|\\\\rangle(?![a-zA-Z])|\\\\rVert(?![a-zA-Z]))/)).map(function(end) {\n var close = (end.charAt(0) === '\\\\' ? end.slice(1) : end);\n\t if (end==\"\\\\rangle\") { close = '&rang;'; end = end + ' '; }\n\t if (end==\"\\\\rVert\") { close = '&#8741;'; end = end + ' '; }\n var cmd = Bracket(0, open, close, ctrlSeq, end);\n cmd.blocks = [ block ];\n block.adopt(cmd, 0, 0);\n return cmd;\n })\n ;\n });\n })\n ;\n };\n});\n\nLatexCmds.right = P(MathCommand, function(_) {\n _.parser = function() {\n return Parser.fail('unmatched \\\\right');\n };\n});\n\nvar Binomial =\nLatexCmds.binom =\nLatexCmds.binomial = P(P(MathCommand, DelimsMixin), function(_, super_) {\n _.ctrlSeq = '\\\\binom';\n _.htmlTemplate =\n '<span class=\"mq-non-leaf\">'\n + '<span class=\"mq-paren mq-scaled\">(</span>'\n + '<span class=\"mq-non-leaf\">'\n + '<span class=\"mq-array mq-non-leaf\">'\n + '<span>&0</span>'\n + '<span>&1</span>'\n + '</span>'\n + '</span>'\n + '<span class=\"mq-paren mq-scaled\">)</span>'\n + '</span>'\n ;\n _.textTemplate = ['choose(',',',')'];\n});\n\nvar Choose =\nLatexCmds.choose = P(Binomial, function(_) {\n _.createLeftOf = LiveFraction.prototype.createLeftOf;\n});\n\nLatexCmds.editable = // backcompat with before cfd3620 on #233\nLatexCmds.MathQuillMathField = P(MathCommand, function(_, super_) {\n _.ctrlSeq = '\\\\MathQuillMathField';\n _.htmlTemplate =\n '<span class=\"mq-editable-field\">'\n + '<span class=\"mq-root-block\">&0</span>'\n + '</span>'\n ;\n _.parser = function() {\n var self = this,\n string = Parser.string, regex = Parser.regex, succeed = Parser.succeed;\n return string('[').then(regex(/^[a-z][a-z0-9]*/i)).skip(string(']'))\n .map(function(name) { self.name = name; }).or(succeed())\n .then(super_.parser.call(self));\n };\n _.finalizeTree = function(options) {\n var ctrlr = Controller(this.ends[L], this.jQ, options);\n ctrlr.KIND_OF_MQ = 'MathField';\n ctrlr.editable = true;\n ctrlr.createTextarea();\n ctrlr.editablesTextareaEvents();\n ctrlr.cursor.insAtRightEnd(ctrlr.root);\n RootBlockMixin(ctrlr.root);\n };\n _.registerInnerField = function(innerFields, MathField) {\n innerFields.push(innerFields[this.name] = MathField(this.ends[L].controller));\n };\n _.latex = function(){ return this.ends[L].latex(); };\n _.text = function(){ return this.ends[L].text(); };\n});\n\n// Embed arbitrary things\n// Probably the closest DOM analogue would be an iframe?\n// From MathQuill's perspective, it's a Symbol, it can be\n// anywhere and the cursor can go around it but never in it.\n// Create by calling public API method .dropEmbedded(),\n// or by calling the global public API method .registerEmbed()\n// and rendering LaTeX like \\embed{registeredName} (see test).\nvar Embed = LatexCmds.embed = P(Symbol, function(_, super_) {\n _.setOptions = function(options) {\n function noop () { return \"\"; }\n this.text = options.text || noop;\n this.htmlTemplate = options.htmlString || \"\";\n this.latex = options.latex || noop;\n return this;\n };\n _.parser = function() {\n var self = this,\n string = Parser.string, regex = Parser.regex, succeed = Parser.succeed;\n return string('{').then(regex(/^[a-z][a-z0-9]*/i)).skip(string('}'))\n .then(function(name) {\n // the chars allowed in the optional data block are arbitrary other than\n // excluding curly braces and square brackets (which'd be too confusing)\n return string('[').then(regex(/^[-\\w\\s]*/)).skip(string(']'))\n .or(succeed()).map(function(data) {\n return self.setOptions(EMBEDS[name](data));\n })\n ;\n })\n ;\n };\n});\n\n/*\n * This command allows us to render response container placeholders for authors\n * when authoring a question with response containers.\n *\n * The CSS for these commands is in Question Editor. The reason the CSS wasn't\n * added to MathQuill is because it is QE specific, uses QE's scss variables\n * and uses the QE icon font. We didn't want to add the Learnosity icon font\n * to MathQuill.\n */\nLatexCmds.MathQuillResponseContainer = P(MathCommand, function (_, super_) {\n _.ctrlSeq = '\\\\MathQuillResponseContainer';\n _.htmlTemplate = '<span class=\"lrn-mq-response-container\">' +\n '<marker class=\"lrn-qe-keyboard-i-response\"></marker>' +\n '<content>Response</content>' +\n '</span>';\n _.latex = function(){ return '\\\\MathQuillResponseContainer'; };\n _.text = function(){ return this.ends[L].text(); };\n});\n\n/*\n * This command allows us to easily render a response container button in the\n * formula keyboard. It just container the resopnse container icon.\n *\n * This depends on CSS which only exists in Question Editor. See the comment\n * on MathQuillResponseContainer for an explaination as to why.\n */\nLatexCmds.MathQuillResponseContainerIcon = P(MathCommand, function (_, super_) {\n _.ctrlSeq = '\\\\MathQuillResponseContainerIcon';\n _.htmlTemplate = '<span class=\"lrn-mq-response-container-icon\">' +\n '<span class=\"lrn-qe-keyboard-i-response\"></span>' +\n '</span>';\n _.latex = function(){ return '\\\\MathQuillResponseContainerIcon'; };\n _.text = function(){ return this.ends[L].text(); };\n});\n\nvar Matrix = LatexCmds.matrix = P(MathCommand, function(_, super_) {\n\n var MatrixCell = P(MathBlock, function(_, super_) {\n _.init = function (column, row) {\n this.column = column;\n this.row = row;\n return super_.init.call(this);\n };\n _.keystroke = function(key, e, ctrlr) {\n switch (key) {\n case 'Shift-Spacebar':\n e.preventDefault();\n return this.parent.insertColumn(this);\n break;\n case 'Shift-Enter':\n return this.parent.insertRow(this);\n break;\n }\n return super_.keystroke.apply(this, arguments);\n };\n\n _.deleteOutOf = function(dir, cursor) {\n var self = this, args = arguments;\n this.parent.backspace(this, dir, cursor, function () {\n // called when last cell gets deleted\n return super_.deleteOutOf.apply(self, args);\n });\n }\n });\n\n var delimiters = {\n column: '&',\n row: '\\\\\\\\'\n };\n _.parentheses = {\n left: null,\n right: null\n };\n _.maximum = {\n rows: 5,\n columns: 5\n };\n _.defaults = {\n rows: 2,\n columns: 2\n };\n\n _.ctrlSeq = '\\\\matrix';\n\n _.createBlocks = function() {\n var cmd = this,\n blocks = cmd.blocks = [],\n prevRow, column, i = 0;\n\n this.htmlTemplate.replace(/&\\d+/g, function (match, index) {\n var row = cmd.htmlTemplate.substring(0, index).match(/<tr[^>]*>/ig).length - 1;\n column = (prevRow === row) ? column + 1 : 0;\n\n blocks[i] = MatrixCell(column, row);\n blocks[i].adopt(cmd, cmd.ends[R], 0);\n prevRow = row;\n i++;\n });\n };\n\n _.reflow = function() {\n var blockjQ = this.jQ.children('table');\n\n var height = blockjQ.outerHeight()/+blockjQ.css('fontSize').slice(0,-2);\n\n var parens = this.jQ.children('.mq-paren');\n if (parens.length) {\n scale(parens, min(1 + .2*(height - 1), 1.2), 1.05*height);\n }\n };\n\n _.latex = function() {\n var matrixName = this.getMatrixName(),\n latex = '\\\\begin{' + matrixName + '}',\n thisRow, row, i;\n\n for(i = 0; i < this.blocks.length; i++) {\n thisRow = this.blocks[i].row;\n\n if (typeof row !== 'undefined') {\n if (row !== thisRow) {\n latex += delimiters.row;\n } else {\n latex += delimiters.column;\n }\n }\n\n row = thisRow;\n latex += this.blocks[i].latex();\n };\n\n latex += '\\\\end{' + matrixName + '}';\n return latex;\n };\n _.createLeftOf = function(cursor) {\n this.cursor = cursor;\n\n var rows = Math.min(this.defaults.rows, this.maximum.rows),\n columns = Math.min(this.defaults.columns, this.maximum.columns);\n\n this.defaultHtmlTemplate = this.defaultHtmlTemplate || this.generateHtmlTemplate(rows, columns);\n _.htmlTemplate = this.defaultHtmlTemplate;\n super_.createLeftOf.call(this, cursor);\n };\n // Return string name of this matrix type - e.g. matrix, Bmatrix, pmatrix\n _.getMatrixName = function () {\n return this.ctrlSeq.replace('\\\\', '');\n }\n _.generateHtmlTemplate = function(numRows, numColumns) {\n var matrix = '<span class=\"mq-matrix mq-non-leaf\">' + parenTemplate(this.parentheses.left);\n matrix += '<table class=\"mq-non-leaf\">';\n\n numRows = Math.min(numRows, this.maximum.rows);\n numColumns = Math.min(numColumns, this.maximum.columns);\n\n var count = 0;\n for(var row = 0; row < numRows; row++) {\n matrix += '<tr>';\n for(var col = 0; col < numColumns; col++) {\n matrix += '<td>&' + count + '</td>';\n count++;\n }\n matrix += '</tr>';\n }\n matrix += '</table>';\n matrix += parenTemplate(this.parentheses.right) + '</span>';\n return matrix;\n\n function parenTemplate(paren) {\n return paren ? '<span class=\"mq-paren mq-scaled\">' + paren + '</span>' : '';\n }\n };\n _.htmlTemplate = _.generateHtmlTemplate(1, 1);\n\n // Based on matrix parsing method in\n // https://github.com/raywainman/mathquill/commit/5a9c6a04ac4e8bb1fd4f912ccbfa53a99224adf8\n _.parser = function() {\n var regex = Parser.regex, self = this, matrixName = this.getMatrixName(),\n rgxContents = new RegExp(\"^(.*?)\\\\\\\\end{\" + matrixName + \"}\"),\n rgxEnd = new RegExp(\"\\\\\\\\end{\" + matrixName + \"}\");\n\n return regex(rgxContents)\n .then(function(a) {\n // Strip out the trailing command (\\end{matrix})\n var content = a.replace(rgxEnd, '');\n\n // Parse the individual blocks within the matrix\n // Refer to http://en.wikibooks.org/wiki/LaTeX/Mathematics to learn more about the LaTeX\n // matrix notation.\n // Basically rows are delimited by double backslashes and columns by ampersands\n var blocks = [];\n var rows = content.split(delimiters.row);\n var numRows = Math.min(rows.length, self.maximum.rows);\n var numColumns = 0, columns, i;\n\n // Get the (highest) number of columns, being defensive against inconsistent input\n for(i = 0; i < numRows; i++) {\n columns = rows[i].split(delimiters.column);\n numColumns = Math.max(numColumns, columns.length);\n }\n // limit number of columns to maximum allowable\n numColumns = Math.min(numColumns, self.maximum.columns);\n\n for(i = 0; i < numRows; i++) {\n // We have a row, now split it into its respective columns\n columns = rows[i].split(delimiters.column);\n for(var a = 0; a < numColumns; a++) {\n // Parse the individual block, this block may contain other more complicated commands\n // like a square root, we delegate the parsing of this to the Parser object. It returns\n // a MathBlock object which is the object representation of the formula.\n\n // We create a new MatrixCell which receives the MathBlock's children\n var block = MatrixCell(a, i),\n tmpBlock = latexMathParser.parse(columns[a] || ' ');\n\n tmpBlock.children().adopt(block, block.ends[R], 0);\n\n blocks.push(block);\n }\n }\n\n // Tell our Latex.matrix command how big our matrix is\n self.htmlTemplate = self.generateHtmlTemplate(numRows, numColumns);\n\n // Attach the child blocks (each element of the matrix) to the parent matrix object\n self.blocks = blocks;\n for (var i = 0; i < blocks.length; i += 1) {\n blocks[i].adopt(self, self.ends[R], 0);\n }\n // The block elements attached to a command are each rendered and then they replace the\n // '&0', '&1', '&2', '&3'... placeholders that are found within the command's htmlTemplate\n\n // Return the Latex.matrix() object to the main parser so that it knows to render this\n // particular portion of latex in this fashion\n return Parser.succeed(self);\n });\n };\n // Relink all the cells after parsing\n _.finalizeTree = function() {\n var table = this.jQ.find('table');\n\n if (table.length) {\n this.relink();\n\n // update mq-rows-<number> class on table\n table.removeClass(function (index, classes) {\n var toRemove = classes.match(/mq-rows-\\d+/g);\n return (toRemove && toRemove.join(' ')) || '';\n });\n\n table.addClass('mq-rows-' + table.find('tr').length);\n }\n };\n // Reassign directional pointers for cursor key navigation between cells.\n _.relink = function () {\n var allCells = this.jQ.find('td');\n var firstCellBlock = Node.byId[allCells.first().attr(mqBlockId)];\n var lastCellBlock = Node.byId[allCells.last().attr(mqBlockId)];\n var firstRow = allCells.eq(0).closest('tr');\n var blocks = [];\n\n allCells.each(function (cellIndex) {\n var cellBlock = Node.byId[$(this).attr(mqBlockId)];\n var nextCell = allCells.eq(cellIndex + 1);\n var nextRow = $(this).closest('tr').next('tr');\n var indexInColumn = $(this).closest('tr').index();\n var indexInRow = $(this).index();\n var downCell;\n\n // set up horizontal linkage\n if (nextCell.length) {\n var nextCellBlock = Node.byId[nextCell.attr(mqBlockId)];\n cellBlock[R] = nextCellBlock;\n nextCellBlock[L] = cellBlock;\n }\n\n // set up vertical linkage\n if (nextRow.length) {\n downCell = nextRow.find('td').eq(indexInRow);\n } else {\n // bottom most cell links to top cell in next column via down arrow\n downCell = firstRow.find('td').eq(indexInRow + 1);\n }\n if (downCell.length) {\n var downCellBlock = Node.byId[downCell.attr(mqBlockId)];\n cellBlock.downOutOf = downCellBlock;\n downCellBlock.upOutOf = cellBlock;\n }\n\n cellBlock.column = indexInRow;\n cellBlock.row = indexInColumn;\n blocks.push(cellBlock);\n });\n // set start and end blocks of matrix - first and last cells.\n this.ends[L] = firstCellBlock;\n this.ends[R] = lastCellBlock;\n\n // delete any leftover linkage to removed blocks at the beginning and end.\n if (firstCellBlock && firstCellBlock[L]) { delete firstCellBlock[L]; }\n if (lastCellBlock && lastCellBlock[R]) { delete lastCellBlock[R]; }\n\n this.blocks = blocks;\n };\n\n // Also deletes row or column if it is empty\n _.deleteCell = function (cell) {\n var row = cell.jQ.closest('tr');\n var indexInRow = cell.jQ.index();\n var indexInColumn = row.index();\n var rowCells = row.find('td').not(cell.jQ);\n var colCells = this.jQ.find('tr').not(row).map(function () {\n return $(this).find('td')[indexInRow];\n });\n var isLastBlock = this.jQ.find('td').length === 1;\n var otherBlock;\n\n function isEmpty() {\n var cellBlock = Node.byId[$(this).attr(mqBlockId)];\n return cellBlock.isEmpty();\n }\n\n if (rowCells.filter(isEmpty).length === rowCells.length && colCells.length) {\n // row is empty (and there are other rows)\n rowCells.remove();\n cell.jQ.remove();\n row.remove();\n this.finalizeTree();\n }\n if (colCells.filter(isEmpty).length === colCells.length && rowCells.length) {\n // column is empty (and there are other columns)\n colCells.remove();\n cell.jQ.remove();\n this.finalizeTree();\n }\n\n if (!isLastBlock) {\n indexInColumn = Math.min(indexInColumn, this.jQ.find('tr').length - 1);\n indexInRow = Math.min(indexInRow, this.jQ.find('tr').eq(indexInColumn).find('td').length - 1);\n otherBlock = Node.byId[this.jQ.find('tr').eq(indexInColumn).find('td').eq(indexInRow).attr(mqBlockId)];\n }\n\n return otherBlock;\n };\n\n _.addRow = function (prevRow) {\n // limit number of rows that can be added.\n if (this.jQ.find('tr').length >= this.maximum.rows) {\n return;\n }\n\n var numCols = prevRow.find('td').length;\n var newRow = $('<tr></tr>');\n var newBlock, firstNewBlock;\n\n for (var i = 0; i < numCols; i++) {\n newBlock = MatrixCell();\n newBlock.parent = this;\n newBlock.jQ = $('<td class=\"mq-empty\">').attr(mqBlockId, newBlock.id);\n newRow.append(newBlock.jQ);\n\n firstNewBlock = firstNewBlock || newBlock;\n }\n newRow.insertAfter(prevRow);\n return firstNewBlock;\n };\n\n _.addColumn = function (prevCell) {\n // limit number of columns that can be added.\n if (prevCell.closest('tr').find('td').length >= this.maximum.columns) {\n return;\n }\n\n var index = prevCell.index();\n var rowIndex = prevCell.closest('tr').index();\n var matrix = this;\n var newBlock, newBlocks = [];\n\n this.jQ.find('tr').each(function () {\n newBlock = MatrixCell();\n newBlock.parent = matrix;\n newBlock.jQ = $('<td class=\"mq-empty\">').attr(mqBlockId, newBlock.id);\n newBlock.jQ.insertAfter($(this).find('td').eq(index));\n\n newBlocks.push(newBlock);\n });\n\n return newBlocks[rowIndex];\n };\n\n _.insertColumn = function(currentBlock) {\n newBlock = this.addColumn(currentBlock.jQ);\n if (newBlock) {\n this.cursor = this.cursor || this.parent.cursor;\n this.finalizeTree();\n this.bubble('reflow').cursor.insAtRightEnd(newBlock);\n }\n };\n _.insertRow = function(currentBlock) {\n newBlock = this.addRow(currentBlock.jQ.closest('tr'));\n if (newBlock) {\n this.cursor = this.cursor || this.parent.cursor;\n this.finalizeTree();\n this.bubble('reflow').cursor.insAtRightEnd(newBlock);\n }\n };\n\n _.backspace = function(currentBlock, dir, cursor, finalDeleteCallback) {\n if (currentBlock.isEmpty()) {\n\n var otherBlock = this.deleteCell(currentBlock);\n\n if (otherBlock) {\n cursor.insAtRightEnd(otherBlock);\n }\n else {\n finalDeleteCallback();\n this.finalizeTree();\n }\n this.bubble('edited');\n }\n };\n});\n\nLatexCmds.pmatrix = P(Matrix, function(_, super_) {\n _.ctrlSeq = '\\\\pmatrix';\n\n _.parentheses = {\n left: '(',\n right: ')'\n };\n});\n\nLatexCmds.bmatrix = P(Matrix, function(_, super_) {\n _.ctrlSeq = '\\\\bmatrix';\n\n _.parentheses = {\n left: '[',\n right: ']'\n };\n});\n\nLatexCmds.Bmatrix = P(Matrix, function(_, super_) {\n _.ctrlSeq = '\\\\Bmatrix';\n\n _.parentheses = {\n left: '{',\n right: '}'\n };\n});\n\nLatexCmds.vmatrix = P(Matrix, function(_, super_) {\n _.ctrlSeq = '\\\\vmatrix';\n\n _.parentheses = {\n left: '|',\n right: '|'\n };\n});\n\nLatexCmds.Vmatrix = P(Matrix, function(_, super_) {\n _.ctrlSeq = '\\\\Vmatrix';\n\n _.parentheses = {\n left: '‖',\n right: '‖'\n };\n});\n\n\n\n// ESM Build - export MathQuill as default export\n// Use Interface 3 (jQuery-free) since ESM build includes the shim\nvar MQ1 = getInterface(3);\nfor (var key in MQ1) (function(key, val) {\n if (typeof val === 'function') {\n MathQuill[key] = function() {\n insistOnInterVer();\n return val.apply(this, arguments);\n };\n MathQuill[key].prototype = val.prototype;\n }\n else MathQuill[key] = val;\n}(key, MQ1[key]));\n\n// Export for ESM\nexport default MathQuill;\nexport { MathQuill };\n","import { registerLineBreak as e } from \"./custom-elements.js\";\nimport t from \"@pie-framework/mathquill\";\n//#region src/mq/mathquill-instance.ts\nvar n;\ntypeof window < \"u\" && (n = t.getInterface(3), n && n.registerEmbed && e(n));\nfunction r(e, t) {\n\t!n || !n.registerEmbed || n.registerEmbed(e, t);\n}\nfunction i(e, t, r) {\n\tif (!(!n || !e)) return t != null && (e.textContent = t), n.StaticMath(e, r);\n}\n//#endregion\nexport { n as MQ, i as applyStaticMath, r as registerEmbed };\n","import { MQ as e } from \"./mathquill-instance.js\";\nimport t from \"react\";\nimport n from \"prop-types\";\nimport { styled as r } from \"@mui/material/styles\";\nimport i from \"debug\";\nimport { jsx as a } from \"react/jsx-runtime\";\n//#region src/mq/input.tsx\nvar o = i(\"math-input:mq:input\"), s = r(\"span\")({}), c = class extends t.Component {\n\tstatic propTypes = {\n\t\tclassName: n.string,\n\t\tonClick: n.func,\n\t\tonChange: n.func,\n\t\tlatex: n.string,\n\t\tonFocus: n.func,\n\t\tonBlur: n.func\n\t};\n\tcomponentDidMount() {\n\t\tif (!e) throw Error(\"MQ is not defined - but component has mounted?\");\n\t\tthis.mathField = e.MathField(this.input, { handlers: { edit: this.onInputEdit.bind(this) } }), this.updateLatex();\n\t}\n\tcomponentDidUpdate() {\n\t\tthis.updateLatex();\n\t}\n\tupdateLatex() {\n\t\tif (!this.mathField) return;\n\t\tlet { latex: e } = this.props;\n\t\te != null && this.mathField.latex(e);\n\t}\n\tclear() {\n\t\treturn this.mathField.latex(\"\"), \"\";\n\t}\n\tblur() {\n\t\to(\"blur mathfield\"), this.mathField.blur();\n\t}\n\tfocus() {\n\t\to(\"focus mathfield...\"), this.mathField.focus();\n\t}\n\tcommand(e) {\n\t\treturn o(\"command: \", e), Array.isArray(e) ? e.forEach((e) => {\n\t\t\tthis.mathField.cmd(e);\n\t\t}) : this.mathField.cmd(e), this.mathField.focus(), this.mathField.latex();\n\t}\n\tkeystroke(e) {\n\t\treturn this.mathField.keystroke(e), this.mathField.focus(), this.mathField.latex();\n\t}\n\twrite(e) {\n\t\treturn o(\"write: \", e), this.mathField.write(e), this.mathField.focus(), this.mathField.latex();\n\t}\n\tonInputEdit = () => {\n\t\to(\"[onInputEdit] ...\");\n\t\tlet { onChange: e } = this.props;\n\t\tthis.mathField && e && e(this.mathField.latex());\n\t};\n\trefresh = () => {\n\t\tthis.blur(), this.focus();\n\t};\n\tonKeyPress = (e) => {\n\t\tif (Object.keys(this.mathField.__controller.options).indexOf(\"ignoreNextMousedown\") < 0 && this.refresh(), e.charCode === 13) {\n\t\t\te.preventDefault();\n\t\t\treturn;\n\t\t}\n\t};\n\tonClick = (e) => {\n\t\tlet { onClick: t } = this.props;\n\t\tthis.refresh(), t && t(e);\n\t};\n\tshouldComponentUpdate(e) {\n\t\treturn o(\"next: \", e.latex), o(\"current: \", this.mathField.latex()), e.latex !== this.mathField.latex();\n\t}\n\trender() {\n\t\tlet { onFocus: e, onBlur: t, className: n } = this.props;\n\t\treturn /* @__PURE__ */ a(s, {\n\t\t\tclassName: n,\n\t\t\tonKeyDown: this.onKeyPress,\n\t\t\tonClick: this.onClick,\n\t\t\tonFocus: e,\n\t\t\tonBlur: t,\n\t\t\tref: (e) => this.input = e\n\t\t});\n\t}\n};\n//#endregion\nexport { c as Input, c as default };\n","import { updateSpans as e } from \"../updateSpans.js\";\nimport { MQ as t } from \"./mathquill-instance.js\";\nimport n from \"react\";\nimport r from \"prop-types\";\nimport i from \"debug\";\nimport { jsx as a } from \"react/jsx-runtime\";\n//#region src/mq/static.tsx\nvar o = i(\"pie-lib:math-input:mq:static\"), s = /\\\\MathQuillMathField\\[r\\d*\\]\\{(.*?)\\}/g, c = / /g;\nfunction l(e = \"\") {\n\treturn e.replace(c, \"\");\n}\nfunction u(e) {\n\tlet t = 0;\n\tfor (let n = 0; n < (e || \"\").length; n++) e[n] === \"{\" && t++;\n\treturn t;\n}\nvar d = class extends n.Component {\n\tstatic propTypes = {\n\t\tlatex: r.string.isRequired,\n\t\tonFocus: r.func,\n\t\tonBlur: r.func,\n\t\tclassName: r.string,\n\t\tgetFieldName: r.func,\n\t\tonSubFieldChange: r.func,\n\t\tonSubFieldFocus: r.func,\n\t\tsetInput: r.func\n\t};\n\tstatic defaultProps = { getFieldName: () => {} };\n\tconstructor(e) {\n\t\tsuper(e), this.state = {\n\t\t\tannouncement: \"\",\n\t\t\tpreviousLatex: \"\",\n\t\t\tinputSource: null,\n\t\t\tisDeleteKeyPressed: !1\n\t\t}, this.inputRef = n.createRef();\n\t}\n\tcomponentDidMount() {\n\t\tthis.update(), e(), this.createLiveRegion(), this.addEventListeners();\n\t}\n\tcomponentDidUpdate() {\n\t\tthis.update(), e();\n\t}\n\tcomponentWillUnmount() {\n\t\tthis.removeLiveRegion(), this.removeEventListeners();\n\t}\n\tcreateLiveRegion = () => {\n\t\tthis.liveRegion = document.createElement(\"div\"), this.liveRegion.style.position = \"absolute\", this.liveRegion.style.width = \"1px\", this.liveRegion.style.height = \"1px\", this.liveRegion.style.marginTop = \"-1px\", this.liveRegion.style.clip = \"rect(1px, 1px, 1px, 1px)\", this.liveRegion.style.overflow = \"hidden\", this.liveRegion.setAttribute(\"aria-live\", \"polite\"), this.liveRegion.setAttribute(\"aria-atomic\", \"true\"), document.body.appendChild(this.liveRegion);\n\t};\n\taddEventListeners = () => {\n\t\tlet e = this.inputRef.current;\n\t\te && (e.addEventListener(\"keydown\", this.handleKeyDown), e.addEventListener(\"click\", this.handleMathKeyboardClick));\n\t};\n\tremoveEventListeners = () => {\n\t\tlet e = this.inputRef.current;\n\t\te && (e.removeEventListener(\"keydown\", this.handleKeyDown), e.removeEventListener(\"click\", this.handleMathKeyboardClick));\n\t};\n\tremoveLiveRegion = () => {\n\t\tthis.liveRegion &&= (document.body.removeChild(this.liveRegion), null);\n\t};\n\thandleKeyDown = (e) => {\n\t\t(e?.key === \"Backspace\" || e?.key === \"Delete\") && this.setState({ isDeleteKeyPressed: !0 }), this.setState({ inputSource: \"keyboard\" });\n\t};\n\thandleMathKeyboardClick = () => {\n\t\tthis.setState({ inputSource: \"mathKeyboard\" });\n\t};\n\tonInputEdit = (e) => {\n\t\tif (!this.mathField || this._isProgrammaticUpdate) return;\n\t\tlet t = this.props.getFieldName(e, this.mathField.innerFields);\n\t\tif (this.props.onSubFieldChange) {\n\t\t\tlet n = e.latex().match(/[0-9]\\\\ \\\\frac\\{[^\\{]*\\}\\{ \\}/);\n\t\t\tif (this.inputRef?.current && n && n?.length) try {\n\t\t\t\te.__controller.cursor.insLeftOf(e.__controller.cursor.parent[-1].parent), e.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\telse this.props.onSubFieldChange(t, e.latex());\n\t\t}\n\t\tthis.announceLatexConversion(e.latex());\n\t};\n\tannounceLatexConversion = (e) => {\n\t\tif (!this.state) {\n\t\t\tconsole.error(\"State is not initialized\");\n\t\t\treturn;\n\t\t}\n\t\tlet { previousLatex: t, inputSource: n, isDeleteKeyPressed: r } = this.state, i = \"Converted to math symbol\";\n\t\tif (n === \"keyboard\" && !r) if (u(e) > u(t)) this.announceMessage(i);\n\t\telse try {\n\t\t\tthis.mathField.parseLatex(t), this.mathField.parseLatex(e), e == t && this.announceMessage(i);\n\t\t} catch (e) {\n\t\t\tconsole.warn(\"Error parsing latex:\", e.message), console.warn(e);\n\t\t}\n\t\t(this.state.previousLatex !== e || this.state.isDeleteKeyPressed) && this.setState({\n\t\t\tpreviousLatex: e,\n\t\t\tisDeleteKeyPressed: !1\n\t\t});\n\t};\n\tannounceMessage = (e) => {\n\t\tthis.setState({ previousLatex: \"\" }), this.liveRegion && (this.liveRegion.textContent = e, setTimeout(() => {\n\t\t\tthis.liveRegion.textContent = \"\";\n\t\t}, 500));\n\t};\n\tupdate = () => {\n\t\tif (!t) throw Error(\"MQ is not defined - but component has mounted?\");\n\t\tthis.mathField ||= t.StaticMath(this.inputRef?.current, { handlers: { edit: this.onInputEdit.bind(this) } });\n\t\ttry {\n\t\t\tthis._isProgrammaticUpdate = !0, this.mathField.parseLatex(this.props.latex), this.mathField.latex(this.props.latex);\n\t\t} catch {\n\t\t\tthis.mathField.latex(\"\\\\MathQuillMathField[r1]{}\");\n\t\t} finally {\n\t\t\tthis._isProgrammaticUpdate = !1;\n\t\t}\n\t};\n\tblur = () => {\n\t\to(\"blur mathfield\"), this.mathField.blur();\n\t};\n\tfocus = () => {\n\t\to(\"focus mathfield...\"), this.mathField.focus();\n\t};\n\tshouldComponentUpdate(e) {\n\t\ttry {\n\t\t\tlet t = l(this.mathField.parseLatex(e.latex)), n = (e.latex.match(s) || []).length, r = t !== l(this.mathField.latex().trim()) || n !== Object.keys(this.mathField.innerFields).length / 2;\n\t\t\treturn o(\"[shouldComponentUpdate] \", r), r;\n\t\t} catch (e) {\n\t\t\treturn console.warn(\"Error parsing latex:\", e.message, \"skip update\"), console.warn(e), !1;\n\t\t}\n\t}\n\tonFocus = (e) => {\n\t\ttry {\n\t\t\tlet t = e.target.parentElement.nextSibling, n = parseInt(t.getAttribute(\"mathquill-block-id\"), 10);\n\t\t\tn ||= (t = t.parentElement, parseInt(t.getAttribute(\"mathquill-block-id\"), 10));\n\t\t\tlet r = this.mathField.innerFields.find((e) => e.id === n);\n\t\t\tif (r) {\n\t\t\t\tlet e = this.props.getFieldName(r, this.mathField.innerFields);\n\t\t\t\tthis.props.setInput && this.props.setInput(r), this.props.onSubFieldFocus(e, r);\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tconsole.error(\"error finding root block\", e.message);\n\t\t}\n\t};\n\trender() {\n\t\tlet { onBlur: e, className: t } = this.props;\n\t\treturn /* @__PURE__ */ a(\"span\", {\n\t\t\tclassName: t,\n\t\t\tonFocus: this.onFocus,\n\t\t\tonBlur: e,\n\t\t\tref: this.inputRef\n\t\t});\n\t}\n};\n//#endregion\nexport { d as default };\n","//#region src/mq/common-mq-styles.ts\nvar e = {\n\tfontFamily: \"MJXZERO, MJXTEX !important\",\n\t\"-webkit-font-smoothing\": \"antialiased !important\",\n\t\"& .mq-math-mode > span > var\": { fontFamily: \"MJXZERO, MJXTEX-I !important\" },\n\t\"& .mq-math-mode span var\": { fontFamily: \"MJXZERO, MJXTEX-I !important\" },\n\t\"& .mq-math-mode .mq-nonSymbola\": { fontFamily: \"MJXZERO, MJXTEX-I !important\" },\n\t\"& .mq-math-mode > span > var.mq-operator-name\": { fontFamily: \"MJXZERO, MJXTEX !important\" }\n}, t = {\n\t\"& .mq-longdiv-inner\": {\n\t\tmarginTop: \"-1px\",\n\t\tmarginLeft: \"5px !important;\",\n\t\t\"& > .mq-empty\": {\n\t\t\tpadding: \"0 !important\",\n\t\t\tmarginLeft: \"0px !important\",\n\t\t\tmarginTop: \"2px\"\n\t\t}\n\t},\n\t\"& .mq-math-mode .mq-longdiv\": { display: \"inline-flex !important\" }\n}, n = {\n\t\"& .mq-math-mode sup.mq-nthroot\": {\n\t\tfontSize: \"70% !important\",\n\t\tverticalAlign: \"0.5em !important\",\n\t\tpaddingRight: \"0.15em\"\n\t},\n\t\"& .mq-math-mode .mq-supsub\": { fontSize: \"70.7% !important\" },\n\t\"& .mq-supsub \": { fontSize: \"70.7%\" },\n\t\"& .mq-math-mode .mq-supsub.mq-sup-only\": {\n\t\tverticalAlign: \"-0.1em !important\",\n\t\t\"& .mq-sup\": { marginBottom: \"0px !important\" }\n\t},\n\t\"& .mq-math-mode .mq-fraction + .mq-supsub.mq-sup-only\": { verticalAlign: \"0.4em !important\" },\n\t\"& .mq-math-mode .mq-supsub.mq-sup-only.mq-after-fraction-group\": { verticalAlign: \"0.4em !important\" }\n}, r = { \"& *\": {\n\t...e,\n\t...t,\n\t\"& .mq-math-mode .mq-sqrt-prefix\": { top: \"0 !important\" },\n\t\"& .mq-math-mode .mq-empty\": { padding: \"9px 1px !important\" },\n\t\"& .mq-math-mode .mq-longdiv-inner .mq-empty\": { padding: \"0 !important\" },\n\t\"& .mq-math-mode .mq-supsub\": { fontSize: \"70.7% !important\" },\n\t\"& .mq-math-mode .mq-sqrt-stem\": {\n\t\tmarginTop: \"-5px\",\n\t\tpaddingTop: \"4px\"\n\t},\n\t\"& .mq-math-mode .mq-paren\": { verticalAlign: \"middle !important\" },\n\t\"& .mq-math-mode .mq-overarrow .mq-overarrow-inner .mq-empty\": { padding: \"0 !important\" },\n\t\"& .mq-math-mode .mq-overline .mq-overline-inner .mq-empty \": { padding: \"0 !important\" }\n} }, i = {\n\tcommonMqFontStyles: e,\n\tlongdivStyles: t,\n\tsupsubStyles: n,\n\tcommonMqKeyboardStyles: r\n};\n//#endregion\nexport { e as commonMqFontStyles, r as commonMqKeyboardStyles, i as default, t as longdivStyles, n as supsubStyles };\n","import { __exportAll as e } from \"../_virtual/_rolldown/runtime.js\";\nimport { Input as t } from \"./input.js\";\nimport n from \"./static.js\";\nimport r from \"./common-mq-styles.js\";\n//#region src/mq/index.ts\nvar i = /* @__PURE__ */ e({\n\tCommonMqStyles: () => r,\n\tInput: () => t,\n\tStatic: () => n\n});\n//#endregion\nexport { r as CommonMqStyles, t as Input, n as Static, i as mq_exports };\n","import { times as e, zip as t } from \"@pie-element/shared-lodash\";\n//#region src/keypad/keys-layout.ts\nvar n = (n) => (e(5 - n.length, () => n.push([])), t.apply(null, n));\n//#endregion\nexport { n as sortKeys };\n","import { baseSet as e } from \"../keys/index.js\";\nimport t from \"../mq/static.js\";\nimport { commonMqKeyboardStyles as n } from \"../mq/common-mq-styles.js\";\nimport { sortKeys as r } from \"./keys-layout.js\";\nimport { flatten as i } from \"@pie-element/shared-lodash\";\nimport a from \"react\";\nimport o from \"prop-types\";\nimport s from \"@mui/material/Button\";\nimport c from \"@mui/material/IconButton\";\nimport { styled as l } from \"@mui/material/styles\";\nimport u from \"debug\";\nimport { color as d } from \"@pie-lib/render-ui\";\nimport { jsx as f } from \"react/jsx-runtime\";\n//#region src/keypad/index.tsx\nvar p = u(\"pie-lib:math-inline:keypad\"), m = l(t)(({ latex: e }) => {\n\tlet t = {\n\t\tpointerEvents: \"none\",\n\t\ttextTransform: \"none !important\",\n\t\tcolor: d.text(),\n\t\t\"& .mq-scaled.mq-sqrt-prefix\": { transform: \"scale(1, 0.9) !important\" },\n\t\t\"& .mq-sup-only .mq-sup\": { marginBottom: \"0.9px !important\" },\n\t\t\"& .mq-empty\": { backgroundColor: `${d.keypadEmptyPlaceholder()} !important` },\n\t\t\"& .mq-overline .mq-overline-inner\": { borderTop: \"2px solid black\" },\n\t\t\"& .mq-non-leaf.mq-overline\": { borderTop: \"none !important\" },\n\t\t\"& .mq-overarrow\": {\n\t\t\twidth: \"30px\",\n\t\t\tmarginTop: \"0 !important\",\n\t\t\tborderTop: \"2px solid black\",\n\t\t\tfontFamily: \"Roboto, Helvetica, Arial, sans-serif !important\",\n\t\t\t\"&.mq-arrow-both\": {\n\t\t\t\ttop: \"0px !important\",\n\t\t\t\t\"& *\": {\n\t\t\t\t\tlineHeight: \"1 !important\",\n\t\t\t\t\tborderTop: \"none !important\"\n\t\t\t\t},\n\t\t\t\t\"&:before\": {\n\t\t\t\t\tfontSize: \"80%\",\n\t\t\t\t\tleft: \"calc(-13%) !important\",\n\t\t\t\t\ttop: \"-0.31em !important\"\n\t\t\t\t},\n\t\t\t\t\"&:after\": {\n\t\t\t\t\tfontSize: \"80% !important\",\n\t\t\t\t\tright: \"calc(-13%) !important\",\n\t\t\t\t\ttop: \"-1.5em\"\n\t\t\t\t},\n\t\t\t\t\"&.mq-empty:before\": {\n\t\t\t\t\tfontSize: \"80%\",\n\t\t\t\t\tleft: \"calc(-13%)\",\n\t\t\t\t\ttop: \"-0.26em\"\n\t\t\t\t},\n\t\t\t\t\"&.mq-empty:after\": {\n\t\t\t\t\tfontSize: \"80%\",\n\t\t\t\t\tright: \"calc(-13%)\",\n\t\t\t\t\ttop: \"-0.26em\"\n\t\t\t\t},\n\t\t\t\t\"&.mq-empty\": { minHeight: \"1.4em\" }\n\t\t\t},\n\t\t\t\"&.mq-arrow-right:before\": {\n\t\t\t\tfontSize: \"80%\",\n\t\t\t\tright: \"calc(-13%) !important\",\n\t\t\t\ttop: \"-0.26em !important\"\n\t\t\t},\n\t\t\t\"& .mq-overarrow-inner\": { border: \"none !important\" },\n\t\t\t\"& .mq-overarrow-inner .mq-overarrow-inner-right\": { display: \"none !important\" }\n\t\t},\n\t\t\"& .mq-root-block\": { padding: \"5px !important\" },\n\t\t\"& .mq-overarrow.mq-arrow-both.mq-empty:after\": {\n\t\t\tright: \"-6px\",\n\t\t\tfontSize: \"80% !important\",\n\t\t\ttop: \"-3px\"\n\t\t},\n\t\t\"& .mq-overarrow.mq-arrow-right.mq-empty:before\": {\n\t\t\tright: \"-5px\",\n\t\t\tfontSize: \"80% !important\",\n\t\t\ttop: \"-3px\"\n\t\t},\n\t\t\"& .mq-overarrow.mq-arrow-both.mq-empty:before\": {\n\t\t\tleft: \"-6px\",\n\t\t\tfontSize: \"80% !important\",\n\t\t\ttop: \"-3px\"\n\t\t},\n\t\t\"& .mq-longdiv-inner\": {\n\t\t\tborderTop: \"1px solid !important\",\n\t\t\tpaddingTop: \"1.5px !important\"\n\t\t},\n\t\t\"& .mq-parallelogram\": { lineHeight: .85 },\n\t\t\"& .mq-overarc\": {\n\t\t\tborderTop: \"2px solid black !important\",\n\t\t\t\"& .mq-overline\": { borderTop: \"none !important\" },\n\t\t\t\"& .mq-overline-inner\": {\n\t\t\t\tborderTop: \"none !important\",\n\t\t\t\tpaddingTop: \"0 !important\"\n\t\t\t}\n\t\t}\n\t};\n\treturn e === \"\\\\parallel\" ? {\n\t\t...t,\n\t\tfontStyle: \"italic !important\"\n\t} : e === \"\\\\overleftrightarrow{\\\\overline{}}\" ? {\n\t\t...t,\n\t\t\"& .mq-overarrow.mq-arrow-both\": {\n\t\t\t\"& .mq-overline-inner\": {\n\t\t\t\tborderTop: \"none !important\",\n\t\t\t\tpaddingTop: \"0 !important\"\n\t\t\t},\n\t\t\t\"&:after\": {\n\t\t\t\tposition: \"absolute !important\",\n\t\t\t\ttop: \"0px !important\"\n\t\t\t}\n\t\t}\n\t} : t;\n});\nm.propTypes = { latex: o.string.isRequired };\nvar h = (e) => e ? {\n\tgridTemplateColumns: `repeat(${e.columns}, minmax(min-content, 150px))`,\n\tgridTemplateRows: `repeat(${e.rows}, minmax(40px, 60px))`,\n\tgridAutoFlow: \"initial\"\n} : {}, g = l(\"div\")(() => ({\n\t...n,\n\twidth: \"100%\",\n\tdisplay: \"grid\",\n\tgridTemplateRows: \"repeat(5, minmax(40px, 60px))\",\n\tgridRowGap: \"0px\",\n\tgridColumnGap: \"0px\",\n\tgridAutoFlow: \"column\",\n\t\"&.character\": {\n\t\ttextTransform: \"initial !important\",\n\t\tgridTemplateRows: \"repeat(5, minmax(40px, 50px)) !important\"\n\t},\n\t\"&.language\": {\n\t\tgridTemplateRows: \"repeat(4, minmax(40px, 50px)) !important\",\n\t\t\"& *\": { fontFamily: \"Roboto, Helvetica, Arial, sans-serif !important\" }\n\t}\n})), _ = l(s)(({ category: e, isDelete: t, isComma: n, isDot: r }) => ({\n\tminWidth: \"auto\",\n\ttextTransform: \"none\",\n\tfontSize: n || r ? \"200% !important\" : \"140% !important\",\n\tlineHeight: n || r ? \"100%\" : \"normal\",\n\tcolor: d.text(),\n\tbackgroundColor: e === \"operators\" ? d.keypadButtonOperator() : d.keypadButton(),\n\t\"&:hover\": { backgroundColor: e === \"operators\" ? d.keypadButtonOperatorHover() : d.keypadButtonHover() },\n\tborderRadius: 0,\n\t...t && { fontFamily: \"Roboto, Helvetica, Arial, sans-serif !important\" }\n})), v = l(s)(({ category: e }) => ({\n\ttextTransform: \"none\",\n\tpadding: 0,\n\tmargin: 0,\n\tfontSize: \"110% !important\",\n\tminWidth: \"auto\",\n\tborderRadius: 0,\n\tbackgroundColor: e === \"operators\" ? d.keypadButtonOperator() : d.keypadButton(),\n\t\"&:hover\": { backgroundColor: e === \"operators\" ? d.keypadButtonOperatorHover() : d.keypadButtonHover() }\n})), y = l(c)(({ category: e }) => ({\n\tminWidth: \"auto\",\n\tbackgroundColor: e === \"operators\" ? d.keypadButtonOperator() : d.keypadButton(),\n\t\"&:hover\": { backgroundColor: e === \"operators\" ? d.keypadButtonOperatorHover() : d.keypadButtonHover() },\n\tborderRadius: 0,\n\t\"& .icon\": { height: \"30px\" }\n})), b = class extends a.Component {\n\tstatic propTypes = {\n\t\tclassName: o.string,\n\t\tcontrolledKeypadMode: o.bool,\n\t\tbaseSet: o.array,\n\t\tadditionalKeys: o.array,\n\t\tlayoutForKeyPad: o.object,\n\t\tonPress: o.func.isRequired,\n\t\tonFocus: o.func,\n\t\tnoDecimal: o.bool,\n\t\tsetKeypadInteraction: o.func,\n\t\tmode: o.oneOfType([o.string, o.number])\n\t};\n\tstatic defaultProps = {\n\t\tbaseSet: e,\n\t\tnoDecimal: !1\n\t};\n\tconstructor(e) {\n\t\tsuper(e), this.keypadRef = a.createRef();\n\t}\n\tcomponentDidMount() {\n\t\tlet e = this.keypadRef?.current, t = e?.closest(\".main-container\"), n = e?.closest(\".pie-toolbar\");\n\t\tif (this.props.controlledKeypadMode && t && n) {\n\t\t\tlet e = t.getBoundingClientRect(), r = n.getBoundingClientRect(), i = e.top + e.height - (r.top + r.height);\n\t\t\tif (i < 0) {\n\t\t\t\tlet n = e.height + e.top - i;\n\t\t\t\tt && (t.style.height = `${n}px`);\n\t\t\t}\n\t\t}\n\t\te && (e.addEventListener(\"touchstart\", this.handleKeypadInteraction, !0), e.addEventListener(\"mousedown\", this.handleKeypadInteraction, !0));\n\t}\n\tcomponentWillUnmount() {\n\t\tlet e = this.keypadRef?.current;\n\t\tif (this.props.controlledKeypadMode && e) {\n\t\t\tlet t = e.closest(\".main-container\");\n\t\t\tt && (t.style.height = \"unset\");\n\t\t}\n\t\te && (e.removeEventListener(\"touchstart\", this.handleKeypadInteraction, !0), e.removeEventListener(\"mousedown\", this.handleKeypadInteraction, !0));\n\t}\n\thandleKeypadInteraction = () => {\n\t\tthis.props.setKeypadInteraction && this.props.setKeypadInteraction(!0);\n\t};\n\tbuttonClick = (e) => {\n\t\tp(\"[buttonClick]\", e);\n\t\tlet { onPress: t } = this.props;\n\t\tt(e);\n\t};\n\tflowKeys = (e, t) => i([...r(e), ...r(t)]);\n\tkeyIsNotAllowed = (e) => {\n\t\tlet { noDecimal: t } = this.props;\n\t\treturn !!((e.write === \".\" && e.label === \".\" || e.write === \",\" && e.label === \",\") && t);\n\t};\n\trender() {\n\t\tlet { className: e, baseSet: t, additionalKeys: n, layoutForKeyPad: r, onFocus: i, mode: a } = this.props, o = [\n\t\t\t\"non-negative-integers\",\n\t\t\t\"integers\",\n\t\t\t\"decimals\",\n\t\t\t\"fractions\",\n\t\t\t\"item-authoring\",\n\t\t\t\"language\"\n\t\t].includes(a), s = o ? this.flowKeys([], n || []) : this.flowKeys(t, n || []), c = s.length % 5 ? 1 : 0, l = {\n\t\t\tgridTemplateColumns: `repeat(${Math.floor(s.length / 5) + c}, minmax(min-content, 150px))`,\n\t\t\t...h(r)\n\t\t};\n\t\treturn /* @__PURE__ */ f(g, {\n\t\t\tref: this.keypadRef,\n\t\t\tclassName: [e, a].filter(Boolean).join(\" \"),\n\t\t\tstyle: l,\n\t\t\tonFocus: i,\n\t\t\tchildren: s.map((e, t) => {\n\t\t\t\tlet n = this.buttonClick.bind(this, e);\n\t\t\t\tif (!e) return /* @__PURE__ */ f(\"span\", {}, `empty-${t}`);\n\t\t\t\tlet r = {\n\t\t\t\t\tonClick: n,\n\t\t\t\t\tdisabled: this.keyIsNotAllowed(e),\n\t\t\t\t\tkey: `${e.label || e.latex || e.command}-${t}`,\n\t\t\t\t\t...e.actions || {},\n\t\t\t\t\t...e.extraProps || {}\n\t\t\t\t};\n\t\t\t\tif (e.latex) return /* @__PURE__ */ f(v, {\n\t\t\t\t\tonClick: r.onClick,\n\t\t\t\t\tdisabled: r.disabled,\n\t\t\t\t\tcategory: o ? void 0 : e.category,\n\t\t\t\t\t\"aria-label\": e.ariaLabel ? e.ariaLabel : e.name || e.label,\n\t\t\t\t\t...e.actions || {},\n\t\t\t\t\t...e.extraProps || {},\n\t\t\t\t\tchildren: /* @__PURE__ */ f(m, { latex: e.latex })\n\t\t\t\t}, r.key);\n\t\t\t\tif (e.label) return /* @__PURE__ */ f(_, {\n\t\t\t\t\tonClick: r.onClick,\n\t\t\t\t\tdisabled: r.disabled,\n\t\t\t\t\tcategory: o ? void 0 : e.category,\n\t\t\t\t\tisDelete: e.label === \"⌫\",\n\t\t\t\t\tisComma: e.label === \",\",\n\t\t\t\t\tisDot: e.label === \".\",\n\t\t\t\t\t\"aria-label\": e.ariaLabel ? e.ariaLabel : e.name || e.label,\n\t\t\t\t\t...e.actions || {},\n\t\t\t\t\t...e.extraProps || {},\n\t\t\t\t\tchildren: e.label\n\t\t\t\t}, r.key);\n\t\t\t\t{\n\t\t\t\t\tlet t = e.icon ? e.icon : \"div\";\n\t\t\t\t\treturn /* @__PURE__ */ f(y, {\n\t\t\t\t\t\ttabIndex: \"-1\",\n\t\t\t\t\t\tonClick: r.onClick,\n\t\t\t\t\t\tdisabled: r.disabled,\n\t\t\t\t\t\tcategory: o ? void 0 : e.category,\n\t\t\t\t\t\tsize: \"large\",\n\t\t\t\t\t\t...e.actions || {},\n\t\t\t\t\t\t...e.extraProps || {},\n\t\t\t\t\t\tchildren: /* @__PURE__ */ f(t, { className: \"icon\" })\n\t\t\t\t\t}, r.key);\n\t\t\t\t}\n\t\t\t})\n\t\t});\n\t}\n};\n//#endregion\nexport { b as KeyPad, b as default };\n","import { extendKeySet as e } from \"./keys/utils.js\";\nimport { keysForGrade as t, normalizeAdditionalKeys as n } from \"./keys/grades.js\";\nimport { KeyPad as r } from \"./keypad/index.js\";\nimport i from \"react\";\nimport a from \"prop-types\";\nimport { jsx as o } from \"react/jsx-runtime\";\n//#region src/horizontal-keypad.tsx\nvar s = (e) => {\n\tif (e.command) return {\n\t\tvalue: e.command,\n\t\ttype: \"command\"\n\t};\n\tif (e.write) return { value: e.write };\n\tif (e.keystroke) return {\n\t\ttype: \"cursor\",\n\t\tvalue: e.keystroke\n\t};\n}, c = class extends i.Component {\n\tstatic propTypes = {\n\t\tclassName: a.string,\n\t\tcontrolledKeypadMode: a.bool,\n\t\tmode: a.oneOfType([a.string, a.number]),\n\t\tlayoutForKeyPad: a.object,\n\t\tonClick: a.func.isRequired,\n\t\tonFocus: a.func,\n\t\tnoDecimal: a.bool,\n\t\tadditionalKeys: a.array,\n\t\tsetKeypadInteraction: a.func\n\t};\n\tstatic defaultProps = {\n\t\tmode: \"scientific\",\n\t\tnoDecimal: !1,\n\t\tadditionalKeys: []\n\t};\n\tkeypadPress = (e) => {\n\t\tlet { onClick: t } = this.props;\n\t\tt(s(e));\n\t};\n\trender() {\n\t\tlet { mode: i, onFocus: a, controlledKeypadMode: s, noDecimal: c, className: l, additionalKeys: u, layoutForKeyPad: d, setKeypadInteraction: f } = this.props, p = n(u);\n\t\treturn /* @__PURE__ */ o(r, {\n\t\t\tclassName: l,\n\t\t\tcontrolledKeypadMode: s,\n\t\t\tonFocus: a,\n\t\t\tnoDecimal: c,\n\t\t\tlayoutForKeyPad: d,\n\t\t\tadditionalKeys: e(t(i), p),\n\t\t\tonPress: this.keypadPress,\n\t\t\tmode: i,\n\t\t\tsetKeypadInteraction: f\n\t\t});\n\t}\n};\n//#endregion\nexport { c 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 { 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 && setTimeout(() => this.input.focus(), 0);\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 = (e) => {\n\t\t\tlet t = e?.target, n = (document.querySelectorAll?.(\"[id^=\\\"equation-editor-select\\\"][id*=\\\"listbox\\\"], [aria-labelledby=\\\"equation-editor-label\\\"][role=\\\"listbox\\\"]\") || []).length > 0, r = !!(t?.id && t.id.includes(\"equation-editor-select\")) || !!t?.closest?.(\"[id*=\\\"equation-editor-select\\\"]\"), i = !!t?.closest?.(`.math-node-${C.current}`);\n\t\t\tif (x.current && !x.current.contains(t) && !t?.closest?.(\"[data-inline-node]\") && !n && !r && !i) {\n\t\t\t\tb(!1);\n\t\t\t\tlet e = !!c?.view?.dom?.contains(t);\n\t\t\t\tP(o.attrs.latex, { moveCursorAfterNode: !e });\n\t\t\t}\n\t\t};\n\t\treturn y ? document.addEventListener(\"click\", e) : document.removeEventListener(\"click\", e), () => document.removeEventListener(\"click\", e);\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","\"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 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 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","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 \"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","import e from \"./group.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\";\nimport o from \"@pie-lib/editable-html-tip-tap\";\nimport * as s from \"@pie-lib/render-ui\";\nimport { InputContainer as c, color as l } from \"@pie-lib/render-ui\";\n//#region src/feedback-config/feedback-selector.tsx\nfunction u(e) {\n\treturn typeof e == \"function\" || typeof e == \"object\" && !!e && typeof e.$$typeof == \"symbol\";\n}\nfunction d(e, t) {\n\treturn !e || u(e) ? e : u(e.default) ? e.default : t && u(e[t]) ? e[t] : t && u(e[t]?.default) ? e[t].default : e;\n}\nvar f = d(c, \"InputContainer\") || d(h.InputContainer, \"InputContainer\"), p = s, m = p.default, h = m && typeof m == \"object\" ? m : p, g = r(o)(({ theme: e }) => ({ fontFamily: e.typography.fontFamily })), _ = {\n\tdefault: \"Simple Feedback\",\n\tnone: \"No Feedback\",\n\tcustom: \"Customized Feedback\"\n}, v = r(\"div\")(({ theme: e }) => ({ marginBottom: e.spacing(1) })), y = r(f)(() => ({ paddingBottom: 0 })), b = r(\"div\")(({ theme: e }) => ({\n\tmarginTop: \"0px\",\n\tbackground: l.backgroundDark(),\n\tpadding: 0,\n\tmarginBottom: e.spacing(2),\n\tborderRadius: \"4px\"\n})), x = r(\"div\")(({ theme: e }) => ({\n\tmarginTop: \"0px\",\n\tbackground: l.backgroundDark(),\n\tpadding: e.spacing(2),\n\tmarginBottom: e.spacing(2),\n\tborderRadius: \"4px\",\n\tfontFamily: e.typography.fontFamily,\n\tcursor: \"default\"\n})), S = r(e)(({ theme: e }) => ({ paddingTop: e.spacing(1) })), C = {\n\ttype: n.oneOf([\n\t\t\"default\",\n\t\t\"custom\",\n\t\t\"none\"\n\t]),\n\tdefault: n.string,\n\tcustom: n.string\n}, w = class extends t.Component {\n\tstatic propTypes = {\n\t\tkeys: n.arrayOf(n.string),\n\t\tlabel: n.string.isRequired,\n\t\tfeedback: n.shape(C).isRequired,\n\t\tonChange: n.func.isRequired,\n\t\ttoolbarOpts: n.object,\n\t\tmathMlOptions: n.object\n\t};\n\tchangeType = (e) => {\n\t\tlet { onChange: t, feedback: n } = this.props;\n\t\tt({\n\t\t\t...n,\n\t\t\ttype: e\n\t\t});\n\t};\n\tchangeCustom = (e) => {\n\t\tlet { onChange: t, feedback: n } = this.props;\n\t\tt({\n\t\t\t...n,\n\t\t\ttype: \"custom\",\n\t\t\tcustom: e\n\t\t});\n\t};\n\trender() {\n\t\tlet { keys: e, label: t, feedback: n, toolbarOpts: r, mathMlOptions: o = {} } = this.props;\n\t\treturn /* @__PURE__ */ a(v, { children: [\n\t\t\t/* @__PURE__ */ i(y, {\n\t\t\t\tlabel: t,\n\t\t\t\textraClasses: { label: { transform: \"translateY(-20%)\" } },\n\t\t\t\tchildren: /* @__PURE__ */ i(S, {\n\t\t\t\t\tkeys: e || Object.keys(_),\n\t\t\t\t\tlabel: t,\n\t\t\t\t\tvalue: n.type,\n\t\t\t\t\tonChange: this.changeType,\n\t\t\t\t\tfeedbackLabels: _\n\t\t\t\t})\n\t\t\t}),\n\t\t\tn.type === \"custom\" && /* @__PURE__ */ i(b, { children: /* @__PURE__ */ i(g, {\n\t\t\t\tonChange: this.changeCustom,\n\t\t\t\tmarkup: n.custom || \"\",\n\t\t\t\ttoolbarOpts: r,\n\t\t\t\tlanguageCharactersProps: [{ language: \"spanish\" }, { language: \"special\" }],\n\t\t\t\tmathMlOptions: o\n\t\t\t}) }),\n\t\t\tn.type === \"default\" && /* @__PURE__ */ a(x, { children: [\" \", n.default] })\n\t\t] });\n\t}\n};\n//#endregion\nexport { w as FeedbackSelector, w as default, C as FeedbackType };\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: \"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z\"\n}), 'ExpandMore');","import { FeedbackSelector as e, FeedbackType as t } from \"./feedback-selector.js\";\nimport n from \"react\";\nimport r from \"prop-types\";\nimport { styled as i } from \"@mui/material/styles\";\nimport { jsx as a, jsxs as o } from \"react/jsx-runtime\";\nimport { merge as s } from \"@pie-element/shared-lodash\";\nimport c from \"@mui/material/Accordion\";\nimport l from \"@mui/material/AccordionSummary\";\nimport u from \"@mui/material/AccordionDetails\";\nimport d from \"@mui/material/Typography\";\nimport f from \"@mui/icons-material/ExpandMore\";\n//#region src/feedback-config/index.tsx\nvar p = i(\"div\")(() => ({\n\tdisplay: \"flex\",\n\tflex: 1,\n\tflexDirection: \"column\"\n})), m = i(u)(() => ({\n\tpaddingTop: 0,\n\tpaddingBottom: 0\n})), h = (e) => s({}, {\n\tcorrect: {\n\t\ttype: \"default\",\n\t\tdefault: \"Correct\"\n\t},\n\tincorrect: {\n\t\ttype: \"default\",\n\t\tdefault: \"Incorrect\"\n\t},\n\tpartial: {\n\t\ttype: \"default\",\n\t\tdefault: \"Nearly\"\n\t}\n}, e), g = class extends n.Component {\n\tstatic propTypes = {\n\t\tallowPartial: r.bool,\n\t\tclassName: r.string,\n\t\tfeedback: r.shape({\n\t\t\tcorrect: r.shape(t),\n\t\t\tincorrect: r.shape(t),\n\t\t\tpartial: r.shape(t)\n\t\t}),\n\t\tonChange: r.func.isRequired,\n\t\ttoolbarOpts: r.object\n\t};\n\tstatic defaultProps = {\n\t\tallowPartial: !0,\n\t\tfeedback: h()\n\t};\n\tonChange(e, t) {\n\t\tlet { feedback: n, onChange: r } = this.props;\n\t\tr({\n\t\t\t...n,\n\t\t\t[e]: t\n\t\t});\n\t}\n\tonCorrectChange = this.onChange.bind(this, \"correct\");\n\tonIncorrectChange = this.onChange.bind(this, \"incorrect\");\n\tonPartialChange = this.onChange.bind(this, \"partial\");\n\trender() {\n\t\tlet { className: t, allowPartial: n, feedback: r, toolbarOpts: i } = this.props;\n\t\treturn /* @__PURE__ */ a(\"div\", {\n\t\t\tclassName: t,\n\t\t\tchildren: /* @__PURE__ */ o(c, {\n\t\t\t\tslotProps: { transition: { timeout: {\n\t\t\t\t\tenter: 225,\n\t\t\t\t\texit: 195\n\t\t\t\t} } },\n\t\t\t\tchildren: [/* @__PURE__ */ a(l, {\n\t\t\t\t\texpandIcon: /* @__PURE__ */ a(f, {}),\n\t\t\t\t\tchildren: /* @__PURE__ */ a(d, { children: \"Feedback\" })\n\t\t\t\t}), /* @__PURE__ */ a(m, { children: /* @__PURE__ */ o(p, { children: [\n\t\t\t\t\t/* @__PURE__ */ a(e, {\n\t\t\t\t\t\tlabel: \"If correct, show\",\n\t\t\t\t\t\tfeedback: r.correct,\n\t\t\t\t\t\tonChange: this.onCorrectChange,\n\t\t\t\t\t\ttoolbarOpts: i\n\t\t\t\t\t}),\n\t\t\t\t\tn && /* @__PURE__ */ a(e, {\n\t\t\t\t\t\tlabel: \"If partially correct, show\",\n\t\t\t\t\t\tfeedback: r.partial,\n\t\t\t\t\t\tonChange: this.onPartialChange,\n\t\t\t\t\t\ttoolbarOpts: i\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ a(e, {\n\t\t\t\t\t\tlabel: \"If incorrect, show\",\n\t\t\t\t\t\tfeedback: r.incorrect,\n\t\t\t\t\t\tonChange: this.onIncorrectChange,\n\t\t\t\t\t\ttoolbarOpts: i\n\t\t\t\t\t})\n\t\t\t\t] }) })]\n\t\t\t})\n\t\t});\n\t}\n};\n//#endregion\nexport { g as FeedbackConfig, g as default, e as FeedbackSelector, h as buildDefaults };\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 \"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 i from \"@mui/material/Typography\";\n//#region src/form-section.tsx\nvar a = t(\"div\")(({ theme: e }) => ({\n\tmarginTop: e.spacing(2),\n\tmarginBottom: e.spacing(2)\n})), o = t(i)(({ theme: e }) => ({ marginBottom: e.spacing(1) })), s = ({ className: e, label: t, children: i, labelExtraStyle: s }) => /* @__PURE__ */ r(a, {\n\tclassName: e,\n\tchildren: [/* @__PURE__ */ n(o, {\n\t\tvariant: \"subtitle1\",\n\t\tstyle: s,\n\t\tchildren: t\n\t}), i]\n});\ns.propTypes = {\n\tclassName: e.string,\n\tlabel: e.string,\n\tchildren: e.node,\n\tlabelExtraStyle: e.object\n};\n//#endregion\nexport { s 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","\"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 9H4v2h16zM4 15h16v-2H4z\"\n}), 'DragHandle');","\"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 2m5 11H7v-2h10z\"\n}), 'RemoveCircle');","// @ts-nocheck\n/**\n * @synced-from pie-elements/packages/placement-ordering/configure/src/choice-tile.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 debug from 'debug';\nimport { useDraggable, useDroppable } from '@dnd-kit/core';\nimport CardActions from '@mui/material/CardActions';\nimport DragHandle from '@mui/icons-material/DragHandle';\nimport IconButton from '@mui/material/IconButton';\nimport RemoveCircle from '@mui/icons-material/RemoveCircle';\nimport { styled } from '@mui/material/styles';\n\nimport { color } from '@pie-lib/render-ui';\nimport EditableHtml, { DEFAULT_PLUGINS } from '@pie-lib/editable-html-tip-tap';\n\nconst log = debug('@pie-element:placement-ordering:configure:choice-tile');\n\nconst StyledChoiceTile: any = styled('div')(({ theme }) => ({\n margin: `${theme.spacing(1)} 0`,\n backgroundColor: theme.palette.background.paper,\n display: 'flex',\n flexDirection: 'column',\n cursor: 'move',\n touchAction: 'none',\n}));\n\nconst StyledEditableHtml: any = styled(EditableHtml)(({ theme, isTargetPrompt }) => ({\n width: '80%',\n borderRadius: '4px',\n ...(isTargetPrompt && {\n backgroundColor: theme.palette.error.light,\n }),\n}));\n\nconst StyledControls: any = styled('div')(() => ({\n display: 'flex',\n justifyContent: 'flex-end',\n}));\n\nconst StyledActions: any = styled(DragHandle)(({ theme }) => ({\n color: theme.palette.error[400],\n}));\n\nconst StyledErrorText: any = styled('div')(({ theme }) => ({\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n marginLeft: theme.spacing(5),\n marginTop: theme.spacing(1),\n}));\n\nconst StyledRemoveCircle: any = styled(RemoveCircle)(({ theme }) => ({\n fill: theme.palette.error[500],\n}));\n\nconst StyledIconButton: any = styled(IconButton)({\n color: `${color.tertiary()} !important`,\n});\n\nexport const ChoiceTile = (props) => {\n const {\n choice,\n index,\n onChoiceChange,\n onDelete,\n imageSupport,\n spellCheck,\n toolbarOpts,\n pluginProps,\n maxImageWidth,\n maxImageHeight,\n error,\n mathMlOptions = {},\n } = props;\n const { label, editable, type } = choice;\n const draggableId = `${type}-${choice.id}`;\n const droppableId = `${type}-drop-${choice.id}`;\n\n const {\n attributes,\n listeners,\n setNodeRef: setDragRef,\n transform,\n isDragging,\n } = useDraggable({\n id: draggableId,\n data: {\n id: choice.id,\n index,\n type,\n },\n });\n\n const { setNodeRef: setDropRef } = useDroppable({\n id: droppableId,\n data: {\n id: choice.id,\n index,\n type,\n },\n });\n\n const onLabelChange = (label) => {\n choice.label = label;\n onChoiceChange(choice);\n };\n\n const style = {\n transform: transform ? `translate3d(${transform.x}px, ${transform.y}px, 0)` : undefined,\n opacity: isDragging ? 0.5 : 1,\n width: '100%',\n };\n\n const filteredDefaultPlugins = (DEFAULT_PLUGINS || []).filter((p) => p !== 'bulleted-list' && p !== 'numbered-list');\n\n const isEditableElement = (target) =>\n target.closest('[contenteditable]') ||\n target.closest('input') ||\n target.closest('textarea') ||\n target.isContentEditable;\n\n // edit listeners to prevent dragging when interacting with editable-html element\n const filteredListeners = {\n ...listeners,\n onKeyDown: (e) => {\n if (isEditableElement(e.target)) {\n return;\n }\n\n listeners?.onKeyDown?.(e);\n },\n onPointerDown: (e) => {\n if (isEditableElement(e.target)) {\n return;\n }\n\n listeners?.onPointerDown?.(e);\n },\n };\n\n return (\n <div ref={setDropRef}>\n <div ref={setDragRef} {...filteredListeners} {...attributes}>\n <StyledChoiceTile style={style}>\n <div style={{ width: '100%', display: 'flex', alignItems: 'center' }}>\n <CardActions>\n <StyledActions />\n </CardActions>\n\n <StyledEditableHtml\n disabled={!editable}\n placeholder={type !== 'target' && !label.includes('data-latex') ? 'Enter a choice' : ''}\n markup={label}\n imageSupport={imageSupport || undefined}\n onChange={onLabelChange}\n pluginProps={pluginProps}\n toolbarOpts={toolbarOpts}\n activePlugins={filteredDefaultPlugins}\n spellCheck={spellCheck}\n autoWidthToolbar\n maxImageWidth={maxImageWidth}\n maxImageHeight={maxImageHeight}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n error={editable && error}\n mathMlOptions={mathMlOptions}\n />\n\n {editable && (\n <StyledControls>\n <StyledIconButton onClick={onDelete} size=\"large\">\n <StyledRemoveCircle />\n </StyledIconButton>\n </StyledControls>\n )}\n </div>\n\n {editable && error && <StyledErrorText>{error}</StyledErrorText>}\n </StyledChoiceTile>\n </div>\n </div>\n );\n};\n\nChoiceTile.propTypes = {\n id: PropTypes.any,\n maxImageHeight: PropTypes.object,\n maxImageWidth: PropTypes.object,\n label: PropTypes.string,\n isOver: PropTypes.bool,\n type: PropTypes.string,\n empty: PropTypes.bool,\n disabled: PropTypes.bool,\n outcome: PropTypes.object,\n index: PropTypes.number,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n choice: PropTypes.object,\n choices: PropTypes.array.isRequired,\n onChoiceChange: PropTypes.func.isRequired,\n onDelete: PropTypes.func.isRequired,\n toolbarOpts: PropTypes.object,\n pluginProps: PropTypes.object,\n choicesLabel: PropTypes.string,\n error: PropTypes.string,\n spellCheck: PropTypes.bool,\n mathMlOptions: PropTypes.object,\n};\n\nexport default ChoiceTile;\n","// @ts-nocheck\n/**\n * @synced-from pie-elements/packages/placement-ordering/configure/src/choice-editor.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 PropTypes from 'prop-types';\nimport React from 'react';\nimport debug from 'debug';\nimport { isEqual, shuffle } from '@pie-element/shared-lodash';\nimport Button from '@mui/material/Button';\nimport { styled } from '@mui/material/styles';\nimport { InputContainer as InputContainerImport } from '@pie-lib/render-ui';\n\nfunction isRenderableReactInteropType(value: any) {\n return (\n typeof value === 'function' ||\n (typeof value === 'object' && value !== null && typeof value.$$typeof === 'symbol')\n );\n}\n\nfunction unwrapReactInteropSymbol(maybeSymbol: any, namedExport?: string) {\n if (!maybeSymbol) return maybeSymbol;\n if (isRenderableReactInteropType(maybeSymbol)) return maybeSymbol;\n if (isRenderableReactInteropType(maybeSymbol.default)) return maybeSymbol.default;\n if (namedExport && isRenderableReactInteropType(maybeSymbol[namedExport])) {\n return maybeSymbol[namedExport];\n }\n if (namedExport && isRenderableReactInteropType(maybeSymbol[namedExport]?.default)) {\n return maybeSymbol[namedExport].default;\n }\n return maybeSymbol;\n}\nconst InputContainer = unwrapReactInteropSymbol(InputContainerImport, 'InputContainer') || unwrapReactInteropSymbol(renderUi.InputContainer, 'InputContainer');\nimport * as RenderUiNamespace from '@pie-lib/render-ui';\nconst renderUiNamespaceAny = RenderUiNamespace as any;\nconst renderUiDefaultMaybe = renderUiNamespaceAny['default'];\nconst renderUi =\n renderUiDefaultMaybe && typeof renderUiDefaultMaybe === 'object'\n ? renderUiDefaultMaybe\n : renderUiNamespaceAny;\nimport { AlertDialog } from '@pie-lib/config-ui';\n\nimport ChoiceTile from './choice-tile.js';\n\nfunction findFreeChoiceSlot(choices) {\n let slot = 1;\n const ids = choices.map((c) => c.id);\n\n while (ids.includes(`c${slot}`)) {\n slot++;\n }\n\n return slot;\n}\n\nconst log = debug('@pie-element:placement-ordering:configure:choice-editor');\n\nconst StyledControls: any = styled('div')({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n});\n\nconst StyledAddButton: any = styled(Button)(({ theme }) => ({\n marginTop: theme.spacing(2.5),\n paddingLeft: theme.spacing(1.5),\n paddingRight: theme.spacing(1.5),\n '& .MuiButton-label': {\n transition: 'opacity 200ms linear',\n '&:hover': {\n opacity: 0.3,\n },\n },\n}));\n\nconst StyledVTiler: any = styled('div')({\n gridAutoFlow: 'column',\n display: 'grid',\n gridGap: '10px',\n alignItems: 'center',\n});\n\nconst StyledColumnLabel: any = styled(InputContainer)(({ theme }) => ({\n width: '100%',\n paddingTop: theme.spacing(2),\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\nclass ChoiceEditor extends React.Component {\n static propTypes = {\n correctResponse: PropTypes.array.isRequired,\n choices: PropTypes.array.isRequired,\n onChange: PropTypes.func.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n maxImageHeight: PropTypes.object,\n maxImageWidth: PropTypes.object,\n toolbarOpts: PropTypes.object,\n pluginProps: PropTypes.object,\n placementArea: PropTypes.bool,\n singularChoiceLabel: PropTypes.string,\n pluralChoiceLabel: PropTypes.string,\n choicesLabel: PropTypes.string,\n errors: PropTypes.object,\n spellCheck: PropTypes.bool,\n };\n\n state = { warning: { open: false } };\n\n constructor(props) {\n super(props);\n\n this.onChoiceChange = (choice) => {\n const { choices, onChange, correctResponse } = this.props;\n const index = choices.findIndex((c) => c.id === choice.id);\n\n choices.splice(index, 1, { ...choices[index], label: choice.label });\n onChange(choices, correctResponse);\n };\n\n this.onDelete = (choice) => {\n const { choices, onChange, correctResponse, choicesLabel } = this.props;\n\n if (choices && choices.length === 3) {\n this.setState({\n warning: {\n open: true,\n text: `There have to be at least 3 ${choicesLabel}.`,\n },\n });\n } else {\n const updatedChoices = choices.filter((c) => c.id !== choice.id);\n const updatedCorrectResponse = correctResponse.filter((v) => v.id !== choice.id);\n\n onChange(updatedChoices, updatedCorrectResponse);\n }\n };\n\n this.addChoice = () => {\n const { choices, correctResponse, onChange, choicesLabel } = this.props;\n\n if (choices && choices.length === 10) {\n this.setState({\n warning: {\n open: true,\n text: `There can be maximum 10 ${choicesLabel}.`,\n },\n });\n } else {\n const freeId = findFreeChoiceSlot(choices);\n const id = `c${freeId}`;\n const newChoice = { id, label: '' };\n\n const newCorrectResponse = {\n id,\n /**\n * Note: weights are not configurable in the existing component\n * so we'll want do disable this in the controller and ignore it for now.\n */\n weight: 0,\n };\n\n const updatedChoices = choices.concat([newChoice]);\n const updatedCorrectResponse = correctResponse.concat([newCorrectResponse]);\n\n onChange(updatedChoices, updatedCorrectResponse);\n }\n };\n\n this.shuffleChoices = () => {\n const { onChange, choices, correctResponse, placementArea } = this.props;\n let shuffled = shuffle(choices);\n\n // if placementArea is disabled, make sure we don't shuffle choices in the correct order\n const shuffledCorrect =\n !placementArea &&\n isEqual(\n shuffled.map((item) => item.id),\n correctResponse.map((item) => item.id),\n );\n\n if (shuffledCorrect) {\n const shuffledTwice = shuffle(shuffled);\n\n onChange(shuffledTwice, correctResponse);\n } else {\n onChange(shuffled, correctResponse);\n }\n };\n }\n\n render() {\n const {\n correctResponse,\n choices,\n imageSupport,\n toolbarOpts,\n pluginProps,\n singularChoiceLabel,\n pluralChoiceLabel,\n choicesLabel,\n spellCheck,\n maxImageWidth,\n maxImageHeight,\n errors,\n mathMlOptions = {},\n ordering,\n } = this.props;\n const { warning } = this.state;\n const { choicesErrors, orderError } = errors || {};\n\n const vTilerStyle = {\n gridTemplateColumns: 'repeat(2, 1fr)',\n gridTemplateRows: `repeat(${choices.length}, auto)`,\n };\n\n return (\n <div>\n <StyledVTiler style={{ gridTemplateColumns: 'repeat(2, 1fr)' }}>\n <StyledColumnLabel label={`Student ${choicesLabel || 'Choices'}`} />\n <StyledColumnLabel label=\"Correct Order\" />\n </StyledVTiler>\n <StyledVTiler style={vTilerStyle}>\n {ordering.tiles.map((choice, index) => (\n <ChoiceTile\n key={`${choice.type}-${choice.id}`}\n choice={choice}\n index={index}\n imageSupport={imageSupport}\n onDelete={this.onDelete.bind(this, choice)}\n onChoiceChange={this.onChoiceChange}\n toolbarOpts={toolbarOpts}\n pluginProps={pluginProps}\n choices={choices}\n choicesLabel={choicesLabel}\n spellCheck={spellCheck}\n maxImageWidth={maxImageWidth}\n maxImageHeight={maxImageHeight}\n error={choicesErrors?.[choice.id] || (orderError && ' ') || null}\n mathMlOptions={mathMlOptions}\n />\n ))}\n </StyledVTiler>\n {orderError && <ErrorText>{orderError}</ErrorText>}\n <StyledControls>\n <StyledAddButton onClick={this.shuffleChoices} size=\"small\" variant=\"contained\">\n {`SHUFFLE ${pluralChoiceLabel}`.toUpperCase()}\n </StyledAddButton>\n\n <StyledAddButton onClick={this.addChoice} size=\"small\" variant=\"contained\">\n {`ADD ${singularChoiceLabel}`.toUpperCase()}\n </StyledAddButton>\n </StyledControls>\n <AlertDialog\n open={warning.open}\n title=\"Warning\"\n text={warning.text}\n onConfirm={() => this.setState({ warning: { open: false } })}\n />\n </div>\n );\n }\n}\n\nexport default ChoiceEditor;\n","// @ts-nocheck\n/**\n * @synced-from pie-elements/packages/placement-ordering/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\nimport { cloneDeep } from '@pie-element/shared-lodash';\n\nexport const generateValidationMessage = () => {\n const answersMessage =\n '\\nThere should be at least 3 tokens.' +\n '\\nThe tokens should not be empty and should be unique.' +\n '\\nThe correct ordering should not be identical to the initial ordering.';\n\n return 'Validation requirements:' + answersMessage;\n};\n\nexport function normalizeIndex(tile, ordering) {\n if (tile.type === 'target') {\n return ordering.response.findIndex(r => r.id === tile.id);\n }\n\n if (tile.type === 'choice') {\n return ordering.choices.findIndex(c => c.id === tile.id);\n }\n\n return -1;\n}\n\nexport function updateResponseOrChoices(response, choices, from, to) {\n const { type: fromType, index: fromIndex } = from;\n const { type: toType, index: placeAtIndex } = to;\n\n if (fromType === 'target' && toType === 'target') {\n const updatedResponse = cloneDeep(response) || [];\n\n const { movedItem, remainingItems } = updatedResponse.reduce(\n (acc, item, index) => {\n if (index === fromIndex) {\n acc.movedItem = item;\n } else {\n acc.remainingItems.push(item);\n }\n\n return acc;\n },\n { movedItem: null, remainingItems: [] },\n );\n\n return {\n response: [...remainingItems.slice(0, placeAtIndex), movedItem, ...remainingItems.slice(placeAtIndex)],\n choices,\n };\n }\n\n if (fromType === 'choice' && toType === 'choice') {\n const updatedChoices = cloneDeep(choices) || [];\n\n const { movedItem, remainingItems, toIndex } = updatedChoices.reduce(\n (acc, item, index) => {\n if (item.id === from.id) {\n acc.movedItem = item;\n } else {\n acc.remainingItems.push(item);\n }\n\n if (item.id === to.id) {\n acc.toIndex = index;\n }\n\n return acc;\n },\n { movedItem: null, remainingItems: [], toIndex: null },\n );\n\n return {\n response,\n choices: [...remainingItems.slice(0, toIndex), movedItem, ...remainingItems.slice(toIndex)],\n };\n }\n\n return { response, choices };\n}\n\nexport function buildTiles(choices, response) {\n const targets = response.map((r, index) => {\n const respId = r && r.id;\n const choice = choices.find((c) => respId !== undefined && respId !== null && c.id === respId);\n\n return {\n type: 'target',\n ...choice,\n draggable: true,\n index,\n editable: false,\n };\n });\n\n const processedChoices = choices.map((m) => {\n return Object.assign({}, m, {\n type: 'choice',\n droppable: false,\n draggable: true,\n editable: true,\n });\n });\n\n return processedChoices.concat(targets);\n}\n","// @ts-nocheck\n/**\n * @synced-from pie-elements/packages/placement-ordering/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 debug from 'debug';\nimport { cloneDeep, isEmpty } from '@pie-element/shared-lodash';\nimport { get, set } from 'nested-property';\nimport pluralize from 'pluralize';\nimport { styled } from '@mui/material/styles';\nimport Info from '@mui/icons-material/Info';\nimport Tooltip from '@mui/material/Tooltip';\n\nimport { FeedbackConfig, FormSection, InputContainer, settings, layout } from '@pie-lib/config-ui';\nimport EditableHtml from '@pie-lib/editable-html-tip-tap';\nimport { DragProvider } from '@pie-lib/drag';\n\nimport ChoiceEditor from './choice-editor.js';\nimport { generateValidationMessage, buildTiles, updateResponseOrChoices, normalizeIndex } from './utils.js';\n\nconst log = debug('@pie-element:placement-ordering:design');\nconst { Panel, toggle, radio, dropdown } = settings;\n\nconst getSingularAndPlural = (label) =>\n !pluralize.isPlural(label)\n ? {\n singularLabel: label,\n pluralLabel: pluralize(label),\n }\n : {\n singularLabel: pluralize.singular(label),\n pluralLabel: label,\n };\n\nconst StyledInputContainer: any = styled(InputContainer)(({ theme }) => ({\n width: '100%',\n paddingTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n}));\n\nconst StyledRow: any = styled('div')({\n display: 'grid',\n gridAutoFlow: 'column',\n gridAutoColumns: '1fr',\n gridGap: '8px',\n});\n\nconst StyledChoicesWrapper: any = styled(FormSection)(({ theme }) => ({\n marginTop: 0,\n marginBottom: theme.spacing(2.5),\n}));\n\nconst InlineFlexContainer: any = styled('div')({\n display: 'inline-flex',\n position: 'absolute',\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\nexport class Design extends React.Component {\n static propTypes = {\n uploadSoundSupport: PropTypes.object,\n };\n\n static defaultProps = {};\n\n constructor(props) {\n super(props);\n\n this.applyUpdate = (modelFn) => {\n const { model, onModelChanged } = this.props;\n const update = modelFn(cloneDeep(model));\n\n onModelChanged(update);\n };\n\n this.changeHandler = (modelPath, valuePath) => {\n return (value) => {\n log('[changeHandler] value: ', value);\n\n const v = valuePath ? get(value, valuePath) : value;\n\n this.applyUpdate((model) => {\n set(model, modelPath, v);\n\n return model;\n });\n };\n };\n\n this.onPromptChange = this.changeHandler('prompt');\n\n this.onTeacherInstructionsChange = this.changeHandler('teacherInstructions');\n\n this.onRationaleChange = this.changeHandler('rationale');\n\n this.onChoiceAreaLabelChange = this.changeHandler('choiceLabel', 'target.value');\n\n this.onAnswerAreaLabelChange = this.changeHandler('targetLabel', 'target.value');\n\n this.onFeedbackChange = this.changeHandler('feedback');\n\n this.onChoiceEditorChange = (choices, correctResponse) => {\n const { model, onModelChanged } = this.props;\n const update = cloneDeep(model);\n\n update.choices = choices;\n update.correctResponse = correctResponse;\n onModelChanged(update);\n };\n }\n\n componentDidMount() {\n const { model, onModelChanged } = this.props || {};\n const { feedback } = model || {};\n const update = cloneDeep(model);\n\n // requirement made in PD-2182\n if (!feedback) {\n update.feedbackEnabled = false;\n onModelChanged(update);\n }\n }\n\n onDragEnd: any = (event, ordering) => {\n const { active, over } = event;\n\n if (!over || !active) {\n return;\n }\n\n const target = over.data.current;\n const source = active.data.current;\n const rawFrom = ordering.tiles.find((t) => t.id === source.id && t.type === source.type);\n const rawTo = target;\n\n const from = {\n ...rawFrom,\n index: normalizeIndex(rawFrom, ordering),\n };\n const to = {\n ...rawTo,\n index: normalizeIndex(rawTo, ordering),\n };\n\n const { response, choices: updatedChoices } = updateResponseOrChoices(\n ordering.response,\n ordering.choices,\n from,\n to,\n );\n\n this.onChoiceEditorChange(updatedChoices, response);\n };\n\n render() {\n const { model, imageSupport, uploadSoundSupport, onModelChanged, configuration, onConfigurationChanged } =\n this.props;\n const {\n baseInputConfiguration = {},\n choiceLabel = {},\n choices = {},\n contentDimensions = {},\n feedback = {},\n prompt = {},\n placementArea = {},\n maxImageWidth = {},\n maxImageHeight = {},\n numberedGuides = {},\n orientation = {},\n partialScoring = {},\n rationale = {},\n removeTilesAfterPlacing = {},\n settingsPanelDisabled,\n studentInstructions = {},\n spellCheck = {},\n scoringType = {},\n targetLabel = {},\n teacherInstructions = {},\n withRubric = {},\n mathMlOptions = {},\n language = {},\n languageChoices = {},\n } = configuration || {};\n const {\n choiceLabelEnabled,\n errors,\n extraCSSRules,\n feedbackEnabled,\n promptEnabled,\n rationaleEnabled,\n spellCheckEnabled,\n teacherInstructionsEnabled,\n toolbarEditorPosition,\n correctResponse,\n } = model || {};\n const {\n prompt: promptError,\n rationale: rationaleError,\n teacherInstructions: teacherInstructionsError,\n } = errors || {};\n\n const ordering = {\n choices: model.choices,\n response: !correctResponse || isEmpty(correctResponse) ? new Array(model.choices.length) : correctResponse,\n tiles: buildTiles(model.choices, correctResponse),\n };\n\n const validationMessage = generateValidationMessage();\n\n const { singularLabel = '', pluralLabel = '' } = (choices?.label && getSingularAndPlural(choices.label)) || {};\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n const maxChoicesImageWidth =\n maxImageWidth && model.placementArea\n ? maxImageWidth.choicesWithPlacementArea\n : maxImageWidth.choicesWithoutPlacementArea || defaultImageMaxWidth;\n const maxChoicesImageHeight = (maxImageHeight && maxImageHeight.choices) || defaultImageMaxHeight;\n\n const toolbarOpts = {\n position: toolbarEditorPosition === 'top' ? 'top' : 'bottom',\n };\n\n const panelSettings = {\n choiceLabelEnabled: choiceLabel.settings && toggle(choiceLabel.label),\n placementArea: placementArea.settings && toggle(placementArea.label),\n numberedGuides: numberedGuides.settings && model.placementArea && toggle(numberedGuides.label),\n orientation: orientation.settings && radio(orientation.label, ['vertical', 'horizontal']),\n removeTilesAfterPlacing: removeTilesAfterPlacing.settings && toggle(removeTilesAfterPlacing.label),\n partialScoring: partialScoring.settings && toggle(partialScoring.label),\n feedbackEnabled: feedback.settings && toggle(feedback.label),\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 studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric']),\n rubricEnabled: withRubric?.settings && toggle(withRubric?.label),\n };\n\n const getPluginProps = (props = {}) => ({\n ...baseInputConfiguration,\n ...props,\n });\n\n return (\n <DragProvider onDragEnd={(event) => this.onDragEnd(event, ordering)}>\n <layout.ConfigLayout\n extraCSSRules={extraCSSRules}\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={(model) => onModelChanged(model)}\n onChangeConfiguration={(configuration) => onConfigurationChanged(configuration, true)}\n groups={{\n Settings: panelSettings,\n Properties: panelProperties,\n }}\n />\n }\n >\n {teacherInstructionsEnabled && (\n <StyledInputContainer label={teacherInstructions.label}>\n <EditableHtml\n className=\"prompt\"\n markup={model.teacherInstructions || ''}\n onChange={this.onTeacherInstructionsChange}\n imageSupport={imageSupport}\n nonEmpty={false}\n error={teacherInstructionsError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(teacherInstructions?.inputConfiguration)}\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 && <div className=\"errorText\">{teacherInstructionsError}</div>}\n </StyledInputContainer>\n )}\n\n {promptEnabled && (\n <StyledInputContainer label={prompt && prompt.label}>\n <EditableHtml\n className=\"prompt\"\n markup={model.prompt}\n onChange={this.onPromptChange}\n imageSupport={imageSupport}\n error={promptError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(prompt?.inputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={maxImageWidth && maxImageWidth.prompt}\n maxImageHeight={maxImageHeight && maxImageHeight.prompt}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {promptError && <div className=\"errorText\">{promptError}</div>}\n </StyledInputContainer>\n )}\n\n <StyledChoicesWrapper label={`Define ${pluralLabel}`} labelExtraStyle={{ display: 'inline-flex' }}>\n <InlineFlexContainer>\n <Tooltip\n slotProps={{\n tooltip: {\n sx: {\n fontSize: 14,\n whiteSpace: 'pre',\n maxWidth: '500px',\n },\n },\n }}\n disableFocusListener\n disableTouchListener\n placement={'right'}\n title={validationMessage}\n >\n <Info fontSize={'small'} color={'primary'} style={{ marginLeft: '8px' }} />\n </Tooltip>\n </InlineFlexContainer>\n\n <StyledRow>\n {choiceLabelEnabled && (\n <StyledInputContainer label={choiceLabel && choiceLabel.label && `${singularLabel} label`}>\n <EditableHtml\n {...(model.placementArea && { autoWidthToolbar: true })}\n className=\"prompt\"\n markup={model.choiceLabel}\n onChange={this.onChoiceAreaLabelChange}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(choiceLabel?.inputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={maxChoicesImageWidth}\n maxImageHeight={maxChoicesImageHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </StyledInputContainer>\n )}\n\n {targetLabel.settings && model.placementArea && (\n <StyledInputContainer label={targetLabel && targetLabel.label && targetLabel.label}>\n <EditableHtml\n autoWidthToolbar\n className=\"prompt\"\n markup={model.targetLabel}\n onChange={this.onAnswerAreaLabelChange}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.choicesWithPlacementArea) || defaultImageMaxWidth}\n maxImageHeight={maxChoicesImageHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </StyledInputContainer>\n )}\n </StyledRow>\n\n {choices.settings && (\n <ChoiceEditor\n correctResponse={correctResponse}\n choices={model.choices}\n onChange={this.onChoiceEditorChange}\n imageSupport={imageSupport}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(choices?.inputConfiguration)}\n choicesLabel={choices.label}\n placementArea={model.placementArea}\n singularChoiceLabel={singularLabel}\n pluralChoiceLabel={pluralLabel}\n spellCheck={spellCheckEnabled}\n maxImageWidth={maxChoicesImageWidth}\n maxImageHeight={maxChoicesImageHeight}\n errors={errors || {}}\n mathMlOptions={mathMlOptions}\n ordering={ordering}\n />\n )}\n </StyledChoicesWrapper>\n\n {rationaleEnabled && (\n <StyledInputContainer label={rationale.label}>\n <EditableHtml\n className=\"prompt\"\n markup={model.rationale || ''}\n onChange={this.onRationaleChange}\n imageSupport={imageSupport}\n error={rationaleError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(rationale?.inputConfiguration)}\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\n {feedbackEnabled && (\n <FeedbackConfig\n feedback={model.feedback}\n onChange={this.onFeedbackChange}\n imageSupport={imageSupport}\n toolbarOpts={toolbarOpts}\n />\n )}\n </layout.ConfigLayout>\n </DragProvider>\n );\n }\n}\n\nDesign.defaultProps = {\n onModelChanged: () => {},\n onConfigurationChanged: () => {},\n};\n\nDesign.propTypes = {\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n onModelChanged: PropTypes.func,\n onConfigurationChanged: PropTypes.func,\n imageSupport: PropTypes.object,\n};\n\nexport default Design;\n","// @ts-nocheck\n/**\n * @synced-from pie-elements/packages/placement-ordering/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/** NOTE: teacherInstructions, studentInstructions, rationale & scoringType\n * functionalities are not defined yet - the value for those can belong to\n * model or to configuration\n */\n\nexport default {\n model: {\n choiceLabel: '',\n choiceLabelEnabled: true,\n choices: [],\n correctResponse: [],\n feedbackEnabled: false,\n numberedGuides: false,\n orientation: 'vertical',\n partialScoring: true,\n placementArea: false,\n prompt: '',\n promptEnabled: true,\n rationale: '',\n rationaleEnabled: true,\n removeTilesAfterPlacing: true,\n scoringType: 'auto',\n studentInstructionsEnabled: true,\n targetLabel: '',\n teacherInstructions: '',\n teacherInstructionsEnabled: true,\n toolbarEditorPosition: 'bottom',\n },\n configuration: {\n baseInputConfiguration: {\n h3: { disabled: true },\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n textAlign: { disabled: true },\n showParagraphs: { disabled: false },\n separateParagraphs: { disabled: true },\n },\n choiceLabel: {\n settings: true,\n label: 'Choice label',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n },\n choices: {\n settings: true,\n label: 'Choices',\n inputConfiguration: {\n audio: { disabled: true },\n video: { disabled: true },\n image: { disabled: true },\n },\n },\n feedback: {\n settings: true,\n label: 'Feedback',\n enabled: true,\n },\n prompt: {\n settings: true,\n label: 'Item Stem',\n required: false,\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n },\n numberedGuides: {\n settings: true,\n label: 'Numbered guides',\n },\n orientation: {\n settings: true,\n label: 'Orientation',\n },\n partialScoring: {\n settings: false,\n label: 'Allow Partial Scoring',\n },\n placementArea: {\n settings: true,\n label: 'Placement Area',\n },\n rationale: {\n settings: true,\n label: 'Rationale',\n required: false,\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n },\n removeTilesAfterPlacing: {\n settings: false,\n label: 'Remove Tiles after placing',\n },\n settingsPanelDisabled: false,\n scoringType: {\n settings: false,\n label: 'Scoring Type',\n },\n studentInstructions: {\n settings: false,\n label: 'Student Instructions',\n },\n targetLabel: {\n settings: true,\n label: 'Target label',\n },\n spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions',\n required: false,\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 choicesWithPlacementArea: 240,\n choicesWithoutPlacementArea: 300,\n },\n maxImageHeight: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n choices: 150,\n },\n withRubric: {\n settings: false,\n label: 'Add Rubric',\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 },\n};\n","// @ts-nocheck\n/**\n * @synced-from pie-elements/packages/placement-ordering/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 {\n ModelUpdatedEvent,\n DeleteImageEvent,\n InsertImageEvent,\n InsertSoundEvent,\n DeleteSoundEvent,\n} from '@pie-element/shared-configure-events';\n\nimport Main from './design.js';\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport defaultValues from './defaults.js';\nimport { defaults } from '@pie-element/shared-lodash';\n\nconst prepareCustomizationObject = (config, model) => {\n const configuration = defaults(config, defaultValues.configuration);\n\n return { configuration, model };\n};\n\nexport const addWeightToCorrectResponse = (correctResponse) =>\n correctResponse &&\n correctResponse.map((correct) => {\n // if weight is set\n if (correct.weight !== undefined) {\n return { id: correct.id, weight: correct.weight };\n } else {\n return { id: correct.id || correct, weight: 0 };\n }\n });\n/**\n * assuming that the correct response will be set via ui, not via config,\n * correctResponse (if not set) will be initialized with choices default order\n */\nexport default class PlacementOrdering extends HTMLElement {\n static createDefaultModel = (model = {}) => {\n const mapChoicesToReturnCorrectResponse = (choices) => choices && choices.map((ch) => ({ id: ch.id, weight: 0 }));\n\n let correctResponse =\n addWeightToCorrectResponse(model.correctResponse) || mapChoicesToReturnCorrectResponse(model.choices);\n\n const defaultModel = {\n ...defaultValues.model,\n ...model,\n };\n\n if (correctResponse) {\n defaultModel.correctResponse = correctResponse;\n }\n\n return defaultModel;\n };\n\n constructor() {\n super();\n this._root = null;\n\n this._model = PlacementOrdering.createDefaultModel();\n this._configuration = defaultValues.configuration;\n\n this.onModelChanged = (model, resetSession) => {\n this._model = model;\n this._rerender();\n this.dispatchUpdate(resetSession);\n };\n\n this.onConfigurationChanged = (configuration) => {\n this._configuration = prepareCustomizationObject(configuration).configuration;\n\n this.onModelChanged(this._model);\n this._rerender();\n };\n\n this.insertImage = (handler) => {\n this.dispatchEvent(new InsertImageEvent(handler));\n };\n\n this.deleteImage = (src, done) => {\n this.dispatchEvent(new DeleteImageEvent(src, done));\n };\n }\n\n dispatchUpdate(reset) {\n this.dispatchEvent(new ModelUpdatedEvent(this._model, reset));\n }\n\n set model(s) {\n this._model = PlacementOrdering.createDefaultModel(s);\n this._rerender();\n }\n\n set configuration(c) {\n const info = prepareCustomizationObject(c, this._model);\n\n this.onModelChanged(info.model);\n\n const newConfiguration = {\n ...defaultValues.configuration,\n ...info.configuration,\n };\n\n this._configuration = newConfiguration;\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 (newConfiguration?.language?.enabled) {\n if (newConfiguration?.languageChoices?.options?.length) {\n this._model.language = newConfiguration?.languageChoices.options[0].value;\n }\n } else if (newConfiguration.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._rerender();\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 _rerender() {\n let element = React.createElement(Main, {\n model: this._model,\n configuration: this._configuration,\n onModelChanged: this.onModelChanged,\n onConfigurationChanged: this.onConfigurationChanged,\n imageSupport: {\n add: this.insertImage,\n delete: this.deleteImage,\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._rerender();\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,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,170,172,175,176,177,178,179,180,182,183,184,213,232,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,272,281,282,283,284,285,286,295,296],"mappings":"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C,KAAK,EAAC,GAAG;AAChF,EAAA,CAAG,GAAG,KAAI;CACT;EACC,YAAY,MAAM,KAAK,KAAK,KAAK;EACjC,KAAK;GACJ,CAAC,IAAG,EAAC;GACL,CAAC,IAAG,EAAC;GACL,CAAC,IAAG,EAAC;GACL,CAAC,IAAG,EAAC;EACN;CACD;CACA;EACC,YAAY,MAAM,KAAK,KAAK,KAAK;EACjC,KAAK;GACJ;IACC;IACA;IACA;GACD;GACA;IACC;IACA;IACA;GACD;GACA;IACC;IACA;IACA;IACA;GACD;GACA;IACC;IACA;IACA;IACA;GACD;GACA;IACC;IACA;IACA;IACA;GACD;EACD;CACD;CACA;EACC,YAAY,MAAM,KAAK,KAAK,MAAM;EAClC,KAAK;CACN;CACA;EACC,WAAW;EACX,KAAK;GACJ;IACC,EAAE;IACF,EAAE;IACF,EAAE;GACH;GACA;IACC,EAAE;IACF,EAAE;IACF,EAAE;GACH;GACA;IACC,EAAE;IACF,EAAE;IACF,EAAE;GACH;GACA;IACC,EAAE;IACF;KACC,MAAM;KACN,OAAO;KACP,OAAO;IACR;IACA;KACC,MAAM;KACN,OAAO;KACP,OAAO;IACR;GACD;GACA;IACC;IACA;IACA;GACD;EACD;CACD;CACA;EACC,WAAW;EACX,KAAK;GACJ;IACC,EAAE;IACF,EAAE;IACF,EAAE;GACH;GACA;IACC,EAAE;IACF,EAAE;IACF,EAAE;GACH;GACA;IACC,EAAE;IACF,EAAE;IACF,EAAE;GACH;GACA;IACC,EAAE;IACF;KACC,MAAM;KACN,OAAO;KACP,OAAO;IACR;IACA;GACD;GACA;IACC;IACA;IACA;GACD;EACD;CACD;CACA;EACC,WAAW;EACX,KAAK;GACJ;IACC,EAAE;IACF,EAAE;IACF,EAAE;GACH;GACA;IACC,EAAE;IACF,EAAE;IACF,EAAE;GACH;GACA;IACC,EAAE;IACF,EAAE;IACF,EAAE;GACH;GACA;IACC,EAAE;IACF,EAAE;IACF;GACD;GACA;IACC;IACA;IACA;GACD;EACD;CACD;CACA;EACC,WAAW;EACX,KAAK;GACJ;IACC,EAAE;IACF,EAAE;IACF,EAAE;GACH;GACA;IACC,EAAE;IACF,EAAE;IACF,EAAE;GACH;GACA;IACC,EAAE;IACF,EAAE;IACF,EAAE;GACH;GACA;IACC,EAAE;IACF;IACA;GACD;GACA;IACC;IACA;IACA;GACD;EACD;CACD;CACA;EACC,WAAW;EACX,KAAK;GACJ;IACC;IACA;IACA;IACA;IACA;IACA;GACD;GACA;IACC;IACA;IACA;IACA;IACA;IACA;GACD;GACA;IACC;IACA;IACA;IACA;IACA;IACA;GACD;GACA;IACC;IACA;IACA;IACA;IACA;IACA;GACD;GACA;IACC;IACA;IACA;IACA;IACA;IACA;GACD;EACD;CACD;CACA;EACC,WAAW;EACX,KAAK;CACN;CACA;EACC,WAAW;EACX,KAAK;CACN;CACA;EACC,WAAW;EACX,KAAK;GACJ;IACC;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACD;GACA;IACC;IACA;IACA;KACC,MAAM;KACN,OAAO;KACP,OAAO;IACR;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACD;GACA;IACC;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACD;GACA;IACC;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACD;GACA;IACC;IACA;IACA;KACC,MAAM;KACN,OAAO;KACP,OAAO;IACR;IACA;KACC,MAAM;KACN,OAAO;KACP,OAAO;IACR;IACA;IACA;KACC,MAAM;KACN,OAAO;KACP,OAAO;IACR;IACA;KACC,MAAM;KACN,OAAO;KACP,OAAO;IACR;IACA;IACA;IACA;GACD;EACD;CACD;CACA;EACC,YAAY,MAAM,KAAK,KAAK,KAAK;EACjC,KAAK,CAAC;CACP;AACD,GAAG,MAAM,MAAM;CACd,IAAI,IAAI,SAAS,GAAG,EAAE;CACtB,IAAI,IAAI,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC;CACtC,IAAI,IAAI,GAAE,MAAM,MAAM,OAAO,EAAE,aAAa,WAAW,E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AK,EAAE,MAAM,CAAC,GAAG,OAAO;EAC3H,IAAI,IAAI,SAAS,GAAG,EAAE;EACtB,OAAO,OAAO,MAAM,CAAC,IAAI,IAAI,GAAG,EAAE;CACnC;CACA,IAAI,OAAO,KAAK,UAAU,OAAO,GAAG,EAAE;AACvC,GCPI,KAAI,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,SAAS;CACnC,YAAY;CACZ,UAAU,EAAE,WAAW;CACvB,YAAY;CACZ,YAAY;CACZ,UAAU;CACV,KAAK;CACL,OAAO;CACP,QAAQ;CACR,YAAY;AACb,EAAE,GAAG,WAA0B,kBAAE,IAAG,EAAE,UAAU,kBAAkB,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;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;CACD;AACD,GCxcI,WAA0B,kBAAE,OAAO;CACtC,OAAO;CACP,QAAQ;CACR,SAAS;CACT,MAAM;CACN,OAAO;CACP,eAAe;CACf,WAAW;CACX,UAA0B,kBAAE,QAAQ;EACnC,GAAG;EACH,MAAM;CACP,CAAC;AACF,CAAC,GAAG,WAA0B,kBAAE,OAAO;CACtC,OAAO;CACP,QAAQ;CACR,SAAS;CACT,MAAM;CACN,OAAO;CACP,eAAe;CACf,WAAW;CACX,UAA0B,kBAAE,QAAQ;EACnC,GAAG;EACH,MAAM;CACP,CAAC;AACF,CAAC,GAAG,WAA0B,kBAAE,OAAO;CACtC,OAAO;CACP,QAAQ;CACR,SAAS;CACT,MAAM;CACN,OAAO;CACP,eAAe;CACf,WAAW;CACX,UAA0B,kBAAE,QAAQ;EACnC,GAAG;EACH,MAAM;CACP,CAAC;AACF,CAAC,GAAG,WAA0B,kBAAE,OAAO;CACtC,OAAO;CACP,QAAQ;CACR,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"}