@viswa-test/test-citation 0.0.384 → 0.0.385

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 (501) hide show
  1. package/dist/_virtual/_commonjsHelpers.js +2 -0
  2. package/dist/_virtual/_commonjsHelpers.js.map +1 -0
  3. package/dist/_virtual/index.js +2 -0
  4. package/dist/_virtual/index.js.map +1 -0
  5. package/dist/_virtual/index2.js +2 -0
  6. package/dist/_virtual/index2.js.map +1 -0
  7. package/dist/_virtual/index3.js +2 -0
  8. package/dist/_virtual/index3.js.map +1 -0
  9. package/dist/_virtual/index4.js +2 -0
  10. package/dist/_virtual/index4.js.map +1 -0
  11. package/dist/_virtual/index5.js +2 -0
  12. package/dist/_virtual/index5.js.map +1 -0
  13. package/dist/_virtual/react-is.development.js +2 -0
  14. package/dist/_virtual/react-is.development.js.map +1 -0
  15. package/dist/_virtual/react-is.development2.js +2 -0
  16. package/dist/_virtual/react-is.development2.js.map +1 -0
  17. package/dist/_virtual/react-is.production.js +2 -0
  18. package/dist/_virtual/react-is.production.js.map +1 -0
  19. package/dist/_virtual/react-is.production.min.js +2 -0
  20. package/dist/_virtual/react-is.production.min.js.map +1 -0
  21. package/dist/assests/svg/chevronDownArrow.svg.js.map +1 -1
  22. package/dist/assests/svg/chevronUp.svg.js.map +1 -1
  23. package/dist/cjs/_virtual/_commonjsHelpers.js +2 -0
  24. package/dist/cjs/_virtual/_commonjsHelpers.js.map +1 -0
  25. package/dist/cjs/_virtual/index.js +2 -0
  26. package/dist/cjs/_virtual/index.js.map +1 -0
  27. package/dist/cjs/_virtual/index2.js +2 -0
  28. package/dist/cjs/_virtual/index2.js.map +1 -0
  29. package/dist/cjs/_virtual/index3.js +2 -0
  30. package/dist/cjs/_virtual/index3.js.map +1 -0
  31. package/dist/cjs/_virtual/index4.js +2 -0
  32. package/dist/cjs/_virtual/index4.js.map +1 -0
  33. package/dist/cjs/_virtual/index5.js +2 -0
  34. package/dist/cjs/_virtual/index5.js.map +1 -0
  35. package/dist/cjs/_virtual/react-is.development.js +2 -0
  36. package/dist/cjs/_virtual/react-is.development.js.map +1 -0
  37. package/dist/cjs/_virtual/react-is.development2.js +2 -0
  38. package/dist/cjs/_virtual/react-is.development2.js.map +1 -0
  39. package/dist/cjs/_virtual/react-is.production.js +2 -0
  40. package/dist/cjs/_virtual/react-is.production.js.map +1 -0
  41. package/dist/cjs/_virtual/react-is.production.min.js +2 -0
  42. package/dist/cjs/_virtual/react-is.production.min.js.map +1 -0
  43. package/dist/cjs/assests/svg/chevronDownArrow.svg.js.map +1 -1
  44. package/dist/cjs/assests/svg/chevronUp.svg.js.map +1 -1
  45. package/dist/cjs/features/Bookemon/BookDetailsCard/BookDetailsCard.js +1 -1
  46. package/dist/cjs/features/Bookemon/BookDetailsCard/BookDetailsCard.js.map +1 -1
  47. package/dist/cjs/features/Bookemon/BookElementsCard/BookElementsCard.js +1 -1
  48. package/dist/cjs/features/Bookemon/BookElementsCard/BookElementsCard.js.map +1 -1
  49. package/dist/cjs/features/Bookemon/BookOverviewCard/BookOverviewCard.js +1 -1
  50. package/dist/cjs/features/Bookemon/BookOverviewCard/BookOverviewCard.js.map +1 -1
  51. package/dist/cjs/features/Bookemon/BookPeopleAwardsCard/BookPeopleAwardsCard.js +1 -1
  52. package/dist/cjs/features/Bookemon/BookPeopleAwardsCard/BookPeopleAwardsCard.js.map +1 -1
  53. package/dist/cjs/features/Bookemon/BookPreview/BookPreview.js +1 -1
  54. package/dist/cjs/features/Bookemon/BookPreview/BookPreview.js.map +1 -1
  55. package/dist/cjs/features/ChatCitation/InternalChatCitationRenderer.js +1 -1
  56. package/dist/cjs/features/ChatCitation/InternalChatCitationRenderer.js.map +1 -1
  57. package/dist/cjs/features/ChatCitation/assets/cw_chat.svg.js.map +1 -1
  58. package/dist/cjs/features/ChatCitation/assets/message-chat-square.svg.js.map +1 -1
  59. package/dist/cjs/features/CitationRenderer/MarkdownRenderer.js +1 -1
  60. package/dist/cjs/features/CitationRenderer/MarkdownRenderer.js.map +1 -1
  61. package/dist/cjs/features/ExcelCitation/ExcelCitations.js +1 -1
  62. package/dist/cjs/features/ExcelCitation/ExcelCitations.js.map +1 -1
  63. package/dist/cjs/features/PdfViewer/PdfViewer.js +1 -1
  64. package/dist/cjs/features/PdfViewer/PdfViewer.js.map +1 -1
  65. package/dist/cjs/features/ReviewPanel/ReviewPanel.js +1 -1
  66. package/dist/cjs/features/ReviewPanel/ReviewPanel.js.map +1 -1
  67. package/dist/cjs/features/SPBAnalysisPanel/Cognitivereasoningpanel.js +1 -1
  68. package/dist/cjs/features/SPBAnalysisPanel/Cognitivereasoningpanel.js.map +1 -1
  69. package/dist/cjs/features/TableCitation/TableCitationContent.js +1 -1
  70. package/dist/cjs/features/TableCitation/TableCitationContent.js.map +1 -1
  71. package/dist/cjs/node_modules/.pnpm/@emotion_hash@0.9.2/node_modules/@emotion/hash/dist/emotion-hash.esm.js +2 -0
  72. package/dist/cjs/node_modules/.pnpm/@emotion_hash@0.9.2/node_modules/@emotion/hash/dist/emotion-hash.esm.js.map +1 -0
  73. package/dist/cjs/node_modules/.pnpm/@emotion_memoize@0.9.0/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js +2 -0
  74. package/dist/cjs/node_modules/.pnpm/@emotion_memoize@0.9.0/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js.map +1 -0
  75. package/dist/cjs/node_modules/.pnpm/@emotion_serialize@1.3.3/node_modules/@emotion/serialize/dist/emotion-serialize.esm.js +2 -0
  76. package/dist/cjs/node_modules/.pnpm/@emotion_serialize@1.3.3/node_modules/@emotion/serialize/dist/emotion-serialize.esm.js.map +1 -0
  77. package/dist/cjs/node_modules/.pnpm/@emotion_unitless@0.10.0/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js +2 -0
  78. package/dist/cjs/node_modules/.pnpm/@emotion_unitless@0.10.0/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js.map +1 -0
  79. package/dist/cjs/node_modules/.pnpm/@mui_private-theming@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/private-theming/ThemeProvider/ThemeProvider.js +2 -0
  80. package/dist/cjs/node_modules/.pnpm/@mui_private-theming@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/private-theming/ThemeProvider/ThemeProvider.js.map +1 -0
  81. package/dist/cjs/node_modules/.pnpm/@mui_private-theming@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/private-theming/ThemeProvider/nested.js +2 -0
  82. package/dist/cjs/node_modules/.pnpm/@mui_private-theming@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/private-theming/ThemeProvider/nested.js.map +1 -0
  83. package/dist/cjs/node_modules/.pnpm/@mui_private-theming@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/private-theming/useTheme/ThemeContext.js +2 -0
  84. package/dist/cjs/node_modules/.pnpm/@mui_private-theming@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/private-theming/useTheme/ThemeContext.js.map +1 -0
  85. package/dist/cjs/node_modules/.pnpm/@mui_private-theming@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/private-theming/useTheme/useTheme.js +2 -0
  86. package/dist/cjs/node_modules/.pnpm/@mui_private-theming@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/private-theming/useTheme/useTheme.js.map +1 -0
  87. package/dist/cjs/node_modules/.pnpm/@mui_styled-engine@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_suppo_4520a21969629b42d6140ade25533e86/node_modules/@mui/styled-engine/GlobalStyles/GlobalStyles.js +2 -0
  88. package/dist/cjs/node_modules/.pnpm/@mui_styled-engine@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_suppo_4520a21969629b42d6140ade25533e86/node_modules/@mui/styled-engine/GlobalStyles/GlobalStyles.js.map +1 -0
  89. package/dist/cjs/node_modules/.pnpm/@mui_styled-engine@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_suppo_4520a21969629b42d6140ade25533e86/node_modules/@mui/styled-engine/StyledEngineProvider/StyledEngineProvider.js +2 -0
  90. package/dist/cjs/node_modules/.pnpm/@mui_styled-engine@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_suppo_4520a21969629b42d6140ade25533e86/node_modules/@mui/styled-engine/StyledEngineProvider/StyledEngineProvider.js.map +1 -0
  91. package/dist/cjs/node_modules/.pnpm/@mui_styled-engine@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_suppo_4520a21969629b42d6140ade25533e86/node_modules/@mui/styled-engine/index.js +9 -0
  92. package/dist/cjs/node_modules/.pnpm/@mui_styled-engine@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_suppo_4520a21969629b42d6140ade25533e86/node_modules/@mui/styled-engine/index.js.map +1 -0
  93. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Box/Box.js +2 -0
  94. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Box/Box.js.map +1 -0
  95. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Box/boxClasses.js +2 -0
  96. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Box/boxClasses.js.map +1 -0
  97. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Container/Container.js +2 -0
  98. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Container/Container.js.map +1 -0
  99. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Container/containerClasses.js +2 -0
  100. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Container/containerClasses.js.map +1 -0
  101. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Container/createContainer.js +2 -0
  102. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Container/createContainer.js.map +1 -0
  103. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/DefaultPropsProvider/DefaultPropsProvider.js +2 -0
  104. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/DefaultPropsProvider/DefaultPropsProvider.js.map +1 -0
  105. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/GlobalStyles/GlobalStyles.js +2 -0
  106. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/GlobalStyles/GlobalStyles.js.map +1 -0
  107. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Grid/Grid.js +2 -0
  108. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Grid/Grid.js.map +1 -0
  109. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Grid/createGrid.js +2 -0
  110. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Grid/createGrid.js.map +1 -0
  111. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Grid/deleteLegacyGridProps.js +2 -0
  112. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Grid/deleteLegacyGridProps.js.map +1 -0
  113. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Grid/gridClasses.js +2 -0
  114. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Grid/gridClasses.js.map +1 -0
  115. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Grid/gridGenerator.js +2 -0
  116. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Grid/gridGenerator.js.map +1 -0
  117. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Grid/traverseBreakpoints.js +2 -0
  118. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Grid/traverseBreakpoints.js.map +1 -0
  119. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/RtlProvider/index.js +2 -0
  120. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/RtlProvider/index.js.map +1 -0
  121. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Stack/Stack.js +2 -0
  122. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Stack/Stack.js.map +1 -0
  123. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Stack/createStack.js +2 -0
  124. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Stack/createStack.js.map +1 -0
  125. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Stack/stackClasses.js +2 -0
  126. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Stack/stackClasses.js.map +1 -0
  127. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/ThemeProvider/ThemeProvider.js +2 -0
  128. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/ThemeProvider/ThemeProvider.js.map +1 -0
  129. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/ThemeProvider/useLayerOrder.js +2 -0
  130. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/ThemeProvider/useLayerOrder.js.map +1 -0
  131. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/borders/borders.js +2 -0
  132. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/borders/borders.js.map +1 -0
  133. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/breakpoints/breakpoints.js +2 -0
  134. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/breakpoints/breakpoints.js.map +1 -0
  135. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/compose/compose.js +2 -0
  136. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/compose/compose.js.map +1 -0
  137. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/createBox/createBox.js +2 -0
  138. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/createBox/createBox.js.map +1 -0
  139. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/createBreakpoints/createBreakpoints.js +2 -0
  140. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/createBreakpoints/createBreakpoints.js.map +1 -0
  141. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/createStyled/createStyled.js +2 -0
  142. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/createStyled/createStyled.js.map +1 -0
  143. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/createTheme/applyStyles.js +2 -0
  144. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/createTheme/applyStyles.js.map +1 -0
  145. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/createTheme/createSpacing.js +2 -0
  146. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/createTheme/createSpacing.js.map +1 -0
  147. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/createTheme/createTheme.js +2 -0
  148. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/createTheme/createTheme.js.map +1 -0
  149. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/createTheme/shape.js +2 -0
  150. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/createTheme/shape.js.map +1 -0
  151. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/cssContainerQueries/cssContainerQueries.js +2 -0
  152. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/cssContainerQueries/cssContainerQueries.js.map +1 -0
  153. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/cssGrid/cssGrid.js +2 -0
  154. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/cssGrid/cssGrid.js.map +1 -0
  155. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/display/display.js +2 -0
  156. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/display/display.js.map +1 -0
  157. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/flexbox/flexbox.js +2 -0
  158. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/flexbox/flexbox.js.map +1 -0
  159. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/getThemeValue/getThemeValue.js +2 -0
  160. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/getThemeValue/getThemeValue.js.map +1 -0
  161. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/memoize/memoize.js +2 -0
  162. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/memoize/memoize.js.map +1 -0
  163. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/merge/merge.js +2 -0
  164. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/merge/merge.js.map +1 -0
  165. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/palette/palette.js +2 -0
  166. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/palette/palette.js.map +1 -0
  167. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/positions/positions.js +2 -0
  168. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/positions/positions.js.map +1 -0
  169. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/preprocessStyles.js +2 -0
  170. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/preprocessStyles.js.map +1 -0
  171. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/responsivePropType/responsivePropType.js +2 -0
  172. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/responsivePropType/responsivePropType.js.map +1 -0
  173. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/shadows/shadows.js +2 -0
  174. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/shadows/shadows.js.map +1 -0
  175. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/sizing/sizing.js +2 -0
  176. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/sizing/sizing.js.map +1 -0
  177. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/spacing/spacing.js +2 -0
  178. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/spacing/spacing.js.map +1 -0
  179. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/style/style.js +2 -0
  180. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/style/style.js.map +1 -0
  181. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/styleFunctionSx/defaultSxConfig.js +2 -0
  182. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/styleFunctionSx/defaultSxConfig.js.map +1 -0
  183. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/styleFunctionSx/extendSxProp.js +2 -0
  184. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/styleFunctionSx/extendSxProp.js.map +1 -0
  185. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.js +2 -0
  186. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.js.map +1 -0
  187. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/styled/styled.js +2 -0
  188. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/styled/styled.js.map +1 -0
  189. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/typography/typography.js +2 -0
  190. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/typography/typography.js.map +1 -0
  191. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/useTheme/useTheme.js +2 -0
  192. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/useTheme/useTheme.js.map +1 -0
  193. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/useThemeProps/getThemeProps.js +2 -0
  194. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/useThemeProps/getThemeProps.js.map +1 -0
  195. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/useThemeProps/useThemeProps.js +2 -0
  196. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/useThemeProps/useThemeProps.js.map +1 -0
  197. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/useThemeWithoutDefault/useThemeWithoutDefault.js +2 -0
  198. package/dist/cjs/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/useThemeWithoutDefault/useThemeWithoutDefault.js.map +1 -0
  199. package/dist/cjs/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/ClassNameGenerator/ClassNameGenerator.js +2 -0
  200. package/dist/cjs/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/ClassNameGenerator/ClassNameGenerator.js.map +1 -0
  201. package/dist/cjs/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/capitalize/capitalize.js +2 -0
  202. package/dist/cjs/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/capitalize/capitalize.js.map +1 -0
  203. package/dist/cjs/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/chainPropTypes/chainPropTypes.js +2 -0
  204. package/dist/cjs/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/chainPropTypes/chainPropTypes.js.map +1 -0
  205. package/dist/cjs/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/composeClasses/composeClasses.js +2 -0
  206. package/dist/cjs/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/composeClasses/composeClasses.js.map +1 -0
  207. package/dist/cjs/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/deepmerge/deepmerge.js +2 -0
  208. package/dist/cjs/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/deepmerge/deepmerge.js.map +1 -0
  209. package/dist/cjs/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/elementAcceptingRef/elementAcceptingRef.js +2 -0
  210. package/dist/cjs/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/elementAcceptingRef/elementAcceptingRef.js.map +1 -0
  211. package/dist/cjs/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/elementTypeAcceptingRef/elementTypeAcceptingRef.js +2 -0
  212. package/dist/cjs/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/elementTypeAcceptingRef/elementTypeAcceptingRef.js.map +1 -0
  213. package/dist/cjs/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/exactProp/exactProp.js +2 -0
  214. package/dist/cjs/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/exactProp/exactProp.js.map +1 -0
  215. package/dist/cjs/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/formatMuiErrorMessage/formatMuiErrorMessage.js +2 -0
  216. package/dist/cjs/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/formatMuiErrorMessage/formatMuiErrorMessage.js.map +1 -0
  217. package/dist/cjs/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.js +2 -0
  218. package/dist/cjs/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.js.map +1 -0
  219. package/dist/cjs/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.js +2 -0
  220. package/dist/cjs/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.js.map +1 -0
  221. package/dist/cjs/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/getDisplayName/getDisplayName.js +2 -0
  222. package/dist/cjs/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/getDisplayName/getDisplayName.js.map +1 -0
  223. package/dist/cjs/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/integerPropType/integerPropType.js +2 -0
  224. package/dist/cjs/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/integerPropType/integerPropType.js.map +1 -0
  225. package/dist/cjs/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/isMuiElement/isMuiElement.js +2 -0
  226. package/dist/cjs/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/isMuiElement/isMuiElement.js.map +1 -0
  227. package/dist/cjs/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/ponyfillGlobal/ponyfillGlobal.js +2 -0
  228. package/dist/cjs/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/ponyfillGlobal/ponyfillGlobal.js.map +1 -0
  229. package/dist/cjs/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/refType/refType.js +2 -0
  230. package/dist/cjs/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/refType/refType.js.map +1 -0
  231. package/dist/cjs/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/resolveProps/resolveProps.js +2 -0
  232. package/dist/cjs/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/resolveProps/resolveProps.js.map +1 -0
  233. package/dist/cjs/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/useEnhancedEffect/useEnhancedEffect.js +2 -0
  234. package/dist/cjs/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/useEnhancedEffect/useEnhancedEffect.js.map +1 -0
  235. package/dist/cjs/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/useId/useId.js +2 -0
  236. package/dist/cjs/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/useId/useId.js.map +1 -0
  237. package/dist/cjs/node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs.js +2 -0
  238. package/dist/cjs/node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs.js.map +1 -0
  239. package/dist/cjs/node_modules/.pnpm/object-assign@4.1.1/node_modules/object-assign/index.js +8 -0
  240. package/dist/cjs/node_modules/.pnpm/object-assign@4.1.1/node_modules/object-assign/index.js.map +1 -0
  241. package/dist/cjs/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/checkPropTypes.js +2 -0
  242. package/dist/cjs/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/checkPropTypes.js.map +1 -0
  243. package/dist/cjs/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/factoryWithThrowingShims.js +2 -0
  244. package/dist/cjs/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/factoryWithThrowingShims.js.map +1 -0
  245. package/dist/cjs/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/factoryWithTypeCheckers.js +2 -0
  246. package/dist/cjs/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/factoryWithTypeCheckers.js.map +1 -0
  247. package/dist/cjs/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/index.js +2 -0
  248. package/dist/cjs/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/index.js.map +1 -0
  249. package/dist/cjs/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/lib/ReactPropTypesSecret.js +2 -0
  250. package/dist/cjs/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/lib/ReactPropTypesSecret.js.map +1 -0
  251. package/dist/cjs/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/lib/has.js +2 -0
  252. package/dist/cjs/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/lib/has.js.map +1 -0
  253. package/dist/cjs/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/cjs/react-is.development.js +10 -0
  254. package/dist/cjs/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/cjs/react-is.development.js.map +1 -0
  255. package/dist/cjs/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/cjs/react-is.production.min.js +10 -0
  256. package/dist/cjs/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/cjs/react-is.production.min.js.map +1 -0
  257. package/dist/cjs/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/index.js +2 -0
  258. package/dist/cjs/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/index.js.map +1 -0
  259. package/dist/cjs/node_modules/.pnpm/react-is@19.2.8/node_modules/react-is/cjs/react-is.development.js +11 -0
  260. package/dist/cjs/node_modules/.pnpm/react-is@19.2.8/node_modules/react-is/cjs/react-is.development.js.map +1 -0
  261. package/dist/cjs/node_modules/.pnpm/react-is@19.2.8/node_modules/react-is/cjs/react-is.production.js +11 -0
  262. package/dist/cjs/node_modules/.pnpm/react-is@19.2.8/node_modules/react-is/cjs/react-is.production.js.map +1 -0
  263. package/dist/cjs/node_modules/.pnpm/react-is@19.2.8/node_modules/react-is/index.js +2 -0
  264. package/dist/cjs/node_modules/.pnpm/react-is@19.2.8/node_modules/react-is/index.js.map +1 -0
  265. package/dist/cjs/node_modules/.pnpm/unist-util-is@6.0.1/node_modules/unist-util-is/lib/index.js +2 -0
  266. package/dist/cjs/node_modules/.pnpm/unist-util-is@6.0.1/node_modules/unist-util-is/lib/index.js.map +1 -0
  267. package/dist/cjs/node_modules/.pnpm/unist-util-visit-parents@6.0.2/node_modules/unist-util-visit-parents/lib/color.js +2 -0
  268. package/dist/cjs/node_modules/.pnpm/unist-util-visit-parents@6.0.2/node_modules/unist-util-visit-parents/lib/color.js.map +1 -0
  269. package/dist/cjs/node_modules/.pnpm/unist-util-visit-parents@6.0.2/node_modules/unist-util-visit-parents/lib/index.js +2 -0
  270. package/dist/cjs/node_modules/.pnpm/unist-util-visit-parents@6.0.2/node_modules/unist-util-visit-parents/lib/index.js.map +1 -0
  271. package/dist/cjs/node_modules/.pnpm/unist-util-visit@5.1.0/node_modules/unist-util-visit/lib/index.js +2 -0
  272. package/dist/cjs/node_modules/.pnpm/unist-util-visit@5.1.0/node_modules/unist-util-visit/lib/index.js.map +1 -0
  273. package/dist/features/Bookemon/BookDetailsCard/BookDetailsCard.js +1 -1
  274. package/dist/features/Bookemon/BookDetailsCard/BookDetailsCard.js.map +1 -1
  275. package/dist/features/Bookemon/BookElementsCard/BookElementsCard.js +1 -1
  276. package/dist/features/Bookemon/BookElementsCard/BookElementsCard.js.map +1 -1
  277. package/dist/features/Bookemon/BookOverviewCard/BookOverviewCard.js +1 -1
  278. package/dist/features/Bookemon/BookOverviewCard/BookOverviewCard.js.map +1 -1
  279. package/dist/features/Bookemon/BookPeopleAwardsCard/BookPeopleAwardsCard.js +1 -1
  280. package/dist/features/Bookemon/BookPeopleAwardsCard/BookPeopleAwardsCard.js.map +1 -1
  281. package/dist/features/Bookemon/BookPreview/BookPreview.js +1 -1
  282. package/dist/features/Bookemon/BookPreview/BookPreview.js.map +1 -1
  283. package/dist/features/ChatCitation/InternalChatCitationRenderer.js +1 -1
  284. package/dist/features/ChatCitation/InternalChatCitationRenderer.js.map +1 -1
  285. package/dist/features/ChatCitation/assets/cw_chat.svg.js.map +1 -1
  286. package/dist/features/ChatCitation/assets/message-chat-square.svg.js.map +1 -1
  287. package/dist/features/CitationRenderer/MarkdownRenderer.js +1 -1
  288. package/dist/features/CitationRenderer/MarkdownRenderer.js.map +1 -1
  289. package/dist/features/ExcelCitation/ExcelCitations.js +1 -1
  290. package/dist/features/ExcelCitation/ExcelCitations.js.map +1 -1
  291. package/dist/features/PdfViewer/PdfViewer.js +1 -1
  292. package/dist/features/PdfViewer/PdfViewer.js.map +1 -1
  293. package/dist/features/ReviewPanel/ReviewPanel.js +1 -1
  294. package/dist/features/ReviewPanel/ReviewPanel.js.map +1 -1
  295. package/dist/features/SPBAnalysisPanel/Cognitivereasoningpanel.js +1 -1
  296. package/dist/features/SPBAnalysisPanel/Cognitivereasoningpanel.js.map +1 -1
  297. package/dist/features/TableCitation/TableCitationContent.js +1 -1
  298. package/dist/features/TableCitation/TableCitationContent.js.map +1 -1
  299. package/dist/node_modules/.pnpm/@emotion_hash@0.9.2/node_modules/@emotion/hash/dist/emotion-hash.esm.js +2 -0
  300. package/dist/node_modules/.pnpm/@emotion_hash@0.9.2/node_modules/@emotion/hash/dist/emotion-hash.esm.js.map +1 -0
  301. package/dist/node_modules/.pnpm/@emotion_memoize@0.9.0/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js +2 -0
  302. package/dist/node_modules/.pnpm/@emotion_memoize@0.9.0/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js.map +1 -0
  303. package/dist/node_modules/.pnpm/@emotion_serialize@1.3.3/node_modules/@emotion/serialize/dist/emotion-serialize.esm.js +2 -0
  304. package/dist/node_modules/.pnpm/@emotion_serialize@1.3.3/node_modules/@emotion/serialize/dist/emotion-serialize.esm.js.map +1 -0
  305. package/dist/node_modules/.pnpm/@emotion_unitless@0.10.0/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js +2 -0
  306. package/dist/node_modules/.pnpm/@emotion_unitless@0.10.0/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js.map +1 -0
  307. package/dist/node_modules/.pnpm/@mui_private-theming@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/private-theming/ThemeProvider/ThemeProvider.js +2 -0
  308. package/dist/node_modules/.pnpm/@mui_private-theming@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/private-theming/ThemeProvider/ThemeProvider.js.map +1 -0
  309. package/dist/node_modules/.pnpm/@mui_private-theming@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/private-theming/ThemeProvider/nested.js +2 -0
  310. package/dist/node_modules/.pnpm/@mui_private-theming@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/private-theming/ThemeProvider/nested.js.map +1 -0
  311. package/dist/node_modules/.pnpm/@mui_private-theming@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/private-theming/useTheme/ThemeContext.js +2 -0
  312. package/dist/node_modules/.pnpm/@mui_private-theming@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/private-theming/useTheme/ThemeContext.js.map +1 -0
  313. package/dist/node_modules/.pnpm/@mui_private-theming@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/private-theming/useTheme/useTheme.js +2 -0
  314. package/dist/node_modules/.pnpm/@mui_private-theming@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/private-theming/useTheme/useTheme.js.map +1 -0
  315. package/dist/node_modules/.pnpm/@mui_styled-engine@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_suppo_4520a21969629b42d6140ade25533e86/node_modules/@mui/styled-engine/GlobalStyles/GlobalStyles.js +2 -0
  316. package/dist/node_modules/.pnpm/@mui_styled-engine@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_suppo_4520a21969629b42d6140ade25533e86/node_modules/@mui/styled-engine/GlobalStyles/GlobalStyles.js.map +1 -0
  317. package/dist/node_modules/.pnpm/@mui_styled-engine@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_suppo_4520a21969629b42d6140ade25533e86/node_modules/@mui/styled-engine/StyledEngineProvider/StyledEngineProvider.js +2 -0
  318. package/dist/node_modules/.pnpm/@mui_styled-engine@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_suppo_4520a21969629b42d6140ade25533e86/node_modules/@mui/styled-engine/StyledEngineProvider/StyledEngineProvider.js.map +1 -0
  319. package/dist/node_modules/.pnpm/@mui_styled-engine@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_suppo_4520a21969629b42d6140ade25533e86/node_modules/@mui/styled-engine/index.js +9 -0
  320. package/dist/node_modules/.pnpm/@mui_styled-engine@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_suppo_4520a21969629b42d6140ade25533e86/node_modules/@mui/styled-engine/index.js.map +1 -0
  321. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Box/Box.js +2 -0
  322. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Box/Box.js.map +1 -0
  323. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Box/boxClasses.js +2 -0
  324. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Box/boxClasses.js.map +1 -0
  325. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Container/Container.js +2 -0
  326. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Container/Container.js.map +1 -0
  327. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Container/containerClasses.js +2 -0
  328. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Container/containerClasses.js.map +1 -0
  329. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Container/createContainer.js +2 -0
  330. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Container/createContainer.js.map +1 -0
  331. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/DefaultPropsProvider/DefaultPropsProvider.js +2 -0
  332. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/DefaultPropsProvider/DefaultPropsProvider.js.map +1 -0
  333. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/GlobalStyles/GlobalStyles.js +2 -0
  334. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/GlobalStyles/GlobalStyles.js.map +1 -0
  335. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Grid/Grid.js +2 -0
  336. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Grid/Grid.js.map +1 -0
  337. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Grid/createGrid.js +2 -0
  338. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Grid/createGrid.js.map +1 -0
  339. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Grid/deleteLegacyGridProps.js +2 -0
  340. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Grid/deleteLegacyGridProps.js.map +1 -0
  341. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Grid/gridClasses.js +2 -0
  342. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Grid/gridClasses.js.map +1 -0
  343. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Grid/gridGenerator.js +2 -0
  344. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Grid/gridGenerator.js.map +1 -0
  345. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Grid/traverseBreakpoints.js +2 -0
  346. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Grid/traverseBreakpoints.js.map +1 -0
  347. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/RtlProvider/index.js +2 -0
  348. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/RtlProvider/index.js.map +1 -0
  349. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Stack/Stack.js +2 -0
  350. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Stack/Stack.js.map +1 -0
  351. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Stack/createStack.js +2 -0
  352. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Stack/createStack.js.map +1 -0
  353. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Stack/stackClasses.js +2 -0
  354. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/Stack/stackClasses.js.map +1 -0
  355. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/ThemeProvider/ThemeProvider.js +2 -0
  356. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/ThemeProvider/ThemeProvider.js.map +1 -0
  357. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/ThemeProvider/useLayerOrder.js +2 -0
  358. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/ThemeProvider/useLayerOrder.js.map +1 -0
  359. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/borders/borders.js +2 -0
  360. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/borders/borders.js.map +1 -0
  361. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/breakpoints/breakpoints.js +2 -0
  362. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/breakpoints/breakpoints.js.map +1 -0
  363. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/compose/compose.js +2 -0
  364. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/compose/compose.js.map +1 -0
  365. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/createBox/createBox.js +2 -0
  366. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/createBox/createBox.js.map +1 -0
  367. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/createBreakpoints/createBreakpoints.js +2 -0
  368. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/createBreakpoints/createBreakpoints.js.map +1 -0
  369. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/createStyled/createStyled.js +2 -0
  370. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/createStyled/createStyled.js.map +1 -0
  371. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/createTheme/applyStyles.js +2 -0
  372. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/createTheme/applyStyles.js.map +1 -0
  373. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/createTheme/createSpacing.js +2 -0
  374. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/createTheme/createSpacing.js.map +1 -0
  375. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/createTheme/createTheme.js +2 -0
  376. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/createTheme/createTheme.js.map +1 -0
  377. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/createTheme/shape.js +2 -0
  378. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/createTheme/shape.js.map +1 -0
  379. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/cssContainerQueries/cssContainerQueries.js +2 -0
  380. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/cssContainerQueries/cssContainerQueries.js.map +1 -0
  381. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/cssGrid/cssGrid.js +2 -0
  382. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/cssGrid/cssGrid.js.map +1 -0
  383. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/display/display.js +2 -0
  384. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/display/display.js.map +1 -0
  385. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/flexbox/flexbox.js +2 -0
  386. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/flexbox/flexbox.js.map +1 -0
  387. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/getThemeValue/getThemeValue.js +2 -0
  388. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/getThemeValue/getThemeValue.js.map +1 -0
  389. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/memoize/memoize.js +2 -0
  390. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/memoize/memoize.js.map +1 -0
  391. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/merge/merge.js +2 -0
  392. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/merge/merge.js.map +1 -0
  393. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/palette/palette.js +2 -0
  394. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/palette/palette.js.map +1 -0
  395. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/positions/positions.js +2 -0
  396. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/positions/positions.js.map +1 -0
  397. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/preprocessStyles.js +2 -0
  398. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/preprocessStyles.js.map +1 -0
  399. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/responsivePropType/responsivePropType.js +2 -0
  400. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/responsivePropType/responsivePropType.js.map +1 -0
  401. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/shadows/shadows.js +2 -0
  402. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/shadows/shadows.js.map +1 -0
  403. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/sizing/sizing.js +2 -0
  404. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/sizing/sizing.js.map +1 -0
  405. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/spacing/spacing.js +2 -0
  406. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/spacing/spacing.js.map +1 -0
  407. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/style/style.js +2 -0
  408. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/style/style.js.map +1 -0
  409. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/styleFunctionSx/defaultSxConfig.js +2 -0
  410. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/styleFunctionSx/defaultSxConfig.js.map +1 -0
  411. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/styleFunctionSx/extendSxProp.js +2 -0
  412. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/styleFunctionSx/extendSxProp.js.map +1 -0
  413. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.js +2 -0
  414. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.js.map +1 -0
  415. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/styled/styled.js +2 -0
  416. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/styled/styled.js.map +1 -0
  417. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/typography/typography.js +2 -0
  418. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/typography/typography.js.map +1 -0
  419. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/useTheme/useTheme.js +2 -0
  420. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/useTheme/useTheme.js.map +1 -0
  421. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/useThemeProps/getThemeProps.js +2 -0
  422. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/useThemeProps/getThemeProps.js.map +1 -0
  423. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/useThemeProps/useThemeProps.js +2 -0
  424. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/useThemeProps/useThemeProps.js.map +1 -0
  425. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/useThemeWithoutDefault/useThemeWithoutDefault.js +2 -0
  426. package/dist/node_modules/.pnpm/@mui_system@6.5.0_@emotion_react@11.14.0_@types_react@18.3.31_react@18.3.1_supports-col_c17c8c48cc2dc4f6280b73b3c2092554/node_modules/@mui/system/esm/useThemeWithoutDefault/useThemeWithoutDefault.js.map +1 -0
  427. package/dist/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/ClassNameGenerator/ClassNameGenerator.js +2 -0
  428. package/dist/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/ClassNameGenerator/ClassNameGenerator.js.map +1 -0
  429. package/dist/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/capitalize/capitalize.js +2 -0
  430. package/dist/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/capitalize/capitalize.js.map +1 -0
  431. package/dist/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/chainPropTypes/chainPropTypes.js +2 -0
  432. package/dist/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/chainPropTypes/chainPropTypes.js.map +1 -0
  433. package/dist/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/composeClasses/composeClasses.js +2 -0
  434. package/dist/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/composeClasses/composeClasses.js.map +1 -0
  435. package/dist/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/deepmerge/deepmerge.js +2 -0
  436. package/dist/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/deepmerge/deepmerge.js.map +1 -0
  437. package/dist/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/elementAcceptingRef/elementAcceptingRef.js +2 -0
  438. package/dist/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/elementAcceptingRef/elementAcceptingRef.js.map +1 -0
  439. package/dist/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/elementTypeAcceptingRef/elementTypeAcceptingRef.js +2 -0
  440. package/dist/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/elementTypeAcceptingRef/elementTypeAcceptingRef.js.map +1 -0
  441. package/dist/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/exactProp/exactProp.js +2 -0
  442. package/dist/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/exactProp/exactProp.js.map +1 -0
  443. package/dist/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/formatMuiErrorMessage/formatMuiErrorMessage.js +2 -0
  444. package/dist/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/formatMuiErrorMessage/formatMuiErrorMessage.js.map +1 -0
  445. package/dist/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.js +2 -0
  446. package/dist/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.js.map +1 -0
  447. package/dist/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.js +2 -0
  448. package/dist/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.js.map +1 -0
  449. package/dist/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/getDisplayName/getDisplayName.js +2 -0
  450. package/dist/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/getDisplayName/getDisplayName.js.map +1 -0
  451. package/dist/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/integerPropType/integerPropType.js +2 -0
  452. package/dist/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/integerPropType/integerPropType.js.map +1 -0
  453. package/dist/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/isMuiElement/isMuiElement.js +2 -0
  454. package/dist/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/isMuiElement/isMuiElement.js.map +1 -0
  455. package/dist/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/ponyfillGlobal/ponyfillGlobal.js +2 -0
  456. package/dist/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/ponyfillGlobal/ponyfillGlobal.js.map +1 -0
  457. package/dist/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/refType/refType.js +2 -0
  458. package/dist/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/refType/refType.js.map +1 -0
  459. package/dist/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/resolveProps/resolveProps.js +2 -0
  460. package/dist/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/resolveProps/resolveProps.js.map +1 -0
  461. package/dist/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/useEnhancedEffect/useEnhancedEffect.js +2 -0
  462. package/dist/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/useEnhancedEffect/useEnhancedEffect.js.map +1 -0
  463. package/dist/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/useId/useId.js +2 -0
  464. package/dist/node_modules/.pnpm/@mui_utils@6.4.9_@types_react@18.3.31_react@18.3.1/node_modules/@mui/utils/esm/useId/useId.js.map +1 -0
  465. package/dist/node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs.js +2 -0
  466. package/dist/node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs.js.map +1 -0
  467. package/dist/node_modules/.pnpm/object-assign@4.1.1/node_modules/object-assign/index.js +7 -0
  468. package/dist/node_modules/.pnpm/object-assign@4.1.1/node_modules/object-assign/index.js.map +1 -0
  469. package/dist/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/checkPropTypes.js +2 -0
  470. package/dist/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/checkPropTypes.js.map +1 -0
  471. package/dist/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/factoryWithThrowingShims.js +2 -0
  472. package/dist/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/factoryWithThrowingShims.js.map +1 -0
  473. package/dist/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/factoryWithTypeCheckers.js +2 -0
  474. package/dist/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/factoryWithTypeCheckers.js.map +1 -0
  475. package/dist/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/index.js +2 -0
  476. package/dist/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/index.js.map +1 -0
  477. package/dist/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/lib/ReactPropTypesSecret.js +2 -0
  478. package/dist/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/lib/ReactPropTypesSecret.js.map +1 -0
  479. package/dist/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/lib/has.js +2 -0
  480. package/dist/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/lib/has.js.map +1 -0
  481. package/dist/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/cjs/react-is.development.js +10 -0
  482. package/dist/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/cjs/react-is.development.js.map +1 -0
  483. package/dist/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/cjs/react-is.production.min.js +10 -0
  484. package/dist/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/cjs/react-is.production.min.js.map +1 -0
  485. package/dist/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/index.js +2 -0
  486. package/dist/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/index.js.map +1 -0
  487. package/dist/node_modules/.pnpm/react-is@19.2.8/node_modules/react-is/cjs/react-is.development.js +11 -0
  488. package/dist/node_modules/.pnpm/react-is@19.2.8/node_modules/react-is/cjs/react-is.development.js.map +1 -0
  489. package/dist/node_modules/.pnpm/react-is@19.2.8/node_modules/react-is/cjs/react-is.production.js +11 -0
  490. package/dist/node_modules/.pnpm/react-is@19.2.8/node_modules/react-is/cjs/react-is.production.js.map +1 -0
  491. package/dist/node_modules/.pnpm/react-is@19.2.8/node_modules/react-is/index.js +2 -0
  492. package/dist/node_modules/.pnpm/react-is@19.2.8/node_modules/react-is/index.js.map +1 -0
  493. package/dist/node_modules/.pnpm/unist-util-is@6.0.1/node_modules/unist-util-is/lib/index.js +2 -0
  494. package/dist/node_modules/.pnpm/unist-util-is@6.0.1/node_modules/unist-util-is/lib/index.js.map +1 -0
  495. package/dist/node_modules/.pnpm/unist-util-visit-parents@6.0.2/node_modules/unist-util-visit-parents/lib/color.js +2 -0
  496. package/dist/node_modules/.pnpm/unist-util-visit-parents@6.0.2/node_modules/unist-util-visit-parents/lib/color.js.map +1 -0
  497. package/dist/node_modules/.pnpm/unist-util-visit-parents@6.0.2/node_modules/unist-util-visit-parents/lib/index.js +2 -0
  498. package/dist/node_modules/.pnpm/unist-util-visit-parents@6.0.2/node_modules/unist-util-visit-parents/lib/index.js.map +1 -0
  499. package/dist/node_modules/.pnpm/unist-util-visit@5.1.0/node_modules/unist-util-visit/lib/index.js +2 -0
  500. package/dist/node_modules/.pnpm/unist-util-visit@5.1.0/node_modules/unist-util-visit/lib/index.js.map +1 -0
  501. package/package.json +287 -142
@@ -1 +1 @@
1
- {"version":3,"file":"BookDetailsCard.js","sources":["../../../../src/features/Bookemon/BookDetailsCard/BookDetailsCard.tsx"],"sourcesContent":["import React, { CSSProperties, useEffect, useMemo, useRef, useState } from \"react\";\nimport { highlightTermsFunc } from \"../utils/highlight\";\nimport { sanitizeHtml } from \"../../../utils/sanitizeHtml\";\nimport { BookemonProps, IBookDetails } from \"../types/citation.types\";\nimport \"./BookDetailsCard.css\";\n\nconst defaultStyles: { [key: string]: CSSProperties } = {\n container : {\n width: \"100%\",\n },\n sectionTitle: {\n fontSize: \"14px\",\n fontWeight: 600,\n color: \"#667085\",\n marginBottom: \"12px\",\n },\n detailsContainer: {\n marginBottom: \"24px\",\n fontSize: \"14px\",\n fontWeight: 400,\n color: \"#64748B\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"4px\",\n paddingLeft : \"12px\"\n },\n detailsContainerItem : {\n margin : \"4px 0\",\n },\n boldText: {\n fontWeight: \"bold\",\n },\n categoriesContainer: {\n marginBottom: \"24px\",\n },\n categoriesList: {\n display: \"flex\",\n flexWrap: \"wrap\",\n gap: \"12px\",\n marginBottom: \"8px\",\n paddingLeft : \"12px\"\n },\n category: {\n backgroundColor: \"#ECEEF1\",\n padding: \"8px 12px\",\n fontWeight: 400,\n fontSize: \"12px\",\n borderRadius: \"4px\",\n color: \"#64748B\",\n maxWidth: \"100%\",\n wordBreak: \"break-word\",\n },\n button: {\n color: \"#5928ED\",\n fontSize: \"14px\",\n fontWeight: 600,\n background: \"none\",\n border: \"none\",\n cursor: \"pointer\",\n padding: 0,\n textDecoration: \"none\",\n paddingLeft : \"12px\",\n },\n\n reviewsList : {\n paddingLeft : \"12px\",\n },\n reviewCard: {\n border: \"1px solid #CBD5E1\",\n borderRadius: \"6px\",\n padding: \"16px\",\n marginBottom: \"12px\",\n backgroundColor: \"#F8FAFC\",\n },\n reviewText: {\n fontSize: \"14px\",\n fontStyle: \"italic\",\n fontWeight: 400,\n color: \"#475569\",\n marginBottom: \"8px\",\n },\n reviewSource: {\n fontSize: \"10px\",\n color: \"#475569\",\n fontWeight: 600,\n },\n};\ntype BookDetailsCardProps = {\n data: IBookDetails;\n highlightTerms?: string[];\n onHighlightMatch?: (matched: boolean) => void;\n highlightEnabled: boolean\n citationType?: BookemonProps['citationType'];\n citationSubTitle?: BookemonProps['citationSubTitle'];\n};\nconst BookDetailsCard = ({ data, highlightTerms, onHighlightMatch, highlightEnabled, citationType, citationSubTitle }: BookDetailsCardProps) => {\n const [showAllCategories, setShowAllCategories] = useState(false);\n const [showAllReviews, setShowAllReviews] = useState(false);\n const containerRef = useRef<HTMLDivElement>(null);\n const highlightGenreArray = highlightTerms?.map(ele=>ele.split(',')).flat() ?? []\n\n const visibleCategories = useMemo(() => {\n return showAllCategories\n ? data.subjectCategories || []\n : (data.subjectCategories || []).slice(0, 10); \n}, [showAllCategories, data.subjectCategories]);\n\n useEffect(() => {\n if (!highlightTerms?.length || !highlightEnabled) return;\n \n const lowerTerms = citationSubTitle==\"genre_details\" ? highlightGenreArray.map(t => t.toLowerCase()) : highlightTerms.map(t => t.toLowerCase());\n \n const contains = (text?: string) =>\n text && lowerTerms.some(term => text.toLowerCase().includes(term));\n \n // ----- BASIC FIELDS -----\n const basicMatch = [\n data.isbn,\n data.isbn10,\n data.imprint,\n data.publisher,\n data.publishingDate,\n data.age,\n ].some(contains);\n \n // ----- SUBJECT CATEGORIES -----\n const categoriesMatch = (data.subjectCategories ?? []).some(contains);\n console.log('categoriesMatch', categoriesMatch)\n \n // ----- REVIEWS -----\n const reviewsMatch = (data.reviews ?? []).some((review: string) =>\n contains(review.replace(/<[^>]+>/g, \"\"))\n );\n \n const matched = basicMatch || categoriesMatch || reviewsMatch;\n \n onHighlightMatch?.(matched);\n \n if (!matched) return;\n \n // 🔓 Auto open hidden sections\n if (categoriesMatch && !showAllCategories) {\n setShowAllCategories(true);\n }\n \n if (reviewsMatch && !showAllReviews) {\n setShowAllReviews(true);\n }\n \n }, [highlightTerms, data]);\n \n \n\n return (\n <div ref={containerRef} style={defaultStyles.container} className=\"book-details-container\">\n {/* Product Details */}\n <p style={defaultStyles.sectionTitle} className=\"book-details-section-title\">Product Details</p>\n <div style={defaultStyles.detailsContainer} className=\"book-details-details-container\">\n <p style={defaultStyles.detailsContainerItem}>\n <span style={defaultStyles.boldText}>ISBN:</span>{\" \"}\n {highlightTerms && highlightTerms.length > 0 && highlightEnabled ? (\n <span dangerouslySetInnerHTML={{ __html: sanitizeHtml(highlightTermsFunc(data.isbn ?? \"NA\", highlightTerms)) }} />\n ) : (\n data.isbn ?? \"NA\"\n )}\n </p>\n <p style={defaultStyles.detailsContainerItem}>\n <span style={defaultStyles.boldText}>ISBN 10:</span>{\" \"}\n {highlightTerms && highlightTerms.length > 0 && highlightEnabled ? (\n <span dangerouslySetInnerHTML={{ __html: sanitizeHtml(highlightTermsFunc(data.isbn10 ?? \"NA\", highlightTerms)) }} />\n ) : (\n data.isbn10 ?? \"NA\"\n )}\n </p>\n <p style={defaultStyles.detailsContainerItem}>\n <span style={defaultStyles.boldText}>Imprint:</span>{\" \"}\n {highlightTerms && highlightTerms.length > 0 && highlightEnabled ? (\n <span dangerouslySetInnerHTML={{ __html: sanitizeHtml(highlightTermsFunc(data.imprint ?? \"NA\", highlightTerms)) }} />\n ) : (\n data.imprint ?? \"NA\"\n )}\n </p>\n <p style={defaultStyles.detailsContainerItem}>\n <span style={defaultStyles.boldText}>Publisher:</span>{\" \"}\n {highlightTerms && highlightTerms.length > 0 && highlightEnabled ? (\n <span dangerouslySetInnerHTML={{ __html: sanitizeHtml(highlightTermsFunc(data.publisher ?? \"NA\", highlightTerms)) }} />\n ) : (\n data.publisher ?? \"NA\"\n )}\n </p>\n <p style={defaultStyles.detailsContainerItem}>\n <span style={defaultStyles.boldText}>Publishing Date:</span>{\" \"}\n {highlightTerms && highlightTerms.length > 0 && highlightEnabled ? (\n <span dangerouslySetInnerHTML={{ __html: sanitizeHtml(highlightTermsFunc(data.publishingDate ?? 'NA', highlightTerms)) }} />\n ) : (\n data.publishingDate ?? 'NA'\n )}\n </p>\n <p style={defaultStyles.detailsContainerItem}>\n <span style={defaultStyles.boldText}>Age:</span>{\" \"}\n {highlightTerms && highlightTerms.length > 0 && highlightEnabled ? (\n <span dangerouslySetInnerHTML={{ __html: sanitizeHtml(highlightTermsFunc(data.age ?? 'NA', highlightTerms)) }} />\n ) : (\n data.age ?? 'NA'\n )}\n </p>\n </div>\n {/* Subject Categories */}\n <div style={defaultStyles.categoriesContainer}>\n <p style={defaultStyles.sectionTitle} className=\"book-details-section-title\">Subject Categories</p>\n <div style={defaultStyles.categoriesList} className=\"book-details-categories-list\">\n {visibleCategories.map((category:any, index:any) => (\n <span key={index} style={defaultStyles.category} className=\"book-details-category\">\n {highlightTerms && highlightTerms.length > 0 && highlightEnabled ? (\n <span dangerouslySetInnerHTML={{ __html: sanitizeHtml(highlightTermsFunc(category, highlightGenreArray)) }} />\n ) : (\n category\n )}\n </span>\n ))}\n\n {data.subjectCategories && data.subjectCategories.length > 10 && (\n <button\n style={defaultStyles.button}\n onClick={() => setShowAllCategories(!showAllCategories)}\n onMouseOver={(event) =>\n (event.currentTarget.style.textDecoration = \"underline\")\n }\n onMouseOut={(event) =>\n (event.currentTarget.style.textDecoration = \"none\")\n }\n >\n {showAllCategories ? \"View less\" : \"View more\"}\n </button>\n )}\n </div>\n </div>\n {/* Reviews */}\n <div style={defaultStyles.reviewsContainer}>\n <p style={defaultStyles.sectionTitle} className=\"book-details-section-title\">Book Marketing Collateral</p>\n <div style={defaultStyles.reviewsList} className=\"book-details-reviews-list\">\n {data.reviews && data.reviews.length > 0 ? (\n (() => {\n // STEP 1: Filter out empty reviews\n const validReviews = data.reviews.filter((review:any) => {\n const text = review.replace(/<[^>]+>/g, \"\").trim();\n const decoded = text.replace(/&[#A-Za-z0-9]+;/g, \"\").trim();\n return decoded.length > 0;\n });\n\n // STEP 2: Slice AFTER filtering\n const reviewsToShow = showAllReviews\n ? validReviews\n : validReviews.slice(0, 3);\n\n return reviewsToShow.map((review:any, index:any) => (\n <div key={index} style={defaultStyles.reviewCard} className=\"book-details-review-card\">\n <div\n style={defaultStyles.reviewText}\n dangerouslySetInnerHTML={{\n __html: highlightTerms && highlightTerms.length > 0 && highlightEnabled\n ? sanitizeHtml(highlightTermsFunc(review, highlightTerms))\n : review\n }}\n />\n </div>\n ));\n })()\n ) : (\n <p style={defaultStyles.reviewText}>\n No Book Marketing Collateral available for this book.\n </p>\n )}\n \n {data.reviews && data.reviews.length > 3 && (\n <button\n style={defaultStyles.button}\n onClick={() => setShowAllReviews((prev) => !prev)}\n onMouseOver={(event) =>\n (event.currentTarget.style.textDecoration = \"underline\")\n }\n onMouseOut={(event) => (event.currentTarget.style.textDecoration = \"none\")}\n >\n {showAllReviews ? \"View less\" : \"View more\"}\n </button>\n )}\n </div>\n </div>\n </div>\n );\n};\n\nexport default BookDetailsCard;\n"],"names":["defaultStyles","container","width","sectionTitle","fontSize","fontWeight","color","marginBottom","detailsContainer","display","flexDirection","gap","paddingLeft","detailsContainerItem","margin","boldText","categoriesContainer","categoriesList","flexWrap","category","backgroundColor","padding","borderRadius","maxWidth","wordBreak","button","background","border","cursor","textDecoration","reviewsList","reviewCard","reviewText","fontStyle","reviewSource","BookDetailsCard","data","highlightTerms","onHighlightMatch","highlightEnabled","citationType","citationSubTitle","showAllCategories","setShowAllCategories","useState","showAllReviews","setShowAllReviews","containerRef","useRef","highlightGenreArray","map","ele","split","flat","visibleCategories","useMemo","subjectCategories","slice","useEffect","length","lowerTerms","t","toLowerCase","contains","text","some","term","includes","basicMatch","isbn","isbn10","imprint","publisher","publishingDate","age","categoriesMatch","console","log","reviewsMatch","reviews","review","replace","matched","jsxs","ref","style","className","children","jsx","dangerouslySetInnerHTML","__html","sanitizeHtml","highlightTermsFunc","index","onClick","onMouseOver","event","currentTarget","onMouseOut","reviewsContainer","validReviews","filter","trim","prev"],"mappings":"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"}
1
+ {"version":3,"file":"BookDetailsCard.js","sources":["../../../../src/features/Bookemon/BookDetailsCard/BookDetailsCard.tsx"],"sourcesContent":["import React, { CSSProperties, useEffect, useMemo, useRef, useState } from \"react\";\nimport { highlightTermsFunc } from \"../utils/highlight\";\nimport { sanitizeHtml } from \"../../../utils/sanitizeHtml\";\nimport { BookemonProps, IBookDetails } from \"../types/citation.types\";\nimport \"./BookDetailsCard.css\";\n\nconst defaultStyles: { [key: string]: CSSProperties } = {\n container : {\n width: \"100%\",\n },\n sectionTitle: {\n fontSize: \"14px\",\n fontWeight: 600,\n color: \"#667085\",\n marginBottom: \"12px\",\n },\n detailsContainer: {\n marginBottom: \"24px\",\n fontSize: \"14px\",\n fontWeight: 400,\n color: \"#64748B\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"4px\",\n paddingLeft : \"12px\"\n },\n detailsContainerItem : {\n margin : \"4px 0\",\n },\n boldText: {\n fontWeight: \"bold\",\n },\n categoriesContainer: {\n marginBottom: \"24px\",\n },\n categoriesList: {\n display: \"flex\",\n flexWrap: \"wrap\",\n gap: \"12px\",\n marginBottom: \"8px\",\n paddingLeft : \"12px\"\n },\n category: {\n backgroundColor: \"#ECEEF1\",\n padding: \"8px 12px\",\n fontWeight: 400,\n fontSize: \"12px\",\n borderRadius: \"4px\",\n color: \"#64748B\",\n maxWidth: \"100%\",\n wordBreak: \"break-word\",\n },\n button: {\n color: \"#5928ED\",\n fontSize: \"14px\",\n fontWeight: 600,\n background: \"none\",\n border: \"none\",\n cursor: \"pointer\",\n padding: 0,\n textDecoration: \"none\",\n paddingLeft : \"12px\",\n },\n\n reviewsList : {\n paddingLeft : \"12px\",\n },\n reviewCard: {\n border: \"1px solid #CBD5E1\",\n borderRadius: \"6px\",\n padding: \"16px\",\n marginBottom: \"12px\",\n backgroundColor: \"#F8FAFC\",\n },\n reviewText: {\n fontSize: \"14px\",\n fontStyle: \"italic\",\n fontWeight: 400,\n color: \"#475569\",\n marginBottom: \"8px\",\n },\n reviewSource: {\n fontSize: \"10px\",\n color: \"#475569\",\n fontWeight: 600,\n },\n};\ntype BookDetailsCardProps = {\n data: IBookDetails;\n highlightTerms?: string[];\n onHighlightMatch?: (matched: boolean) => void;\n highlightEnabled: boolean\n citationType?: BookemonProps['citationType'];\n citationSubTitle?: BookemonProps['citationSubTitle'];\n};\nconst BookDetailsCard = ({ data, highlightTerms, onHighlightMatch, highlightEnabled, citationType, citationSubTitle }: BookDetailsCardProps) => {\n const [showAllCategories, setShowAllCategories] = useState(false);\n const [showAllReviews, setShowAllReviews] = useState(false);\n const containerRef = useRef<HTMLDivElement>(null);\n const highlightGenreArray = highlightTerms?.map(ele=>ele.split(',')).flat() ?? []\n\n const visibleCategories = useMemo(() => {\n return showAllCategories\n ? data.subjectCategories || []\n : (data.subjectCategories || []).slice(0, 10); \n}, [showAllCategories, data.subjectCategories]);\n\n useEffect(() => {\n if (!highlightTerms?.length || !highlightEnabled) return;\n \n const lowerTerms = citationSubTitle==\"genre_details\" ? highlightGenreArray.map(t => t.toLowerCase()) : highlightTerms.map(t => t.toLowerCase());\n \n const contains = (text?: string) =>\n text && lowerTerms.some(term => text.toLowerCase().includes(term));\n \n // ----- BASIC FIELDS -----\n const basicMatch = [\n data.isbn,\n data.isbn10,\n data.imprint,\n data.publisher,\n data.publishingDate,\n data.age,\n ].some(contains);\n \n // ----- SUBJECT CATEGORIES -----\n const categoriesMatch = (data.subjectCategories ?? []).some(contains);\n console.log('categoriesMatch', categoriesMatch)\n \n // ----- REVIEWS -----\n const reviewsMatch = (data.reviews ?? []).some((review: string) =>\n contains(review.replace(/<[^>]+>/g, \"\"))\n );\n \n const matched = basicMatch || categoriesMatch || reviewsMatch;\n \n onHighlightMatch?.(matched);\n \n if (!matched) return;\n \n // 🔓 Auto open hidden sections\n if (categoriesMatch && !showAllCategories) {\n setShowAllCategories(true);\n }\n \n if (reviewsMatch && !showAllReviews) {\n setShowAllReviews(true);\n }\n \n }, [highlightTerms, data]);\n \n \n\n return (\n <div ref={containerRef} style={defaultStyles.container} className=\"book-details-container\">\n {/* Product Details */}\n <p style={defaultStyles.sectionTitle} className=\"book-details-section-title\">Product Details</p>\n <div style={defaultStyles.detailsContainer} className=\"book-details-details-container\">\n <p style={defaultStyles.detailsContainerItem}>\n <span style={defaultStyles.boldText}>ISBN:</span>{\" \"}\n {highlightTerms && highlightTerms.length > 0 && highlightEnabled ? (\n <span dangerouslySetInnerHTML={{ __html: sanitizeHtml(highlightTermsFunc(data.isbn ?? \"NA\", highlightTerms)) }} />\n ) : (\n data.isbn ?? \"NA\"\n )}\n </p>\n <p style={defaultStyles.detailsContainerItem}>\n <span style={defaultStyles.boldText}>ISBN 10:</span>{\" \"}\n {highlightTerms && highlightTerms.length > 0 && highlightEnabled ? (\n <span dangerouslySetInnerHTML={{ __html: sanitizeHtml(highlightTermsFunc(data.isbn10 ?? \"NA\", highlightTerms)) }} />\n ) : (\n data.isbn10 ?? \"NA\"\n )}\n </p>\n <p style={defaultStyles.detailsContainerItem}>\n <span style={defaultStyles.boldText}>Imprint:</span>{\" \"}\n {highlightTerms && highlightTerms.length > 0 && highlightEnabled ? (\n <span dangerouslySetInnerHTML={{ __html: sanitizeHtml(highlightTermsFunc(data.imprint ?? \"NA\", highlightTerms)) }} />\n ) : (\n data.imprint ?? \"NA\"\n )}\n </p>\n <p style={defaultStyles.detailsContainerItem}>\n <span style={defaultStyles.boldText}>Publisher:</span>{\" \"}\n {highlightTerms && highlightTerms.length > 0 && highlightEnabled ? (\n <span dangerouslySetInnerHTML={{ __html: sanitizeHtml(highlightTermsFunc(data.publisher ?? \"NA\", highlightTerms)) }} />\n ) : (\n data.publisher ?? \"NA\"\n )}\n </p>\n <p style={defaultStyles.detailsContainerItem}>\n <span style={defaultStyles.boldText}>Publishing Date:</span>{\" \"}\n {highlightTerms && highlightTerms.length > 0 && highlightEnabled ? (\n <span dangerouslySetInnerHTML={{ __html: sanitizeHtml(highlightTermsFunc(data.publishingDate ?? 'NA', highlightTerms)) }} />\n ) : (\n data.publishingDate ?? 'NA'\n )}\n </p>\n <p style={defaultStyles.detailsContainerItem}>\n <span style={defaultStyles.boldText}>Age:</span>{\" \"}\n {highlightTerms && highlightTerms.length > 0 && highlightEnabled ? (\n <span dangerouslySetInnerHTML={{ __html: sanitizeHtml(highlightTermsFunc(data.age ?? 'NA', highlightTerms)) }} />\n ) : (\n data.age ?? 'NA'\n )}\n </p>\n </div>\n {/* Subject Categories */}\n <div style={defaultStyles.categoriesContainer}>\n <p style={defaultStyles.sectionTitle} className=\"book-details-section-title\">Subject Categories</p>\n <div style={defaultStyles.categoriesList} className=\"book-details-categories-list\">\n {visibleCategories.map((category:any, index:any) => (\n <span key={index} style={defaultStyles.category} className=\"book-details-category\">\n {highlightTerms && highlightTerms.length > 0 && highlightEnabled ? (\n <span dangerouslySetInnerHTML={{ __html: sanitizeHtml(highlightTermsFunc(category, highlightGenreArray)) }} />\n ) : (\n category\n )}\n </span>\n ))}\n\n {data.subjectCategories && data.subjectCategories.length > 10 && (\n <button\n style={defaultStyles.button}\n onClick={() => setShowAllCategories(!showAllCategories)}\n onMouseOver={(event) =>\n (event.currentTarget.style.textDecoration = \"underline\")\n }\n onMouseOut={(event) =>\n (event.currentTarget.style.textDecoration = \"none\")\n }\n >\n {showAllCategories ? \"View less\" : \"View more\"}\n </button>\n )}\n </div>\n </div>\n {/* Reviews */}\n <div style={defaultStyles.reviewsContainer}>\n <p style={defaultStyles.sectionTitle} className=\"book-details-section-title\">Book Marketing Collateral</p>\n <div style={defaultStyles.reviewsList} className=\"book-details-reviews-list\">\n {data.reviews && data.reviews.length > 0 ? (\n (() => {\n // STEP 1: Filter out empty reviews\n const validReviews = data.reviews.filter((review:any) => {\n const text = review.replace(/<[^>]+>/g, \"\").trim();\n const decoded = text.replace(/&[#A-Za-z0-9]+;/g, \"\").trim();\n return decoded.length > 0;\n });\n\n // STEP 2: Slice AFTER filtering\n const reviewsToShow = showAllReviews\n ? validReviews\n : validReviews.slice(0, 3);\n\n return reviewsToShow.map((review:any, index:any) => (\n <div key={index} style={defaultStyles.reviewCard} className=\"book-details-review-card\">\n <div\n style={defaultStyles.reviewText}\n dangerouslySetInnerHTML={{\n __html: highlightTerms && highlightTerms.length > 0 && highlightEnabled\n ? sanitizeHtml(highlightTermsFunc(review, highlightTerms))\n : review\n }}\n />\n </div>\n ));\n })()\n ) : (\n <p style={defaultStyles.reviewText}>\n No Book Marketing Collateral available for this book.\n </p>\n )}\n \n {data.reviews && data.reviews.length > 3 && (\n <button\n style={defaultStyles.button}\n onClick={() => setShowAllReviews((prev) => !prev)}\n onMouseOver={(event) =>\n (event.currentTarget.style.textDecoration = \"underline\")\n }\n onMouseOut={(event) => (event.currentTarget.style.textDecoration = \"none\")}\n >\n {showAllReviews ? \"View less\" : \"View more\"}\n </button>\n )}\n </div>\n </div>\n </div>\n );\n};\n\nexport default BookDetailsCard;\n"],"names":["defaultStyles","container","width","sectionTitle","fontSize","fontWeight","color","marginBottom","detailsContainer","display","flexDirection","gap","paddingLeft","detailsContainerItem","margin","boldText","categoriesContainer","categoriesList","flexWrap","category","backgroundColor","padding","borderRadius","maxWidth","wordBreak","button","background","border","cursor","textDecoration","reviewsList","reviewCard","reviewText","fontStyle","reviewSource","BookDetailsCard","data","highlightTerms","onHighlightMatch","highlightEnabled","citationType","citationSubTitle","showAllCategories","setShowAllCategories","useState","showAllReviews","setShowAllReviews","containerRef","useRef","highlightGenreArray","map","ele","split","flat","visibleCategories","useMemo","subjectCategories","slice","useEffect","length","lowerTerms","t","toLowerCase","contains","text","some","term","includes","basicMatch","isbn","isbn10","imprint","publisher","publishingDate","age","categoriesMatch","console","log","reviewsMatch","reviews","review","replace","matched","jsxs","ref","style","className","children","jsx","dangerouslySetInnerHTML","__html","sanitizeHtml","highlightTermsFunc","index","onClick","onMouseOver","event","currentTarget","onMouseOut","reviewsContainer","validReviews","filter","trim","prev"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{jsxs as e,jsx as t,Fragment as a}from"react/jsx-runtime";import o from"@mui/material/Pagination";import n from"@mui/material/Skeleton";import{useRef as r,useEffect as i,useState as l}from"react";import s from"react-markdown";import c from"rehype-raw";import d from"remark-breaks";import{highlightTermsFunc as p}from"../utils/highlight.js";import{sanitizeHtml as g}from"../../../utils/sanitizeHtml.js";import"./BookElementsCard.css.js";const h={sectionTitle:{fontSize:"14px",fontWeight:600,color:"#667085",marginBottom:"12px"},quotesPadding:{paddingLeft:"12px"},quoteCard:{border:"1px solid #CBD5E1",borderRadius:"8px",padding:"16px",backgroundColor:"#F8FAFC",boxShadow:"0 1px 2px rgba(0,0,0,0.05)",marginBottom:"16px",cursor:"pointer",transition:"transform 0.2s ease, box-shadow 0.2s ease"},quoteText:{fontStyle:"italic",color:"#475569",fontSize:"14px",fontWeight:400,marginBottom:"12px"},quoteMeta:{color:"#475569",fontSize:"12px",fontWeight:400},quoteAuthor:{fontSize:"10px",fontWeight:600,color:"#475569",marginTop:"8px",marginBottom:"18px"},button:{color:"#5928ED",fontSize:"14px",fontWeight:600,background:"none",border:"none",cursor:"pointer",padding:0,textDecoration:"none",paddingLeft:"12px"},geoLocationsContainer:{marginTop:"24px",marginBottom:"24px"},geoText:{fontSize:"14px",fontWeight:500,cursor:"pointer",color:"#532BED"},geoDivider:{margin:"0 8px",color:"#475abb",backgroundColor:"#475abb",width:"1px",height:"18px",display:"inline-block"},geoLocationFlex:{display:"inline-flex",alignItems:"center",gap:"8px",marginBottom:"8px"},charactersContainer:{marginTop:"16px"},charactersGrid:{display:"grid",gridTemplateColumns:"repeat(2, 1fr)",gap:"16px",marginBottom:"16px",paddingLeft:"12px"},characterCard:{border:"1px solid #E5E7EB",borderRadius:"8px",backgroundColor:"#FFFFFF",boxShadow:"0 1px 2px rgba(0,0,0,0.05)",display:"flex",alignItems:"flex-start",gap:"12px",padding:"16px",cursor:"pointer",transition:"transform 0.2s ease, box-shadow 0.2s ease"},avatar:{width:"32px",height:"32px",display:"flex",alignItems:"center",justifyContent:"center",borderRadius:"9999px",fontSize:"14px",fontWeight:600,flexShrink:0},charName:{fontStyle:"normal",fontWeight:600,color:"#101827",fontSize:"16px"},charDesc:{fontStyle:"normal",fontWeight:400,fontSize:"14px",color:"#6B7280"},retryButton:{backgroundColor:"#5928EC",color:"#fff",padding:"6px 10px",border:"none",borderRadius:"6px",cursor:"pointer",fontSize:"12px",fontWeight:"500"}},x=({data:x,updateQuotesToHighLight:m,handleFetchManuscriptElements:u,BookIsbn:y,title:f,highlightTerms:b,onHighlightMatch:k,defaultPages:v,citationType:C,citationSubTitle:T,highlightEnabled:w})=>{const S=r(!0);i(()=>()=>{S.current=!1},[]);const[L,q]=l([]),[N,B]=l(v?.quotes??1),[D,M]=l(!1),[E,_]=l(!0),[P,F]=l(0),[H,I]=l([]),[W,z]=l(v?.characters??1),[j,R]=l(!1),[G,K]=l(!0),[Y,A]=l(0),[Q,O]=l([]),[J,U]=l(v?.locations??1),[V,X]=l(!1),[Z,$]=l(!0),[ee,te]=l(0),[ae,oe]=l({list:"",index:-1,page:1}),ne=r(!1),re=r(null);i(()=>{if(!b?.length||!w)return;const e=b.map(e=>e.toLowerCase()),t=t=>t&&e.some(e=>t.toLowerCase().includes(e));let a=!1;"notable_quotes"==T&&L.forEach((e,o)=>{!a&&t(e.text)&&(k?.(!0),a=!0)}),"location_details"==T&&Q.forEach((e,o)=>{!a&&t(e.name)&&(k?.(!0),a=!0)}),"notable_characters"==T&&H.forEach((t,o)=>{var n;!a&&((n=t.name)&&e[0]===n.toLowerCase())&&(k?.(!0),a=!0)})},[b,L,Q,H,N,J,W]),i(()=>{v&&(v.quotes&&B(v.quotes),v.locations&&U(v.locations),v.characters&&z(v.characters))},[v]),i(()=>{ne.current=!1},[b]);const ie=async({endpoint:e,page:t,isbn:a,setData:o,setLoading:n,setHasMore:r,setTotalPage:i,title:l})=>{n(!0);try{const n=await u({endpoint:e,page:t,pageSize:10,isbn:a,title:l});if(!S.current)return;o(n?.data||[]),i(n?.pagination?.totalPages||0),r(!n?.pagination?.hasNext&&!n?.pagination?.hasPrevious)}finally{S.current&&n(!1)}};return i(()=>{ie({endpoint:"notable-quotes",page:N,isbn:y,setData:q,setLoading:M,setHasMore:_,setTotalPage:F,title:f})},[N]),i(()=>{ie({endpoint:"notable-characters",page:W,isbn:y,setData:I,setLoading:R,setHasMore:K,setTotalPage:A,title:f})},[W]),i(()=>{ie({endpoint:"geo-locations",page:J,isbn:y,setData:O,setLoading:X,setHasMore:$,setTotalPage:te,title:f})},[J]),e("div",{ref:re,className:"book-elements-container",children:[e("div",{style:{marginBottom:"24px"},children:[t("p",{style:h.sectionTitle,className:"book-elements-section-title",children:"Notable Quotes"}),e("div",{style:h.quotesPadding,children:[D?t("div",{style:{display:"flex",flexDirection:"column",rowGap:"8px"},children:[1,2,3,4,5,6,7,8,9,10].map(a=>e("div",{className:"book-elements-quote-card",style:h.quoteCard,children:[t(n,{variant:"text",width:"60%",height:28}),t(n,{variant:"text",width:"40%",height:20}),t(n,{variant:"text",width:"25%",height:20}),t(n,{variant:"text",width:"30%",height:20})]},a))}):0===L.length?e("p",{style:{color:"#6B7280",fontStyle:"italic"},children:["No notable quotes found. ",t("button",{style:h.retryButton,onClick:()=>ie({endpoint:"notable-quotes",page:N,isbn:y,setData:q,setLoading:M,setHasMore:_,setTotalPage:F,title:f}),children:"Retry"})]}):t(a,{children:L.map((a,o)=>{const n="notable"===ae.list&&ae.page===N&&ae.index===o;return e("div",{className:"book-elements-quote-card",style:{...h.quoteCard,borderColor:n?"rgb(83, 43, 237)":"#CBD5E1"},onMouseEnter:e=>{e.currentTarget.style.transform="translateY(-4px)",e.currentTarget.style.boxShadow="0 4px 12px rgba(0, 0, 0, 0.15)"},onMouseLeave:e=>{e.currentTarget.style.transform="translateY(0)",e.currentTarget.style.boxShadow="0 1px 4px rgba(0, 0, 0, 0.1)"},onClick:async()=>{try{oe({list:"notable",page:N,index:o}),a?.chunkIds?.length>0&&await m(a.text,"Notable Quotes",a.chunkIds,0)}catch(e){console.error("Failed to highlight quote:",e)}},"data-selected":"notable"===ae.list&&ae.page===N&&ae.index===o?"true":void 0,children:[b&&b.length>0&&"notable_quotes"==T&&w?t("p",{style:h.quoteText,className:"book-elements-quote-text",dangerouslySetInnerHTML:{__html:g(p(a?.text,b))}}):t("p",{style:h.quoteText,className:"book-elements-quote-text",children:a?.text}),e("p",{style:h.quoteMeta,className:"book-elements-quote-meta",children:[a.chapter,t("br",{}),a.page]}),e("p",{style:h.quoteAuthor,children:["— ",a?.author]})]},o)})}),t("div",{className:"book-elements-pagination",style:{display:"flex",justifyContent:"flex-end",width:"100%"},children:!E&&t(o,{disabled:D,count:P,page:N,onChange:(e,t)=>B(t),shape:"rounded",style:{marginTop:"8px"}})})]})]}),e("div",{style:h.geoLocationsContainer,children:[t("p",{style:h.sectionTitle,className:"book-elements-section-title",children:"Key Geo Locations"}),e("div",{className:"book-elements-geo-wrapper",style:{...h.quotesPadding,marginBottom:"8px"},children:[V?t("div",{style:{display:"flex",flexWrap:"wrap",gap:"8px"},children:[1,2,3,4,5,6,7,8,9,10].map(e=>t(n,{variant:"rectangular",width:100,height:20,style:{borderRadius:"8px"}},e))}):0===Q.length?e("p",{style:{color:"#6B7280",fontStyle:"italic",paddingLeft:"12px"},children:["No key geo locations found. ",t("button",{style:h.retryButton,onClick:()=>ie({endpoint:"geo-locations",page:J,isbn:y,setData:O,setLoading:X,setHasMore:$,setTotalPage:te,title:f}),children:"Retry"})]}):t(a,{children:Q.map((a,o)=>{const n="geo_location"===ae.list&&ae.page===J&&ae.index===o;return e("span",{"data-selected":"geo_location"===ae.list&&ae.page===J&&ae.index===o?"true":void 0,style:h.geoLocationFlex,children:[t("span",{className:"book-elements-geo-text",style:{...h.geoText,fontWeight:n?"700":"",textDecoration:n?"underline":""},onClick:async()=>{try{oe({list:"geo_location",page:J,index:o}),a?.chunkIds?.length>0&&await m(a.name,"Key Geo Locations",a.chunkIds,0)}catch(e){console.error("Failed to highlight location:",e)}},onMouseOver:e=>e.currentTarget.style.textDecoration="underline",onMouseOut:e=>e.currentTarget.style.textDecoration="none",children:b&&b.length>0&&"location_details"==T&&w?t("span",{dangerouslySetInnerHTML:{__html:g(p(a?.name,b))}}):a?.name}),o<Q.length-1&&t("span",{style:h.geoDivider})]},o)})}),t("div",{className:"book-elements-pagination",style:{display:"flex",justifyContent:"flex-end",width:"100%"},children:!Z&&t(o,{disabled:V,count:ee,page:J,onChange:(e,t)=>U(t),shape:"rounded",style:{marginTop:"8px"}})})]})]}),e("div",{style:h.charactersContainer,children:[t("p",{style:h.sectionTitle,className:"book-elements-section-title",children:"Key Characters"}),j?t("div",{style:{display:"flex",flexWrap:"wrap",gap:"8px"},children:[1,2,3,4,5,6,7,8,9,10].map(a=>e("div",{style:{...h.characterCard,flexBasis:"40%"},children:[t(n,{variant:"circular",style:{...h.avatar,flexShrink:0}}),e("div",{style:{display:"flex",flexDirection:"column",flex:1},children:[t(n,{variant:"text",style:{flex:"1",flexShrink:0}}),t(n,{variant:"text",style:{flex:"1"}}),t(n,{variant:"text",style:{flex:"1"}}),t(n,{variant:"text",style:{flex:"1"}})]})]},a))}):0===H.length?e("p",{style:{color:"#6B7280",fontStyle:"italic",paddingLeft:"12px"},children:["No key characters found. ",t("button",{style:h.retryButton,onClick:()=>ie({endpoint:"notable-characters",page:W,isbn:y,setData:I,setLoading:R,setHasMore:K,setTotalPage:A,title:f}),children:"Retry"})]}):t(a,{children:t("div",{className:"book-elements-characters-grid",style:h.charactersGrid,children:H.map((a,o)=>{const n={...h.avatar,backgroundColor:a.bg,color:a.color},r="key_character"===ae.list&&ae.page===W&&ae.index===o;return e("div",{onMouseEnter:e=>{e.currentTarget.style.transform="translateY(-4px)",e.currentTarget.style.boxShadow="0 4px 12px rgba(0, 0, 0, 0.15)"},onMouseLeave:e=>{e.currentTarget.style.transform="translateY(0)",e.currentTarget.style.boxShadow="0 1px 4px rgba(0, 0, 0, 0.1)"},className:"book-elements-character-card",style:{...h.characterCard,borderColor:r?"rgb(83, 43, 237)":"#E5E7EB"},onClick:async()=>{oe({list:"key_character",page:W,index:o});try{a?.chunkIds?.length>0&&await m(a.name,"Key Characters",a.chunkIds,0)}catch(e){console.error("Failed to highlight character:",e)}},"data-selected":"key_character"===ae.list&&ae.page===W&&ae.index===o?"true":void 0,children:[t("div",{style:n,children:a.initials}),e("div",{style:{display:"flex",flexDirection:"column"},children:[t("p",{className:"book-elements-char-name",style:{...h.charName,margin:0},children:b&&b.length>0&&"notable_characters"==T&&a.name.toLowerCase()===b[0].toLowerCase()&&w?t("span",{dangerouslySetInnerHTML:{__html:g(p(a.name,b))}}):a.name}),t("p",{className:"book-elements-char-desc",style:{...h.charDesc,margin:0,marginTop:"4px"},children:t(s,{remarkPlugins:[d],rehypePlugins:[c],components:{p:({node:e,...a})=>t("p",{style:{marginTop:0},...a})},children:a?.description})})]})]},o)})})}),t("div",{className:"book-elements-pagination",style:{display:"flex",justifyContent:"flex-end",width:"100%"},children:!G&&t(o,{count:Y,disabled:j,page:W,onChange:(e,t)=>z(t),shape:"rounded",style:{marginTop:"8px"}})})]})]})};export{x as default};
1
+ import{jsxs as e,jsx as t,Fragment as a}from"react/jsx-runtime";import o from"@mui/material/Pagination";import n from"@mui/material/Skeleton";import{useRef as r,useEffect as i,useState as l}from"react";import s from"react-markdown";import c from"rehype-raw";import d from"remark-breaks";import{highlightTermsFunc as p}from"../utils/highlight.js";import{sanitizeHtml as g}from"../../../utils/sanitizeHtml.js";const h={sectionTitle:{fontSize:"14px",fontWeight:600,color:"#667085",marginBottom:"12px"},quotesPadding:{paddingLeft:"12px"},quoteCard:{border:"1px solid #CBD5E1",borderRadius:"8px",padding:"16px",backgroundColor:"#F8FAFC",boxShadow:"0 1px 2px rgba(0,0,0,0.05)",marginBottom:"16px",cursor:"pointer",transition:"transform 0.2s ease, box-shadow 0.2s ease"},quoteText:{fontStyle:"italic",color:"#475569",fontSize:"14px",fontWeight:400,marginBottom:"12px"},quoteMeta:{color:"#475569",fontSize:"12px",fontWeight:400},quoteAuthor:{fontSize:"10px",fontWeight:600,color:"#475569",marginTop:"8px",marginBottom:"18px"},button:{color:"#5928ED",fontSize:"14px",fontWeight:600,background:"none",border:"none",cursor:"pointer",padding:0,textDecoration:"none",paddingLeft:"12px"},geoLocationsContainer:{marginTop:"24px",marginBottom:"24px"},geoText:{fontSize:"14px",fontWeight:500,cursor:"pointer",color:"#532BED"},geoDivider:{margin:"0 8px",color:"#475abb",backgroundColor:"#475abb",width:"1px",height:"18px",display:"inline-block"},geoLocationFlex:{display:"inline-flex",alignItems:"center",gap:"8px",marginBottom:"8px"},charactersContainer:{marginTop:"16px"},charactersGrid:{display:"grid",gridTemplateColumns:"repeat(2, 1fr)",gap:"16px",marginBottom:"16px",paddingLeft:"12px"},characterCard:{border:"1px solid #E5E7EB",borderRadius:"8px",backgroundColor:"#FFFFFF",boxShadow:"0 1px 2px rgba(0,0,0,0.05)",display:"flex",alignItems:"flex-start",gap:"12px",padding:"16px",cursor:"pointer",transition:"transform 0.2s ease, box-shadow 0.2s ease"},avatar:{width:"32px",height:"32px",display:"flex",alignItems:"center",justifyContent:"center",borderRadius:"9999px",fontSize:"14px",fontWeight:600,flexShrink:0},charName:{fontStyle:"normal",fontWeight:600,color:"#101827",fontSize:"16px"},charDesc:{fontStyle:"normal",fontWeight:400,fontSize:"14px",color:"#6B7280"},retryButton:{backgroundColor:"#5928EC",color:"#fff",padding:"6px 10px",border:"none",borderRadius:"6px",cursor:"pointer",fontSize:"12px",fontWeight:"500"}},x=({data:x,updateQuotesToHighLight:m,handleFetchManuscriptElements:u,BookIsbn:y,title:f,highlightTerms:b,onHighlightMatch:k,defaultPages:v,citationType:C,citationSubTitle:T,highlightEnabled:w})=>{const S=r(!0);i(()=>()=>{S.current=!1},[]);const[L,q]=l([]),[N,B]=l(v?.quotes??1),[D,M]=l(!1),[E,_]=l(!0),[P,F]=l(0),[H,I]=l([]),[W,z]=l(v?.characters??1),[R,j]=l(!1),[G,K]=l(!0),[Y,A]=l(0),[Q,O]=l([]),[J,U]=l(v?.locations??1),[V,X]=l(!1),[Z,$]=l(!0),[ee,te]=l(0),[ae,oe]=l({list:"",index:-1,page:1}),ne=r(!1),re=r(null);i(()=>{if(!b?.length||!w)return;const e=b.map(e=>e.toLowerCase()),t=t=>t&&e.some(e=>t.toLowerCase().includes(e));let a=!1;"notable_quotes"==T&&L.forEach((e,o)=>{!a&&t(e.text)&&(k?.(!0),a=!0)}),"location_details"==T&&Q.forEach((e,o)=>{!a&&t(e.name)&&(k?.(!0),a=!0)}),"notable_characters"==T&&H.forEach((t,o)=>{var n;!a&&((n=t.name)&&e[0]===n.toLowerCase())&&(k?.(!0),a=!0)})},[b,L,Q,H,N,J,W]),i(()=>{v&&(v.quotes&&B(v.quotes),v.locations&&U(v.locations),v.characters&&z(v.characters))},[v]),i(()=>{ne.current=!1},[b]);const ie=async({endpoint:e,page:t,isbn:a,setData:o,setLoading:n,setHasMore:r,setTotalPage:i,title:l})=>{n(!0);try{const n=await u({endpoint:e,page:t,pageSize:10,isbn:a,title:l});if(!S.current)return;o(n?.data||[]),i(n?.pagination?.totalPages||0),r(!n?.pagination?.hasNext&&!n?.pagination?.hasPrevious)}finally{S.current&&n(!1)}};return i(()=>{ie({endpoint:"notable-quotes",page:N,isbn:y,setData:q,setLoading:M,setHasMore:_,setTotalPage:F,title:f})},[N]),i(()=>{ie({endpoint:"notable-characters",page:W,isbn:y,setData:I,setLoading:j,setHasMore:K,setTotalPage:A,title:f})},[W]),i(()=>{ie({endpoint:"geo-locations",page:J,isbn:y,setData:O,setLoading:X,setHasMore:$,setTotalPage:te,title:f})},[J]),e("div",{ref:re,className:"book-elements-container",children:[e("div",{style:{marginBottom:"24px"},children:[t("p",{style:h.sectionTitle,className:"book-elements-section-title",children:"Notable Quotes"}),e("div",{style:h.quotesPadding,children:[D?t("div",{style:{display:"flex",flexDirection:"column",rowGap:"8px"},children:[1,2,3,4,5,6,7,8,9,10].map(a=>e("div",{className:"book-elements-quote-card",style:h.quoteCard,children:[t(n,{variant:"text",width:"60%",height:28}),t(n,{variant:"text",width:"40%",height:20}),t(n,{variant:"text",width:"25%",height:20}),t(n,{variant:"text",width:"30%",height:20})]},a))}):0===L.length?e("p",{style:{color:"#6B7280",fontStyle:"italic"},children:["No notable quotes found. ",t("button",{style:h.retryButton,onClick:()=>ie({endpoint:"notable-quotes",page:N,isbn:y,setData:q,setLoading:M,setHasMore:_,setTotalPage:F,title:f}),children:"Retry"})]}):t(a,{children:L.map((a,o)=>{const n="notable"===ae.list&&ae.page===N&&ae.index===o;return e("div",{className:"book-elements-quote-card",style:{...h.quoteCard,borderColor:n?"rgb(83, 43, 237)":"#CBD5E1"},onMouseEnter:e=>{e.currentTarget.style.transform="translateY(-4px)",e.currentTarget.style.boxShadow="0 4px 12px rgba(0, 0, 0, 0.15)"},onMouseLeave:e=>{e.currentTarget.style.transform="translateY(0)",e.currentTarget.style.boxShadow="0 1px 4px rgba(0, 0, 0, 0.1)"},onClick:async()=>{try{oe({list:"notable",page:N,index:o}),a?.chunkIds?.length>0&&await m(a.text,"Notable Quotes",a.chunkIds,0)}catch(e){console.error("Failed to highlight quote:",e)}},"data-selected":"notable"===ae.list&&ae.page===N&&ae.index===o?"true":void 0,children:[b&&b.length>0&&"notable_quotes"==T&&w?t("p",{style:h.quoteText,className:"book-elements-quote-text",dangerouslySetInnerHTML:{__html:g(p(a?.text,b))}}):t("p",{style:h.quoteText,className:"book-elements-quote-text",children:a?.text}),e("p",{style:h.quoteMeta,className:"book-elements-quote-meta",children:[a.chapter,t("br",{}),a.page]}),e("p",{style:h.quoteAuthor,children:["— ",a?.author]})]},o)})}),t("div",{className:"book-elements-pagination",style:{display:"flex",justifyContent:"flex-end",width:"100%"},children:!E&&t(o,{disabled:D,count:P,page:N,onChange:(e,t)=>B(t),shape:"rounded",style:{marginTop:"8px"}})})]})]}),e("div",{style:h.geoLocationsContainer,children:[t("p",{style:h.sectionTitle,className:"book-elements-section-title",children:"Key Geo Locations"}),e("div",{className:"book-elements-geo-wrapper",style:{...h.quotesPadding,marginBottom:"8px"},children:[V?t("div",{style:{display:"flex",flexWrap:"wrap",gap:"8px"},children:[1,2,3,4,5,6,7,8,9,10].map(e=>t(n,{variant:"rectangular",width:100,height:20,style:{borderRadius:"8px"}},e))}):0===Q.length?e("p",{style:{color:"#6B7280",fontStyle:"italic",paddingLeft:"12px"},children:["No key geo locations found. ",t("button",{style:h.retryButton,onClick:()=>ie({endpoint:"geo-locations",page:J,isbn:y,setData:O,setLoading:X,setHasMore:$,setTotalPage:te,title:f}),children:"Retry"})]}):t(a,{children:Q.map((a,o)=>{const n="geo_location"===ae.list&&ae.page===J&&ae.index===o;return e("span",{"data-selected":"geo_location"===ae.list&&ae.page===J&&ae.index===o?"true":void 0,style:h.geoLocationFlex,children:[t("span",{className:"book-elements-geo-text",style:{...h.geoText,fontWeight:n?"700":"",textDecoration:n?"underline":""},onClick:async()=>{try{oe({list:"geo_location",page:J,index:o}),a?.chunkIds?.length>0&&await m(a.name,"Key Geo Locations",a.chunkIds,0)}catch(e){console.error("Failed to highlight location:",e)}},onMouseOver:e=>e.currentTarget.style.textDecoration="underline",onMouseOut:e=>e.currentTarget.style.textDecoration="none",children:b&&b.length>0&&"location_details"==T&&w?t("span",{dangerouslySetInnerHTML:{__html:g(p(a?.name,b))}}):a?.name}),o<Q.length-1&&t("span",{style:h.geoDivider})]},o)})}),t("div",{className:"book-elements-pagination",style:{display:"flex",justifyContent:"flex-end",width:"100%"},children:!Z&&t(o,{disabled:V,count:ee,page:J,onChange:(e,t)=>U(t),shape:"rounded",style:{marginTop:"8px"}})})]})]}),e("div",{style:h.charactersContainer,children:[t("p",{style:h.sectionTitle,className:"book-elements-section-title",children:"Key Characters"}),R?t("div",{style:{display:"flex",flexWrap:"wrap",gap:"8px"},children:[1,2,3,4,5,6,7,8,9,10].map(a=>e("div",{style:{...h.characterCard,flexBasis:"40%"},children:[t(n,{variant:"circular",style:{...h.avatar,flexShrink:0}}),e("div",{style:{display:"flex",flexDirection:"column",flex:1},children:[t(n,{variant:"text",style:{flex:"1",flexShrink:0}}),t(n,{variant:"text",style:{flex:"1"}}),t(n,{variant:"text",style:{flex:"1"}}),t(n,{variant:"text",style:{flex:"1"}})]})]},a))}):0===H.length?e("p",{style:{color:"#6B7280",fontStyle:"italic",paddingLeft:"12px"},children:["No key characters found. ",t("button",{style:h.retryButton,onClick:()=>ie({endpoint:"notable-characters",page:W,isbn:y,setData:I,setLoading:j,setHasMore:K,setTotalPage:A,title:f}),children:"Retry"})]}):t(a,{children:t("div",{className:"book-elements-characters-grid",style:h.charactersGrid,children:H.map((a,o)=>{const n={...h.avatar,backgroundColor:a.bg,color:a.color},r="key_character"===ae.list&&ae.page===W&&ae.index===o;return e("div",{onMouseEnter:e=>{e.currentTarget.style.transform="translateY(-4px)",e.currentTarget.style.boxShadow="0 4px 12px rgba(0, 0, 0, 0.15)"},onMouseLeave:e=>{e.currentTarget.style.transform="translateY(0)",e.currentTarget.style.boxShadow="0 1px 4px rgba(0, 0, 0, 0.1)"},className:"book-elements-character-card",style:{...h.characterCard,borderColor:r?"rgb(83, 43, 237)":"#E5E7EB"},onClick:async()=>{oe({list:"key_character",page:W,index:o});try{a?.chunkIds?.length>0&&await m(a.name,"Key Characters",a.chunkIds,0)}catch(e){console.error("Failed to highlight character:",e)}},"data-selected":"key_character"===ae.list&&ae.page===W&&ae.index===o?"true":void 0,children:[t("div",{style:n,children:a.initials}),e("div",{style:{display:"flex",flexDirection:"column"},children:[t("p",{className:"book-elements-char-name",style:{...h.charName,margin:0},children:b&&b.length>0&&"notable_characters"==T&&a.name.toLowerCase()===b[0].toLowerCase()&&w?t("span",{dangerouslySetInnerHTML:{__html:g(p(a.name,b))}}):a.name}),t("p",{className:"book-elements-char-desc",style:{...h.charDesc,margin:0,marginTop:"4px"},children:t(s,{remarkPlugins:[d],rehypePlugins:[c],components:{p:({node:e,...a})=>t("p",{style:{marginTop:0},...a})},children:a?.description})})]})]},o)})})}),t("div",{className:"book-elements-pagination",style:{display:"flex",justifyContent:"flex-end",width:"100%"},children:!G&&t(o,{count:Y,disabled:R,page:W,onChange:(e,t)=>z(t),shape:"rounded",style:{marginTop:"8px"}})})]})]})};export{x as default};
2
2
  //# sourceMappingURL=BookElementsCard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BookElementsCard.js","sources":["../../../../src/features/Bookemon/BookElementsCard/BookElementsCard.tsx"],"sourcesContent":["// import { Pagination, Skeleton, } from \"@mui/lab\";\nimport Pagination from '@mui/material/Pagination';\nimport Skeleton from '@mui/material/Skeleton';\nimport React, { CSSProperties, useEffect, useMemo, useRef, useState } from \"react\";\nimport ReactMarkdown from \"react-markdown\";\nimport rehypeRaw from \"rehype-raw\";\nimport remarkBreaks from 'remark-breaks'\nimport { highlightTermsFunc } from '../utils/highlight';\nimport { sanitizeHtml } from \"../../../utils/sanitizeHtml\";\nimport \"./BookElementsCard.css\";\nimport { BookemonProps } from '../types/citation.types';\n\nconst defaultStyles: { [key: string]: CSSProperties } = {\n sectionTitle: {\n fontSize: \"14px\",\n fontWeight: 600,\n color: \"#667085\",\n marginBottom: \"12px\",\n },\n quotesPadding: {\n paddingLeft : \"12px\",\n },\n quoteCard: {\n border: \"1px solid #CBD5E1\",\n borderRadius: \"8px\",\n padding: \"16px\",\n backgroundColor: \"#F8FAFC\",\n boxShadow: \"0 1px 2px rgba(0,0,0,0.05)\",\n marginBottom: \"16px\",\n cursor: \"pointer\",\n transition: \"transform 0.2s ease, box-shadow 0.2s ease\",\n },\n quoteText: {\n fontStyle: \"italic\",\n color: \"#475569\",\n fontSize: \"14px\",\n fontWeight: 400,\n marginBottom: \"12px\",\n },\n quoteMeta: {\n color: \"#475569\",\n fontSize: \"12px\",\n fontWeight: 400,\n },\n quoteAuthor: {\n fontSize: \"10px\",\n fontWeight: 600,\n color: \"#475569\",\n marginTop: \"8px\",\n marginBottom: '18px'\n // textAlign: \"right\",\n },\n button: {\n color: \"#5928ED\",\n fontSize: \"14px\",\n fontWeight: 600,\n background: \"none\",\n border: \"none\",\n cursor: \"pointer\",\n padding: 0,\n textDecoration: \"none\",\n paddingLeft : \"12px\",\n },\n geoLocationsContainer: {\n marginTop: \"24px\",\n marginBottom: \"24px\",\n },\ngeoText: {\n fontSize: \"14px\",\n fontWeight: 500,\n cursor: \"pointer\",\n color: \"#532BED\",\n // backgroundImage: \"linear-gradient(115deg, #2546F0 -23.58%, #5928ED 74.92%)\",\n // backgroundClip: \"text\",\n // WebkitBackgroundClip: \"text\",\n // WebkitTextFillColor: \"transparent\",\n // background: \"var(--Gradient-Primary-100, linear-gradient(115deg, #2546F0 -23.58%, #5928ED 74.92%))\",\n},\n geoDivider: {\n margin: \"0 8px\",\n color: \"#475abb\",\n backgroundColor: \"#475abb\",\n width : \"1px\",\n height : \"18px\",\n display: \"inline-block\",\n },\n geoLocationFlex: {\n display: \"inline-flex\",\n alignItems: \"center\",\n gap: \"8px\",\n marginBottom: \"8px\",\n },\n charactersContainer: {\n marginTop: \"16px\",\n },\n charactersGrid: {\n display: \"grid\",\n gridTemplateColumns: \"repeat(2, 1fr)\",\n gap: \"16px\",\n marginBottom: \"16px\",\n paddingLeft : \"12px\",\n },\n characterCard: {\n border: \"1px solid #E5E7EB\",\n borderRadius: \"8px\",\n backgroundColor: \"#FFFFFF\",\n boxShadow: \"0 1px 2px rgba(0,0,0,0.05)\",\n display: \"flex\",\n alignItems: \"flex-start\",\n gap: \"12px\",\n padding: \"16px\",\n cursor: \"pointer\",\n transition: \"transform 0.2s ease, box-shadow 0.2s ease\",\n },\n avatar: {\n width: \"32px\",\n height: \"32px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n borderRadius: \"9999px\",\n fontSize: \"14px\",\n fontWeight: 600,\n flexShrink: 0,\n },\n charName: {\n fontStyle: \"normal\",\n fontWeight: 600,\n color: \"#101827\",\n fontSize: \"16px\",\n },\n charDesc: {\n fontStyle: \"normal\",\n fontWeight: 400,\n fontSize: \"14px\",\n color: \"#6B7280\",\n },\n retryButton: {\n backgroundColor: '#5928EC',\n color: '#fff',\n padding: '6px 10px',\n border: 'none',\n borderRadius: '6px',\n cursor: 'pointer',\n fontSize: '12px',\n fontWeight: '500',\n }\n};\nexport interface IQuote {\n text: string;\n chapter: string;\n page: string;\n author: string;\n chunkIds : string[],\n}\n\nexport interface ICharacter {\n name: string;\n description: string;\n bg: string;\n color: string;\n initials?: string;\n chunkIds : string[],\n}\n\nexport interface geoLocationData {\n chunkIds : string[],\n name : string\n}\n\nexport interface IBookElementsData {\n notableQuotes: IQuote[];\n geoLocations: geoLocationData[];\n characters: ICharacter[];\n}\n\ninterface BookElementsCardProps {\n data: IBookElementsData;\n updateQuotesToHighLight: (textToHighLight: string,content:string, chunkIds:string[], currentIndex : number) => void;\n handleFetchManuscriptElements: ({\n endpoint,\n page,\n pageSize,\n isbn,\n title\n }: {\n endpoint: any;\n page: any;\n pageSize: number; // optional, default to 10\n isbn: any;\n title : string\n }) => Promise<any>;\n BookIsbn : string;\n title : string\n highlightTerms?: string[];\n onHighlightMatch?: (matched: boolean) => void;\n defaultPages?: {\n quotes?: number;\n locations?: number;\n characters?: number;\n };\n citationType: BookemonProps['citationType'];\n citationSubTitle: BookemonProps['citationSubTitle'];\n highlightEnabled: boolean\n}\n\nconst BookElementsCard = ({\n data,\n updateQuotesToHighLight,\n handleFetchManuscriptElements,\n BookIsbn,\n title,\n highlightTerms,\n onHighlightMatch,\n defaultPages,\n citationType,\n citationSubTitle,\n highlightEnabled\n}: BookElementsCardProps) => {\n\n const isAliveRef = useRef(true);\n\n useEffect(() => {\n return () => {\n isAliveRef.current = false;\n };\n }, []);\n\n const pageSize = 10; // 10 items per page\n\n // const { notableQuotes = [], geoLocations = [], characters = [] } = data;\n const [quotes, setQuotes] = useState<any[]>([]);\n const [quotesPage, setQuotesPage] = useState(defaultPages?.quotes ?? 1);\n const [quotesLoading, setQuotesLoading] = useState(false);\n const [quotesHasMore, setQuotesHasMore] = useState(true);\n const [quotesTotalPages, setQuotesTotalPages] = useState(0);\n\n const [characters, setCharacters] = useState<any[]>([]);\n const [charactersPage, setCharactersPage] = useState(defaultPages?.characters ?? 1);\n const [charactersLoading, setCharactersLoading] = useState(false);\n const [charactersHasMore, setCharactersHasMore] = useState(true);\n const [charactersTotalPages, setCharactersTotalPages] = useState(0);\n\n\n const [locations, setLocations] = useState<any[]>([]);\n const [locationsPage, setLocationsPage] = useState(defaultPages?.locations ?? 1);\n const [locationsLoading, setLocationsLoading] = useState(false);\n const [locationsHasMore, setLocationsHasMore] = useState(true);\n const [locationsTotalPages, setLocationsTotalPages] = useState(0);\n\n const [selectedCard, setSelectedCard] = useState({ list: \"\", index: -1 , page: 1});\n\n const didCheckRef = useRef(false);\n const containerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!highlightTerms?.length || !highlightEnabled) return;\n \n const lowerTerms = highlightTerms.map(t => t.toLowerCase());\n \n const contains = (text?: string) =>\n text && lowerTerms.some(term => text.toLowerCase().includes(term));\n\n\n const charExactMatch = (text?: string) =>\n !!text && lowerTerms[0] === text.toLowerCase();\n \n let found = false;\n \n // 🔎 Check Quotes\n if(citationSubTitle == 'notable_quotes'){\n quotes.forEach((quote, index) => {\n if (!found && contains(quote.text)) {\n \n onHighlightMatch?.(true);\n found = true;\n }\n });\n }\n \n // 🔎 Check Locations\n if(citationSubTitle == 'location_details'){\n locations.forEach((loc, index) => {\n if (!found && contains(loc.name)) {\n \n onHighlightMatch?.(true);\n found = true;\n }\n });\n }\n \n // 🔎 Check Characters\n if(citationSubTitle == \"notable_characters\"){\n characters.forEach((char, index) => {\n if (\n !found &&\n (charExactMatch(char.name))\n ) {\n \n onHighlightMatch?.(true);\n found = true;\n }\n });\n }\n \n }, [\n highlightTerms,\n quotes,\n locations,\n characters,\n quotesPage,\n locationsPage,\n charactersPage\n ]);\n\n \n\n useEffect(() => {\n if (!defaultPages) return;\n \n if (defaultPages.quotes) {\n setQuotesPage(defaultPages.quotes);\n }\n \n if (defaultPages.locations) {\n setLocationsPage(defaultPages.locations);\n }\n \n if (defaultPages.characters) {\n setCharactersPage(defaultPages.characters);\n }\n \n }, [defaultPages]);\n \n\n useEffect(() => {\n didCheckRef.current = false;\n }, [highlightTerms]);\n\n const getManuscriptElementsData = async ({endpoint, page,isbn,setData,setLoading, setHasMore,setTotalPage,title} : {endpoint : any, page : any,isbn : any, setData : any, setLoading : any, setHasMore : any, setTotalPage : any, title : string}) => {\n setLoading(true);\n\n try {\n const newData = await handleFetchManuscriptElements({\n endpoint,\n page,\n pageSize,\n isbn,\n title\n });\n\n if (!isAliveRef.current) return;\n\n setData(newData?.data || []);\n setTotalPage(newData?.pagination?.totalPages || 0);\n setHasMore(\n !newData?.pagination?.hasNext &&\n !newData?.pagination?.hasPrevious\n );\n } finally {\n if (isAliveRef.current) {\n setLoading(false);\n }\n }\n};\n\n\n // fetch quotes for pagination\n useEffect(() => {\n // getManuscriptElementsData(\"notable-quotes\", quotesPage, setQuotes, setQuotesLoading, setQuotesHasMore);\n getManuscriptElementsData({\n endpoint: \"notable-quotes\",\n page: quotesPage,\n isbn: BookIsbn,\n setData: setQuotes,\n setLoading: setQuotesLoading,\n setHasMore: setQuotesHasMore,\n setTotalPage: setQuotesTotalPages,\n title : title,\n });\n }, [quotesPage]);\n\n // fetch character for pagination\n useEffect(() => {\n getManuscriptElementsData({\n endpoint: \"notable-characters\",\n page: charactersPage,\n isbn: BookIsbn,\n setData: setCharacters,\n setLoading: setCharactersLoading,\n setHasMore: setCharactersHasMore,\n setTotalPage: setCharactersTotalPages,\n title : title,\n })\n }, [charactersPage]);\n\n // fetch geo-location for pagination\n useEffect(() => {\n getManuscriptElementsData({\n endpoint: \"geo-locations\",\n page: locationsPage,\n isbn: BookIsbn,\n setData: setLocations,\n setLoading: setLocationsLoading,\n setHasMore: setLocationsHasMore,\n setTotalPage: setLocationsTotalPages,\n title : title,\n })\n }, [locationsPage]);\n\n\n\n return (\n <div ref={containerRef} className=\"book-elements-container\">\n {/* Notable Quotes */}\n <div style={{ marginBottom: \"24px\" }}>\n <p style={defaultStyles.sectionTitle} className=\"book-elements-section-title\">Notable Quotes</p>\n <div style={defaultStyles.quotesPadding}>\n {\n quotesLoading ? (\n <div style={{ display: \"flex\", flexDirection: \"column\", rowGap: \"8px\" }}>\n {[1, 2, 3, 4, 5, 6, 7, 8, 9, 10].map((item) => (\n <div className=\"book-elements-quote-card\" key={item} style={defaultStyles.quoteCard}>\n {/* Quote line */}\n <Skeleton variant=\"text\" width=\"60%\" height={28} />\n\n {/* Chapter and page info */}\n <Skeleton variant=\"text\" width=\"40%\" height={20} />\n <Skeleton variant=\"text\" width=\"25%\" height={20} />\n\n {/* Author */}\n <Skeleton variant=\"text\" width=\"30%\" height={20} />\n </div>\n ))}\n </div>\n ) : quotes.length === 0 ? (\n <p style={{ color: \"#6B7280\", fontStyle: \"italic\" }}>\n No notable quotes found. <button style={defaultStyles.retryButton} onClick={() => getManuscriptElementsData({\n endpoint: \"notable-quotes\",\n page: quotesPage,\n isbn: BookIsbn,\n setData: setQuotes,\n setLoading: setQuotesLoading,\n setHasMore: setQuotesHasMore,\n setTotalPage: setQuotesTotalPages,\n title : title,\n })}>Retry</button>\n </p>\n ) : <>\n {quotes.map((quote, index) => {\n const isSelected = selectedCard.list === \"notable\" && selectedCard.page === quotesPage && selectedCard.index === index;\n\n return (\n <div\n key={index}\n className=\"book-elements-quote-card\"\n style={{\n ...defaultStyles.quoteCard,\n borderColor : isSelected ? 'rgb(83, 43, 237)' : '#CBD5E1',\n }}\n onMouseEnter={(e) => {\n e.currentTarget.style.transform = \"translateY(-4px)\";\n e.currentTarget.style.boxShadow = \"0 4px 12px rgba(0, 0, 0, 0.15)\";\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.transform = \"translateY(0)\";\n e.currentTarget.style.boxShadow = \"0 1px 4px rgba(0, 0, 0, 0.1)\";\n }}\n onClick={async () => {\n try {\n setSelectedCard({ list: \"notable\", page : quotesPage, index })\n if ( quote?.chunkIds?.length > 0) {\n await updateQuotesToHighLight(quote.text, \"Notable Quotes\", quote.chunkIds, 0);\n }\n } catch (error) {\n console.error(\"Failed to highlight quote:\", error);\n }\n }}\n data-selected={\n selectedCard.list === \"notable\" &&\n selectedCard.page === quotesPage &&\n selectedCard.index === index\n ? \"true\"\n : undefined\n }\n >\n {highlightTerms && highlightTerms.length > 0 && citationSubTitle==\"notable_quotes\" && highlightEnabled ? (\n <p style={defaultStyles.quoteText} className=\"book-elements-quote-text\" dangerouslySetInnerHTML={{ __html: sanitizeHtml(highlightTermsFunc(quote?.text, highlightTerms)) }} />\n ) : (\n <p style={defaultStyles.quoteText} className=\"book-elements-quote-text\">{quote?.text}</p>\n )}\n {/* <p style={defaultStyles.quoteMeta} className=\"book-elements-quote-meta\">\n {processTextWithHighlight(\n quote.chapter,\n highlightTerms\n )} <br /> {processTextWithHighlight(\n quote.page,\n highlightTerms\n )}\n </p> */}\n <p style={defaultStyles.quoteMeta} className=\"book-elements-quote-meta\">\n {quote.chapter} \n <br /> \n {quote.page}\n </p>\n <p style={defaultStyles.quoteAuthor}>— {quote?.author}</p>\n {/* <p style={defaultStyles.quoteAuthor}>— {processTextWithHighlight(\n quote?.author,\n highlightTerms\n )}</p> */}\n </div>\n )\n })}\n </>\n }\n <div className=\"book-elements-pagination\" style={{display : 'flex', justifyContent:'flex-end', width : '100%'}}>\n {!quotesHasMore && <Pagination\n disabled={quotesLoading}\n count={quotesTotalPages}\n page={quotesPage}\n onChange={(_, value) => setQuotesPage(value)}\n shape=\"rounded\"\n style={{marginTop: \"8px\",}}\n />}\n </div>\n \n </div>\n </div>\n {/* Key Geo Locations */}\n <div style={defaultStyles.geoLocationsContainer}>\n <p style={defaultStyles.sectionTitle} className=\"book-elements-section-title\">Key Geo Locations</p>\n <div className=\"book-elements-geo-wrapper\" style={{ ...defaultStyles.quotesPadding, marginBottom: \"8px\" }}>\n {\n locationsLoading ? (\n <div style={{ display: \"flex\", flexWrap: \"wrap\", gap: \"8px\" }}>\n {[1, 2, 3, 4, 5, 6,7,8,9,10].map((item) => (\n <Skeleton\n key={item}\n variant=\"rectangular\"\n width={100}\n height={20}\n style={{ borderRadius: \"8px\" }}\n />\n ))}\n </div>\n ) : locations.length === 0 ? (\n <p style={{ color: \"#6B7280\", fontStyle: \"italic\", paddingLeft: \"12px\" }}>\n No key geo locations found. <button style={defaultStyles.retryButton} onClick={() => getManuscriptElementsData({\n endpoint: \"geo-locations\",\n page: locationsPage,\n isbn: BookIsbn,\n setData: setLocations,\n setLoading: setLocationsLoading,\n setHasMore: setLocationsHasMore,\n setTotalPage: setLocationsTotalPages,\n title : title,\n })}>Retry</button>\n </p> \n ) : <>\n {locations.map((location, index) => {\n const isSelected = selectedCard.list === \"geo_location\" && selectedCard.page === locationsPage && selectedCard.index === index;\n return (\n <span data-selected={\n selectedCard.list === \"geo_location\" &&\n selectedCard.page === locationsPage &&\n selectedCard.index === index\n ? \"true\"\n : undefined\n } key={index} style={defaultStyles.geoLocationFlex}>\n <span\n className=\"book-elements-geo-text\"\n style={{\n ...defaultStyles.geoText,\n fontWeight: isSelected ? \"700\" : \"\",\n textDecoration : isSelected ? 'underline' : ''\n }}\n onClick={async () => {\n try {\n setSelectedCard({ list: \"geo_location\",page : locationsPage, index })\n if (location?.chunkIds?.length > 0) {\n await updateQuotesToHighLight(location.name, \"Key Geo Locations\", location.chunkIds, 0);\n }\n \n } catch (error) {\n console.error(\"Failed to highlight location:\", error);\n }\n }}\n onMouseOver={(e) =>\n (e.currentTarget.style.textDecoration = \"underline\")\n }\n onMouseOut={(e) =>\n (e.currentTarget.style.textDecoration = \"none\")\n }\n >\n {highlightTerms && highlightTerms.length > 0 && citationSubTitle==\"location_details\" && highlightEnabled ? (\n <span dangerouslySetInnerHTML={{ __html: sanitizeHtml(highlightTermsFunc(location?.name, highlightTerms)) }} />\n ) : (\n location?.name\n )}\n </span>\n {index < locations.length - 1 && (\n <span style={defaultStyles.geoDivider}></span>\n )}\n </span>\n )\n })}\n </>\n }\n <div className=\"book-elements-pagination\" style={{display : 'flex', justifyContent:'flex-end', width : '100%'}}>\n {!locationsHasMore && <Pagination\n disabled={locationsLoading}\n count={locationsTotalPages}\n page={locationsPage}\n onChange={(_, value) => setLocationsPage(value)}\n shape=\"rounded\"\n style={{marginTop: \"8px\",}}\n />}\n </div>\n </div>\n </div>\n {/* Key Characters */}\n <div style={defaultStyles.charactersContainer}>\n <p style={defaultStyles.sectionTitle} className=\"book-elements-section-title\">Key Characters</p>\n {\n charactersLoading ? (\n <div style={{ display: \"flex\", flexWrap: \"wrap\", gap: \"8px\" }}>\n {[1, 2, 3, 4, 5, 6,7,8,9,10].map((item) => (\n <div style={{...defaultStyles.characterCard, flexBasis: '40%'}} key={item}>\n {/* Avatar Skeleton */}\n <Skeleton\n variant=\"circular\"\n style={{ ...defaultStyles.avatar, flexShrink: 0 }}\n\n />\n\n {/* Content Skeleton */}\n <div style={{ display: \"flex\", flexDirection: \"column\", flex: 1, }}>\n {/* Name Skeleton */}\n <Skeleton\n variant=\"text\"\n style={{ flex : '1',flexShrink: 0 }}\n />\n\n {/* Description Skeleton - Multiple lines */}\n <Skeleton variant=\"text\" style={{ flex : '1' }} />\n <Skeleton variant=\"text\" style={{ flex : '1' }} />\n <Skeleton variant=\"text\" style={{ flex : '1' }} />\n </div>\n </div>\n ))}\n </div>\n ) : characters.length === 0 ? (\n <p style={{ color: \"#6B7280\", fontStyle: \"italic\", paddingLeft: \"12px\" }}>\n No key characters found. <button style={defaultStyles.retryButton} onClick={() => getManuscriptElementsData({\n endpoint: \"notable-characters\",\n page: charactersPage,\n isbn: BookIsbn,\n setData: setCharacters,\n setLoading: setCharactersLoading,\n setHasMore: setCharactersHasMore,\n setTotalPage: setCharactersTotalPages,\n title : title,\n })}>Retry</button>\n </p> \n ) : <>\n <div className=\"book-elements-characters-grid\" style={defaultStyles.charactersGrid}>\n {characters.map((character, index) => {\n const avatarStyle = {\n ...defaultStyles.avatar,\n backgroundColor: character.bg,\n color: character.color,\n };\n const isSelected = selectedCard.list === \"key_character\" && selectedCard.page === charactersPage && selectedCard.index === index;\n\n return (\n <div\n key={index}\n onMouseEnter={(e) => {\n e.currentTarget.style.transform = \"translateY(-4px)\";\n e.currentTarget.style.boxShadow = \"0 4px 12px rgba(0, 0, 0, 0.15)\";}}\n onMouseLeave={(e) => {\n e.currentTarget.style.transform = \"translateY(0)\";\n e.currentTarget.style.boxShadow = \"0 1px 4px rgba(0, 0, 0, 0.1)\";}}\n className=\"book-elements-character-card\"\n style={{\n ...defaultStyles.characterCard,\n borderColor : isSelected ? 'rgb(83, 43, 237)' : '#E5E7EB'\n }}\n onClick={async () => {\n setSelectedCard({ list: \"key_character\",page : charactersPage, index })\n try {\n if (character?.chunkIds?.length > 0) {\n await updateQuotesToHighLight(character.name, \"Key Characters\", character.chunkIds, 0);\n }\n } catch (error) {\n console.error(\"Failed to highlight character:\", error);\n }\n }}\n data-selected={\n selectedCard.list === \"key_character\" &&\n selectedCard.page === charactersPage &&\n selectedCard.index === index\n ? \"true\"\n : undefined\n }\n >\n <div style={avatarStyle}>{character.initials}</div>\n\n <div style={{ display: \"flex\", flexDirection: \"column\" }}>\n <p className=\"book-elements-char-name\" style={{ ...defaultStyles.charName, margin: 0 }}>\n {highlightTerms && highlightTerms.length > 0 \n && citationSubTitle==\"notable_characters\" \n && character.name.toLowerCase() === highlightTerms[0].toLowerCase() && highlightEnabled ? (\n <span dangerouslySetInnerHTML={{ __html: sanitizeHtml(highlightTermsFunc(character.name, highlightTerms)) }} />\n ) : (\n character.name\n )}\n </p>\n <p\n className=\"book-elements-char-desc\"\n style={{\n ...defaultStyles.charDesc,\n margin: 0,\n marginTop: \"4px\",\n }}\n >\n {\n <ReactMarkdown\n remarkPlugins={[remarkBreaks]}\n rehypePlugins={[rehypeRaw as any]}\n components={{\n p: ({ node, ...props }) => (\n <p style={{ marginTop: 0 }} {...props} />\n )\n }}\n >\n {/* {processTextWithHighlight(\n character?.description,\n highlightTerms\n )} */}\n {character?.description}\n </ReactMarkdown>\n \n }\n </p>\n </div>\n </div>\n );\n })}\n </div>\n </>\n }\n <div className=\"book-elements-pagination\" style={{display : 'flex', justifyContent:'flex-end', width : '100%'}}>\n {!charactersHasMore && <Pagination\n count={charactersTotalPages}\n disabled={charactersLoading}\n page={charactersPage}\n onChange={(_, value) => setCharactersPage(value)}\n shape=\"rounded\"\n style={{marginTop: \"8px\",}}\n />}\n </div>\n {/* {characters.length > 6 && (\n <button\n style={defaultStyles.button}\n onClick={() => setShowAllCharacters(!showAllCharacters)}\n onMouseOver={(event) =>\n (event.currentTarget.style.textDecoration = \"underline\")\n }\n onMouseOut={(event) =>\n (event.currentTarget.style.textDecoration = \"none\")\n }\n >\n {showAllCharacters ? \"View less\" : \"View more\"}\n </button>\n )} */}\n </div>\n </div>\n );\n};\n\nexport default BookElementsCard;\n"],"names":["defaultStyles","sectionTitle","fontSize","fontWeight","color","marginBottom","quotesPadding","paddingLeft","quoteCard","border","borderRadius","padding","backgroundColor","boxShadow","cursor","transition","quoteText","fontStyle","quoteMeta","quoteAuthor","marginTop","button","background","textDecoration","geoLocationsContainer","geoText","geoDivider","margin","width","height","display","geoLocationFlex","alignItems","gap","charactersContainer","charactersGrid","gridTemplateColumns","characterCard","avatar","justifyContent","flexShrink","charName","charDesc","retryButton","BookElementsCard","data","updateQuotesToHighLight","handleFetchManuscriptElements","BookIsbn","title","highlightTerms","onHighlightMatch","defaultPages","citationType","citationSubTitle","highlightEnabled","isAliveRef","useRef","useEffect","current","quotes","setQuotes","useState","quotesPage","setQuotesPage","quotesLoading","setQuotesLoading","quotesHasMore","setQuotesHasMore","quotesTotalPages","setQuotesTotalPages","characters","setCharacters","charactersPage","setCharactersPage","charactersLoading","setCharactersLoading","charactersHasMore","setCharactersHasMore","charactersTotalPages","setCharactersTotalPages","locations","setLocations","locationsPage","setLocationsPage","locationsLoading","setLocationsLoading","locationsHasMore","setLocationsHasMore","locationsTotalPages","setLocationsTotalPages","selectedCard","setSelectedCard","list","index","page","didCheckRef","containerRef","length","lowerTerms","map","t","toLowerCase","contains","text","some","term","includes","found","forEach","quote","loc","name","char","getManuscriptElementsData","async","endpoint","isbn","setData","setLoading","setHasMore","setTotalPage","newData","pageSize","pagination","totalPages","hasNext","hasPrevious","jsxs","ref","className","children","style","jsx","flexDirection","rowGap","item","Skeleton","variant","onClick","Fragment","isSelected","borderColor","onMouseEnter","e","currentTarget","transform","onMouseLeave","chunkIds","error","console","dangerouslySetInnerHTML","__html","sanitizeHtml","highlightTermsFunc","chapter","author","Pagination","disabled","count","onChange","_","value","shape","flexWrap","location","onMouseOver","onMouseOut","flexBasis","flex","character","avatarStyle","bg","initials","ReactMarkdown","remarkPlugins","remarkBreaks","rehypePlugins","rehypeRaw","components","p","node","props","description"],"mappings":"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"}
1
+ {"version":3,"file":"BookElementsCard.js","sources":["../../../../src/features/Bookemon/BookElementsCard/BookElementsCard.tsx"],"sourcesContent":["// import { Pagination, Skeleton, } from \"@mui/lab\";\nimport Pagination from '@mui/material/Pagination';\nimport Skeleton from '@mui/material/Skeleton';\nimport React, { CSSProperties, useEffect, useMemo, useRef, useState } from \"react\";\nimport ReactMarkdown from \"react-markdown\";\nimport rehypeRaw from \"rehype-raw\";\nimport remarkBreaks from 'remark-breaks'\nimport { highlightTermsFunc } from '../utils/highlight';\nimport { sanitizeHtml } from \"../../../utils/sanitizeHtml\";\nimport \"./BookElementsCard.css\";\nimport { BookemonProps } from '../types/citation.types';\n\nconst defaultStyles: { [key: string]: CSSProperties } = {\n sectionTitle: {\n fontSize: \"14px\",\n fontWeight: 600,\n color: \"#667085\",\n marginBottom: \"12px\",\n },\n quotesPadding: {\n paddingLeft : \"12px\",\n },\n quoteCard: {\n border: \"1px solid #CBD5E1\",\n borderRadius: \"8px\",\n padding: \"16px\",\n backgroundColor: \"#F8FAFC\",\n boxShadow: \"0 1px 2px rgba(0,0,0,0.05)\",\n marginBottom: \"16px\",\n cursor: \"pointer\",\n transition: \"transform 0.2s ease, box-shadow 0.2s ease\",\n },\n quoteText: {\n fontStyle: \"italic\",\n color: \"#475569\",\n fontSize: \"14px\",\n fontWeight: 400,\n marginBottom: \"12px\",\n },\n quoteMeta: {\n color: \"#475569\",\n fontSize: \"12px\",\n fontWeight: 400,\n },\n quoteAuthor: {\n fontSize: \"10px\",\n fontWeight: 600,\n color: \"#475569\",\n marginTop: \"8px\",\n marginBottom: '18px'\n // textAlign: \"right\",\n },\n button: {\n color: \"#5928ED\",\n fontSize: \"14px\",\n fontWeight: 600,\n background: \"none\",\n border: \"none\",\n cursor: \"pointer\",\n padding: 0,\n textDecoration: \"none\",\n paddingLeft : \"12px\",\n },\n geoLocationsContainer: {\n marginTop: \"24px\",\n marginBottom: \"24px\",\n },\ngeoText: {\n fontSize: \"14px\",\n fontWeight: 500,\n cursor: \"pointer\",\n color: \"#532BED\",\n // backgroundImage: \"linear-gradient(115deg, #2546F0 -23.58%, #5928ED 74.92%)\",\n // backgroundClip: \"text\",\n // WebkitBackgroundClip: \"text\",\n // WebkitTextFillColor: \"transparent\",\n // background: \"var(--Gradient-Primary-100, linear-gradient(115deg, #2546F0 -23.58%, #5928ED 74.92%))\",\n},\n geoDivider: {\n margin: \"0 8px\",\n color: \"#475abb\",\n backgroundColor: \"#475abb\",\n width : \"1px\",\n height : \"18px\",\n display: \"inline-block\",\n },\n geoLocationFlex: {\n display: \"inline-flex\",\n alignItems: \"center\",\n gap: \"8px\",\n marginBottom: \"8px\",\n },\n charactersContainer: {\n marginTop: \"16px\",\n },\n charactersGrid: {\n display: \"grid\",\n gridTemplateColumns: \"repeat(2, 1fr)\",\n gap: \"16px\",\n marginBottom: \"16px\",\n paddingLeft : \"12px\",\n },\n characterCard: {\n border: \"1px solid #E5E7EB\",\n borderRadius: \"8px\",\n backgroundColor: \"#FFFFFF\",\n boxShadow: \"0 1px 2px rgba(0,0,0,0.05)\",\n display: \"flex\",\n alignItems: \"flex-start\",\n gap: \"12px\",\n padding: \"16px\",\n cursor: \"pointer\",\n transition: \"transform 0.2s ease, box-shadow 0.2s ease\",\n },\n avatar: {\n width: \"32px\",\n height: \"32px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n borderRadius: \"9999px\",\n fontSize: \"14px\",\n fontWeight: 600,\n flexShrink: 0,\n },\n charName: {\n fontStyle: \"normal\",\n fontWeight: 600,\n color: \"#101827\",\n fontSize: \"16px\",\n },\n charDesc: {\n fontStyle: \"normal\",\n fontWeight: 400,\n fontSize: \"14px\",\n color: \"#6B7280\",\n },\n retryButton: {\n backgroundColor: '#5928EC',\n color: '#fff',\n padding: '6px 10px',\n border: 'none',\n borderRadius: '6px',\n cursor: 'pointer',\n fontSize: '12px',\n fontWeight: '500',\n }\n};\nexport interface IQuote {\n text: string;\n chapter: string;\n page: string;\n author: string;\n chunkIds : string[],\n}\n\nexport interface ICharacter {\n name: string;\n description: string;\n bg: string;\n color: string;\n initials?: string;\n chunkIds : string[],\n}\n\nexport interface geoLocationData {\n chunkIds : string[],\n name : string\n}\n\nexport interface IBookElementsData {\n notableQuotes: IQuote[];\n geoLocations: geoLocationData[];\n characters: ICharacter[];\n}\n\ninterface BookElementsCardProps {\n data: IBookElementsData;\n updateQuotesToHighLight: (textToHighLight: string,content:string, chunkIds:string[], currentIndex : number) => void;\n handleFetchManuscriptElements: ({\n endpoint,\n page,\n pageSize,\n isbn,\n title\n }: {\n endpoint: any;\n page: any;\n pageSize: number; // optional, default to 10\n isbn: any;\n title : string\n }) => Promise<any>;\n BookIsbn : string;\n title : string\n highlightTerms?: string[];\n onHighlightMatch?: (matched: boolean) => void;\n defaultPages?: {\n quotes?: number;\n locations?: number;\n characters?: number;\n };\n citationType: BookemonProps['citationType'];\n citationSubTitle: BookemonProps['citationSubTitle'];\n highlightEnabled: boolean\n}\n\nconst BookElementsCard = ({\n data,\n updateQuotesToHighLight,\n handleFetchManuscriptElements,\n BookIsbn,\n title,\n highlightTerms,\n onHighlightMatch,\n defaultPages,\n citationType,\n citationSubTitle,\n highlightEnabled\n}: BookElementsCardProps) => {\n\n const isAliveRef = useRef(true);\n\n useEffect(() => {\n return () => {\n isAliveRef.current = false;\n };\n }, []);\n\n const pageSize = 10; // 10 items per page\n\n // const { notableQuotes = [], geoLocations = [], characters = [] } = data;\n const [quotes, setQuotes] = useState<any[]>([]);\n const [quotesPage, setQuotesPage] = useState(defaultPages?.quotes ?? 1);\n const [quotesLoading, setQuotesLoading] = useState(false);\n const [quotesHasMore, setQuotesHasMore] = useState(true);\n const [quotesTotalPages, setQuotesTotalPages] = useState(0);\n\n const [characters, setCharacters] = useState<any[]>([]);\n const [charactersPage, setCharactersPage] = useState(defaultPages?.characters ?? 1);\n const [charactersLoading, setCharactersLoading] = useState(false);\n const [charactersHasMore, setCharactersHasMore] = useState(true);\n const [charactersTotalPages, setCharactersTotalPages] = useState(0);\n\n\n const [locations, setLocations] = useState<any[]>([]);\n const [locationsPage, setLocationsPage] = useState(defaultPages?.locations ?? 1);\n const [locationsLoading, setLocationsLoading] = useState(false);\n const [locationsHasMore, setLocationsHasMore] = useState(true);\n const [locationsTotalPages, setLocationsTotalPages] = useState(0);\n\n const [selectedCard, setSelectedCard] = useState({ list: \"\", index: -1 , page: 1});\n\n const didCheckRef = useRef(false);\n const containerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!highlightTerms?.length || !highlightEnabled) return;\n \n const lowerTerms = highlightTerms.map(t => t.toLowerCase());\n \n const contains = (text?: string) =>\n text && lowerTerms.some(term => text.toLowerCase().includes(term));\n\n\n const charExactMatch = (text?: string) =>\n !!text && lowerTerms[0] === text.toLowerCase();\n \n let found = false;\n \n // 🔎 Check Quotes\n if(citationSubTitle == 'notable_quotes'){\n quotes.forEach((quote, index) => {\n if (!found && contains(quote.text)) {\n \n onHighlightMatch?.(true);\n found = true;\n }\n });\n }\n \n // 🔎 Check Locations\n if(citationSubTitle == 'location_details'){\n locations.forEach((loc, index) => {\n if (!found && contains(loc.name)) {\n \n onHighlightMatch?.(true);\n found = true;\n }\n });\n }\n \n // 🔎 Check Characters\n if(citationSubTitle == \"notable_characters\"){\n characters.forEach((char, index) => {\n if (\n !found &&\n (charExactMatch(char.name))\n ) {\n \n onHighlightMatch?.(true);\n found = true;\n }\n });\n }\n \n }, [\n highlightTerms,\n quotes,\n locations,\n characters,\n quotesPage,\n locationsPage,\n charactersPage\n ]);\n\n \n\n useEffect(() => {\n if (!defaultPages) return;\n \n if (defaultPages.quotes) {\n setQuotesPage(defaultPages.quotes);\n }\n \n if (defaultPages.locations) {\n setLocationsPage(defaultPages.locations);\n }\n \n if (defaultPages.characters) {\n setCharactersPage(defaultPages.characters);\n }\n \n }, [defaultPages]);\n \n\n useEffect(() => {\n didCheckRef.current = false;\n }, [highlightTerms]);\n\n const getManuscriptElementsData = async ({endpoint, page,isbn,setData,setLoading, setHasMore,setTotalPage,title} : {endpoint : any, page : any,isbn : any, setData : any, setLoading : any, setHasMore : any, setTotalPage : any, title : string}) => {\n setLoading(true);\n\n try {\n const newData = await handleFetchManuscriptElements({\n endpoint,\n page,\n pageSize,\n isbn,\n title\n });\n\n if (!isAliveRef.current) return;\n\n setData(newData?.data || []);\n setTotalPage(newData?.pagination?.totalPages || 0);\n setHasMore(\n !newData?.pagination?.hasNext &&\n !newData?.pagination?.hasPrevious\n );\n } finally {\n if (isAliveRef.current) {\n setLoading(false);\n }\n }\n};\n\n\n // fetch quotes for pagination\n useEffect(() => {\n // getManuscriptElementsData(\"notable-quotes\", quotesPage, setQuotes, setQuotesLoading, setQuotesHasMore);\n getManuscriptElementsData({\n endpoint: \"notable-quotes\",\n page: quotesPage,\n isbn: BookIsbn,\n setData: setQuotes,\n setLoading: setQuotesLoading,\n setHasMore: setQuotesHasMore,\n setTotalPage: setQuotesTotalPages,\n title : title,\n });\n }, [quotesPage]);\n\n // fetch character for pagination\n useEffect(() => {\n getManuscriptElementsData({\n endpoint: \"notable-characters\",\n page: charactersPage,\n isbn: BookIsbn,\n setData: setCharacters,\n setLoading: setCharactersLoading,\n setHasMore: setCharactersHasMore,\n setTotalPage: setCharactersTotalPages,\n title : title,\n })\n }, [charactersPage]);\n\n // fetch geo-location for pagination\n useEffect(() => {\n getManuscriptElementsData({\n endpoint: \"geo-locations\",\n page: locationsPage,\n isbn: BookIsbn,\n setData: setLocations,\n setLoading: setLocationsLoading,\n setHasMore: setLocationsHasMore,\n setTotalPage: setLocationsTotalPages,\n title : title,\n })\n }, [locationsPage]);\n\n\n\n return (\n <div ref={containerRef} className=\"book-elements-container\">\n {/* Notable Quotes */}\n <div style={{ marginBottom: \"24px\" }}>\n <p style={defaultStyles.sectionTitle} className=\"book-elements-section-title\">Notable Quotes</p>\n <div style={defaultStyles.quotesPadding}>\n {\n quotesLoading ? (\n <div style={{ display: \"flex\", flexDirection: \"column\", rowGap: \"8px\" }}>\n {[1, 2, 3, 4, 5, 6, 7, 8, 9, 10].map((item) => (\n <div className=\"book-elements-quote-card\" key={item} style={defaultStyles.quoteCard}>\n {/* Quote line */}\n <Skeleton variant=\"text\" width=\"60%\" height={28} />\n\n {/* Chapter and page info */}\n <Skeleton variant=\"text\" width=\"40%\" height={20} />\n <Skeleton variant=\"text\" width=\"25%\" height={20} />\n\n {/* Author */}\n <Skeleton variant=\"text\" width=\"30%\" height={20} />\n </div>\n ))}\n </div>\n ) : quotes.length === 0 ? (\n <p style={{ color: \"#6B7280\", fontStyle: \"italic\" }}>\n No notable quotes found. <button style={defaultStyles.retryButton} onClick={() => getManuscriptElementsData({\n endpoint: \"notable-quotes\",\n page: quotesPage,\n isbn: BookIsbn,\n setData: setQuotes,\n setLoading: setQuotesLoading,\n setHasMore: setQuotesHasMore,\n setTotalPage: setQuotesTotalPages,\n title : title,\n })}>Retry</button>\n </p>\n ) : <>\n {quotes.map((quote, index) => {\n const isSelected = selectedCard.list === \"notable\" && selectedCard.page === quotesPage && selectedCard.index === index;\n\n return (\n <div\n key={index}\n className=\"book-elements-quote-card\"\n style={{\n ...defaultStyles.quoteCard,\n borderColor : isSelected ? 'rgb(83, 43, 237)' : '#CBD5E1',\n }}\n onMouseEnter={(e) => {\n e.currentTarget.style.transform = \"translateY(-4px)\";\n e.currentTarget.style.boxShadow = \"0 4px 12px rgba(0, 0, 0, 0.15)\";\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.transform = \"translateY(0)\";\n e.currentTarget.style.boxShadow = \"0 1px 4px rgba(0, 0, 0, 0.1)\";\n }}\n onClick={async () => {\n try {\n setSelectedCard({ list: \"notable\", page : quotesPage, index })\n if ( quote?.chunkIds?.length > 0) {\n await updateQuotesToHighLight(quote.text, \"Notable Quotes\", quote.chunkIds, 0);\n }\n } catch (error) {\n console.error(\"Failed to highlight quote:\", error);\n }\n }}\n data-selected={\n selectedCard.list === \"notable\" &&\n selectedCard.page === quotesPage &&\n selectedCard.index === index\n ? \"true\"\n : undefined\n }\n >\n {highlightTerms && highlightTerms.length > 0 && citationSubTitle==\"notable_quotes\" && highlightEnabled ? (\n <p style={defaultStyles.quoteText} className=\"book-elements-quote-text\" dangerouslySetInnerHTML={{ __html: sanitizeHtml(highlightTermsFunc(quote?.text, highlightTerms)) }} />\n ) : (\n <p style={defaultStyles.quoteText} className=\"book-elements-quote-text\">{quote?.text}</p>\n )}\n {/* <p style={defaultStyles.quoteMeta} className=\"book-elements-quote-meta\">\n {processTextWithHighlight(\n quote.chapter,\n highlightTerms\n )} <br /> {processTextWithHighlight(\n quote.page,\n highlightTerms\n )}\n </p> */}\n <p style={defaultStyles.quoteMeta} className=\"book-elements-quote-meta\">\n {quote.chapter} \n <br /> \n {quote.page}\n </p>\n <p style={defaultStyles.quoteAuthor}>— {quote?.author}</p>\n {/* <p style={defaultStyles.quoteAuthor}>— {processTextWithHighlight(\n quote?.author,\n highlightTerms\n )}</p> */}\n </div>\n )\n })}\n </>\n }\n <div className=\"book-elements-pagination\" style={{display : 'flex', justifyContent:'flex-end', width : '100%'}}>\n {!quotesHasMore && <Pagination\n disabled={quotesLoading}\n count={quotesTotalPages}\n page={quotesPage}\n onChange={(_, value) => setQuotesPage(value)}\n shape=\"rounded\"\n style={{marginTop: \"8px\",}}\n />}\n </div>\n \n </div>\n </div>\n {/* Key Geo Locations */}\n <div style={defaultStyles.geoLocationsContainer}>\n <p style={defaultStyles.sectionTitle} className=\"book-elements-section-title\">Key Geo Locations</p>\n <div className=\"book-elements-geo-wrapper\" style={{ ...defaultStyles.quotesPadding, marginBottom: \"8px\" }}>\n {\n locationsLoading ? (\n <div style={{ display: \"flex\", flexWrap: \"wrap\", gap: \"8px\" }}>\n {[1, 2, 3, 4, 5, 6,7,8,9,10].map((item) => (\n <Skeleton\n key={item}\n variant=\"rectangular\"\n width={100}\n height={20}\n style={{ borderRadius: \"8px\" }}\n />\n ))}\n </div>\n ) : locations.length === 0 ? (\n <p style={{ color: \"#6B7280\", fontStyle: \"italic\", paddingLeft: \"12px\" }}>\n No key geo locations found. <button style={defaultStyles.retryButton} onClick={() => getManuscriptElementsData({\n endpoint: \"geo-locations\",\n page: locationsPage,\n isbn: BookIsbn,\n setData: setLocations,\n setLoading: setLocationsLoading,\n setHasMore: setLocationsHasMore,\n setTotalPage: setLocationsTotalPages,\n title : title,\n })}>Retry</button>\n </p> \n ) : <>\n {locations.map((location, index) => {\n const isSelected = selectedCard.list === \"geo_location\" && selectedCard.page === locationsPage && selectedCard.index === index;\n return (\n <span data-selected={\n selectedCard.list === \"geo_location\" &&\n selectedCard.page === locationsPage &&\n selectedCard.index === index\n ? \"true\"\n : undefined\n } key={index} style={defaultStyles.geoLocationFlex}>\n <span\n className=\"book-elements-geo-text\"\n style={{\n ...defaultStyles.geoText,\n fontWeight: isSelected ? \"700\" : \"\",\n textDecoration : isSelected ? 'underline' : ''\n }}\n onClick={async () => {\n try {\n setSelectedCard({ list: \"geo_location\",page : locationsPage, index })\n if (location?.chunkIds?.length > 0) {\n await updateQuotesToHighLight(location.name, \"Key Geo Locations\", location.chunkIds, 0);\n }\n \n } catch (error) {\n console.error(\"Failed to highlight location:\", error);\n }\n }}\n onMouseOver={(e) =>\n (e.currentTarget.style.textDecoration = \"underline\")\n }\n onMouseOut={(e) =>\n (e.currentTarget.style.textDecoration = \"none\")\n }\n >\n {highlightTerms && highlightTerms.length > 0 && citationSubTitle==\"location_details\" && highlightEnabled ? (\n <span dangerouslySetInnerHTML={{ __html: sanitizeHtml(highlightTermsFunc(location?.name, highlightTerms)) }} />\n ) : (\n location?.name\n )}\n </span>\n {index < locations.length - 1 && (\n <span style={defaultStyles.geoDivider}></span>\n )}\n </span>\n )\n })}\n </>\n }\n <div className=\"book-elements-pagination\" style={{display : 'flex', justifyContent:'flex-end', width : '100%'}}>\n {!locationsHasMore && <Pagination\n disabled={locationsLoading}\n count={locationsTotalPages}\n page={locationsPage}\n onChange={(_, value) => setLocationsPage(value)}\n shape=\"rounded\"\n style={{marginTop: \"8px\",}}\n />}\n </div>\n </div>\n </div>\n {/* Key Characters */}\n <div style={defaultStyles.charactersContainer}>\n <p style={defaultStyles.sectionTitle} className=\"book-elements-section-title\">Key Characters</p>\n {\n charactersLoading ? (\n <div style={{ display: \"flex\", flexWrap: \"wrap\", gap: \"8px\" }}>\n {[1, 2, 3, 4, 5, 6,7,8,9,10].map((item) => (\n <div style={{...defaultStyles.characterCard, flexBasis: '40%'}} key={item}>\n {/* Avatar Skeleton */}\n <Skeleton\n variant=\"circular\"\n style={{ ...defaultStyles.avatar, flexShrink: 0 }}\n\n />\n\n {/* Content Skeleton */}\n <div style={{ display: \"flex\", flexDirection: \"column\", flex: 1, }}>\n {/* Name Skeleton */}\n <Skeleton\n variant=\"text\"\n style={{ flex : '1',flexShrink: 0 }}\n />\n\n {/* Description Skeleton - Multiple lines */}\n <Skeleton variant=\"text\" style={{ flex : '1' }} />\n <Skeleton variant=\"text\" style={{ flex : '1' }} />\n <Skeleton variant=\"text\" style={{ flex : '1' }} />\n </div>\n </div>\n ))}\n </div>\n ) : characters.length === 0 ? (\n <p style={{ color: \"#6B7280\", fontStyle: \"italic\", paddingLeft: \"12px\" }}>\n No key characters found. <button style={defaultStyles.retryButton} onClick={() => getManuscriptElementsData({\n endpoint: \"notable-characters\",\n page: charactersPage,\n isbn: BookIsbn,\n setData: setCharacters,\n setLoading: setCharactersLoading,\n setHasMore: setCharactersHasMore,\n setTotalPage: setCharactersTotalPages,\n title : title,\n })}>Retry</button>\n </p> \n ) : <>\n <div className=\"book-elements-characters-grid\" style={defaultStyles.charactersGrid}>\n {characters.map((character, index) => {\n const avatarStyle = {\n ...defaultStyles.avatar,\n backgroundColor: character.bg,\n color: character.color,\n };\n const isSelected = selectedCard.list === \"key_character\" && selectedCard.page === charactersPage && selectedCard.index === index;\n\n return (\n <div\n key={index}\n onMouseEnter={(e) => {\n e.currentTarget.style.transform = \"translateY(-4px)\";\n e.currentTarget.style.boxShadow = \"0 4px 12px rgba(0, 0, 0, 0.15)\";}}\n onMouseLeave={(e) => {\n e.currentTarget.style.transform = \"translateY(0)\";\n e.currentTarget.style.boxShadow = \"0 1px 4px rgba(0, 0, 0, 0.1)\";}}\n className=\"book-elements-character-card\"\n style={{\n ...defaultStyles.characterCard,\n borderColor : isSelected ? 'rgb(83, 43, 237)' : '#E5E7EB'\n }}\n onClick={async () => {\n setSelectedCard({ list: \"key_character\",page : charactersPage, index })\n try {\n if (character?.chunkIds?.length > 0) {\n await updateQuotesToHighLight(character.name, \"Key Characters\", character.chunkIds, 0);\n }\n } catch (error) {\n console.error(\"Failed to highlight character:\", error);\n }\n }}\n data-selected={\n selectedCard.list === \"key_character\" &&\n selectedCard.page === charactersPage &&\n selectedCard.index === index\n ? \"true\"\n : undefined\n }\n >\n <div style={avatarStyle}>{character.initials}</div>\n\n <div style={{ display: \"flex\", flexDirection: \"column\" }}>\n <p className=\"book-elements-char-name\" style={{ ...defaultStyles.charName, margin: 0 }}>\n {highlightTerms && highlightTerms.length > 0 \n && citationSubTitle==\"notable_characters\" \n && character.name.toLowerCase() === highlightTerms[0].toLowerCase() && highlightEnabled ? (\n <span dangerouslySetInnerHTML={{ __html: sanitizeHtml(highlightTermsFunc(character.name, highlightTerms)) }} />\n ) : (\n character.name\n )}\n </p>\n <p\n className=\"book-elements-char-desc\"\n style={{\n ...defaultStyles.charDesc,\n margin: 0,\n marginTop: \"4px\",\n }}\n >\n {\n <ReactMarkdown\n remarkPlugins={[remarkBreaks]}\n rehypePlugins={[rehypeRaw as any]}\n components={{\n p: ({ node, ...props }) => (\n <p style={{ marginTop: 0 }} {...props} />\n )\n }}\n >\n {/* {processTextWithHighlight(\n character?.description,\n highlightTerms\n )} */}\n {character?.description}\n </ReactMarkdown>\n \n }\n </p>\n </div>\n </div>\n );\n })}\n </div>\n </>\n }\n <div className=\"book-elements-pagination\" style={{display : 'flex', justifyContent:'flex-end', width : '100%'}}>\n {!charactersHasMore && <Pagination\n count={charactersTotalPages}\n disabled={charactersLoading}\n page={charactersPage}\n onChange={(_, value) => setCharactersPage(value)}\n shape=\"rounded\"\n style={{marginTop: \"8px\",}}\n />}\n </div>\n {/* {characters.length > 6 && (\n <button\n style={defaultStyles.button}\n onClick={() => setShowAllCharacters(!showAllCharacters)}\n onMouseOver={(event) =>\n (event.currentTarget.style.textDecoration = \"underline\")\n }\n onMouseOut={(event) =>\n (event.currentTarget.style.textDecoration = \"none\")\n }\n >\n {showAllCharacters ? \"View less\" : \"View more\"}\n </button>\n )} */}\n </div>\n </div>\n );\n};\n\nexport default BookElementsCard;\n"],"names":["defaultStyles","sectionTitle","fontSize","fontWeight","color","marginBottom","quotesPadding","paddingLeft","quoteCard","border","borderRadius","padding","backgroundColor","boxShadow","cursor","transition","quoteText","fontStyle","quoteMeta","quoteAuthor","marginTop","button","background","textDecoration","geoLocationsContainer","geoText","geoDivider","margin","width","height","display","geoLocationFlex","alignItems","gap","charactersContainer","charactersGrid","gridTemplateColumns","characterCard","avatar","justifyContent","flexShrink","charName","charDesc","retryButton","BookElementsCard","data","updateQuotesToHighLight","handleFetchManuscriptElements","BookIsbn","title","highlightTerms","onHighlightMatch","defaultPages","citationType","citationSubTitle","highlightEnabled","isAliveRef","useRef","useEffect","current","quotes","setQuotes","useState","quotesPage","setQuotesPage","quotesLoading","setQuotesLoading","quotesHasMore","setQuotesHasMore","quotesTotalPages","setQuotesTotalPages","characters","setCharacters","charactersPage","setCharactersPage","charactersLoading","setCharactersLoading","charactersHasMore","setCharactersHasMore","charactersTotalPages","setCharactersTotalPages","locations","setLocations","locationsPage","setLocationsPage","locationsLoading","setLocationsLoading","locationsHasMore","setLocationsHasMore","locationsTotalPages","setLocationsTotalPages","selectedCard","setSelectedCard","list","index","page","didCheckRef","containerRef","length","lowerTerms","map","t","toLowerCase","contains","text","some","term","includes","found","forEach","quote","loc","name","char","getManuscriptElementsData","async","endpoint","isbn","setData","setLoading","setHasMore","setTotalPage","newData","pageSize","pagination","totalPages","hasNext","hasPrevious","jsxs","ref","className","children","style","jsx","flexDirection","rowGap","item","Skeleton","variant","onClick","Fragment","isSelected","borderColor","onMouseEnter","e","currentTarget","transform","onMouseLeave","chunkIds","error","console","dangerouslySetInnerHTML","__html","sanitizeHtml","highlightTermsFunc","chapter","author","Pagination","disabled","count","onChange","_","value","shape","flexWrap","location","onMouseOver","onMouseOut","flexBasis","flex","character","avatarStyle","bg","initials","ReactMarkdown","remarkPlugins","remarkBreaks","rehypePlugins","rehypeRaw","components","p","node","props","description"],"mappings":"wZAYA,MAAMA,EAAkD,CACtDC,aAAc,CACZC,SAAU,OACVC,WAAY,IACZC,MAAO,UACPC,aAAc,QAEhBC,cAAe,CACbC,YAAc,QAEhBC,UAAW,CACTC,OAAQ,oBACRC,aAAc,MACdC,QAAS,OACTC,gBAAiB,UACjBC,UAAW,6BACXR,aAAc,OACdS,OAAQ,UACRC,WAAY,6CAEdC,UAAW,CACTC,UAAW,SACXb,MAAO,UACPF,SAAU,OACVC,WAAY,IACZE,aAAc,QAEhBa,UAAW,CACTd,MAAO,UACPF,SAAU,OACVC,WAAY,KAEdgB,YAAa,CACXjB,SAAU,OACVC,WAAY,IACZC,MAAO,UACPgB,UAAW,MACXf,aAAc,QAGhBgB,OAAQ,CACNjB,MAAO,UACPF,SAAU,OACVC,WAAY,IACZmB,WAAY,OACZb,OAAQ,OACRK,OAAQ,UACRH,QAAS,EACTY,eAAgB,OAChBhB,YAAc,QAEhBiB,sBAAuB,CACrBJ,UAAW,OACXf,aAAc,QAElBoB,QAAS,CACPvB,SAAU,OACVC,WAAY,IACZW,OAAQ,UACRV,MAAO,WAOPsB,WAAY,CACVC,OAAQ,QACRvB,MAAO,UACPQ,gBAAiB,UACjBgB,MAAQ,MACRC,OAAS,OACTC,QAAS,gBAEXC,gBAAiB,CACfD,QAAS,cACTE,WAAY,SACZC,IAAK,MACL5B,aAAc,OAEhB6B,oBAAqB,CACnBd,UAAW,QAEbe,eAAgB,CACdL,QAAS,OACTM,oBAAqB,iBACrBH,IAAK,OACL5B,aAAc,OACdE,YAAc,QAEhB8B,cAAe,CACb5B,OAAQ,oBACRC,aAAc,MACdE,gBAAiB,UACjBC,UAAW,6BACXiB,QAAS,OACTE,WAAY,aACZC,IAAK,OACLtB,QAAS,OACTG,OAAQ,UACRC,WAAY,6CAEduB,OAAQ,CACNV,MAAO,OACPC,OAAQ,OACRC,QAAS,OACTE,WAAY,SACZO,eAAgB,SAChB7B,aAAc,SACdR,SAAU,OACVC,WAAY,IACZqC,WAAY,GAEdC,SAAU,CACRxB,UAAW,SACXd,WAAY,IACZC,MAAO,UACPF,SAAU,QAEZwC,SAAU,CACRzB,UAAW,SACXd,WAAY,IACZD,SAAU,OACVE,MAAO,WAETuC,YAAa,CACX/B,gBAAiB,UACjBR,MAAO,OACPO,QAAS,WACTF,OAAQ,OACRC,aAAc,MACdI,OAAQ,UACRZ,SAAU,OACVC,WAAY,QA6DVyC,EAAmB,EACvBC,OACAC,0BACAC,gCACAC,WACAC,QACAC,iBACAC,mBACAC,eACAC,eACAC,mBACAC,uBAGM,MAAAC,EAAaC,GAAO,GAE1BC,EAAU,IACD,KACLF,EAAWG,SAAU,GAEtB,IAEH,MAGOC,EAAQC,GAAaC,EAAgB,KACrCC,EAAYC,GAAiBF,EAASV,GAAcQ,QAAU,IAC9DK,EAAeC,GAAoBJ,GAAS,IAC5CK,EAAeC,GAAoBN,GAAS,IAC5CO,EAAkBC,GAAuBR,EAAS,IAElDS,EAAYC,GAAiBV,EAAgB,KAC7CW,EAAgBC,GAAqBZ,EAASV,GAAcmB,YAAc,IAC1EI,EAAmBC,GAAwBd,GAAS,IACpDe,EAAmBC,GAAwBhB,GAAS,IACpDiB,EAAsBC,GAA2BlB,EAAS,IAG1DmB,EAAWC,GAAgBpB,EAAgB,KAC3CqB,EAAeC,GAAoBtB,EAASV,GAAc6B,WAAa,IACvEI,EAAkBC,GAAuBxB,GAAS,IAClDyB,EAAkBC,GAAuB1B,GAAS,IAClD2B,GAAqBC,IAA0B5B,EAAS,IAExD6B,GAAcC,IAAmB9B,EAAS,CAAE+B,KAAM,GAAIC,OAAO,EAAKC,KAAM,IAEzEC,GAAcvC,GAAO,GACrBwC,GAAexC,EAAuB,MAE5CC,EAAU,KACR,IAAKR,GAAgBgD,SAAW3C,EAAkB,OAElD,MAAM4C,EAAajD,EAAekD,IAASC,GAAAA,EAAEC,eAEvCC,EAAYC,GAChBA,GAAQL,EAAWM,KAAaC,GAAAF,EAAKF,cAAcK,SAASD,IAM9D,IAAIE,GAAQ,EAGW,kBAApBtD,GACMM,EAAAiD,QAAQ,CAACC,EAAOhB,MAChBc,GAASL,EAASO,EAAMN,QAE3BrD,KAAmB,GACXyD,GAAA,KAMS,oBAApBtD,GACS2B,EAAA4B,QAAQ,CAACE,EAAKjB,MACjBc,GAASL,EAASQ,EAAIC,QAEzB7D,KAAmB,GACXyD,GAAA,KAMS,sBAApBtD,GACUiB,EAAAsC,QAAQ,CAACI,EAAMnB,KA7BL,IAACU,GA+BjBI,KA/BiBJ,EAgCFS,EAAKD,OA/Bfb,EAAW,KAAOK,EAAKF,iBAkC7BnD,KAAmB,GACXyD,GAAA,MAKb,CACD1D,EACAU,EACAqB,EACAV,EACAR,EACAoB,EACAV,IAKFf,EAAU,KACHN,IAEDA,EAAaQ,QACfI,EAAcZ,EAAaQ,QAGzBR,EAAa6B,WACfG,EAAiBhC,EAAa6B,WAG5B7B,EAAamB,YACfG,EAAkBtB,EAAamB,cAGhC,CAACnB,IAGJM,EAAU,KACRsC,GAAYrC,SAAU,GACrB,CAACT,IAEJ,MAAMgE,GAA4BC,OAAQC,WAAUrB,OAAKsB,OAAKC,UAAQC,aAAYC,aAAWC,eAAaxE,MAAAA,MAC1GsE,GAAW,GAEP,IACI,MAAAG,QAAgB3E,EAA8B,CAClDqE,WACArB,OACA4B,SAtHa,GAuHbN,OACApE,MAAAA,IAGE,IAACO,EAAWG,QAAS,OAEjB2D,EAAAI,GAAS7E,MAAQ,IACZ4E,EAAAC,GAASE,YAAYC,YAAc,GAChDL,GACGE,GAASE,YAAYE,UACrBJ,GAASE,YAAYG,YACxB,CACA,QACIvE,EAAWG,SACb4D,GAAW,EAEf,GAiDA,OA5CA7D,EAAU,KAEmBwD,GAAA,CAC1BE,SAAU,iBACVrB,KAAMhC,EACNsD,KAAMrE,EACNsE,QAASzD,EACT0D,WAAYrD,EACZsD,WAAYpD,EACZqD,aAAcnD,EACdrB,WAEA,CAACc,IAGJL,EAAU,KACkBwD,GAAA,CACzBE,SAAU,qBACVrB,KAAMtB,EACN4C,KAAMrE,EACNsE,QAAS9C,EACT+C,WAAY3C,EACZ4C,WAAY1C,EACZ2C,aAAczC,EACd/B,WAEA,CAACwB,IAGJf,EAAU,KACkBwD,GAAA,CACzBE,SAAU,gBACVrB,KAAMZ,EACNkC,KAAMrE,EACNsE,QAASpC,EACTqC,WAAYjC,EACZkC,WAAYhC,EACZiC,aAAc/B,GACdzC,WAEA,CAACkC,IAKD6C,EAAA,MAAA,CAAIC,IAAKhC,GAAciC,UAAU,0BAEhCC,SAAA,CAAAH,EAAC,MAAI,CAAAI,MAAO,CAAE/H,aAAc,QAC1B8H,SAAA,CAAAE,EAAC,KAAED,MAAOpI,EAAcC,aAAciI,UAAU,8BAA8BC,SAAc,mBAC3FH,EAAA,MAAA,CAAII,MAAOpI,EAAcM,cAEtB6H,SAAA,CAAAlE,EACGoE,EAAA,MAAA,CAAID,MAAO,CAAEtG,QAAS,OAAQwG,cAAe,SAAUC,OAAQ,OAC7DJ,SAAC,CAAA,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAI/B,IAAKoC,GACpCR,EAAC,MAAI,CAAAE,UAAU,2BAAsCE,MAAOpI,EAAcQ,UAExE2H,SAAA,CAAAE,EAACI,GAASC,QAAQ,OAAO9G,MAAM,MAAMC,OAAQ,OAG5C4G,EAAS,CAAAC,QAAQ,OAAO9G,MAAM,MAAMC,OAAQ,OAC5C4G,EAAS,CAAAC,QAAQ,OAAO9G,MAAM,MAAMC,OAAQ,OAG5C4G,EAAS,CAAAC,QAAQ,OAAO9G,MAAM,MAAMC,OAAQ,OATA2G,MAa/B,IAAlB5E,EAAOsC,OACN8B,EAAA,IAAA,CAAEI,MAAO,CAAEhI,MAAO,UAAWa,UAAW,UAAYkH,SAAA,CAAA,8BACzB,SAAO,CAAAC,MAAOpI,EAAc2C,YAAagG,QAAS,IAAMzB,GAA0B,CAC1GE,SAAU,iBACVrB,KAAMhC,EACNsD,KAAMrE,EACNsE,QAASzD,EACT0D,WAAYrD,EACZsD,WAAYpD,EACZqD,aAAcnD,EACdrB,UACEkF,SAAK,aAGdE,EAAAO,EAAA,CAAAT,SAAAvE,EAAOwC,IAAI,CAACU,EAAOhB,KACb,MAAA+C,EAAmC,YAAtBlD,GAAaE,MAAsBF,GAAaI,OAAShC,GAAc4B,GAAaG,QAAUA,EAG7G,OAAAkC,EAAC,MAAA,CAEJE,UAAU,2BACVE,MAAO,IACFpI,EAAcQ,UAChBsI,YAAcD,EAAa,mBAAqB,WAEnDE,aAAeC,IACXA,EAAAC,cAAcb,MAAMc,UAAY,mBAChCF,EAAAC,cAAcb,MAAMvH,UAAY,kCAEpCsI,aAAeH,IACXA,EAAAC,cAAcb,MAAMc,UAAY,gBAChCF,EAAAC,cAAcb,MAAMvH,UAAY,gCAEpC8H,QAASxB,UACH,IACDvB,GAAgB,CAAEC,KAAM,UAAWE,KAAOhC,EAAY+B,UAClDgB,GAAOsC,UAAUlD,OAAS,SACvBpD,EAAwBgE,EAAMN,KAAM,iBAAkBM,EAAMsC,SAAU,SAEvEC,GACCC,QAAAD,MAAM,6BAA8BA,EAC9C,GAEF,gBACwB,YAAtB1D,GAAaE,MACbF,GAAaI,OAAShC,GACtB4B,GAAaG,QAAUA,EACnB,YACA,EAGLqC,SAAA,CAAAjF,GAAkBA,EAAegD,OAAS,GAAuB,kBAAlB5C,GAAsCC,EACpF8E,EAAC,IAAE,CAAAD,MAAOpI,EAAcgB,UAAWkH,UAAU,2BAA2BqB,wBAAyB,CAAEC,OAAQC,EAAaC,EAAmB5C,GAAON,KAAMtD,OAEvJmF,EAAA,IAAA,CAAED,MAAOpI,EAAcgB,UAAWkH,UAAU,2BAA4BC,YAAO3B,SAWjF,IAAE,CAAA4B,MAAOpI,EAAckB,UAAWgH,UAAU,2BAC1CC,SAAA,CAAMrB,EAAA6C,UACN,KAAG,IACH7C,EAAMf,QAERiC,EAAA,IAAA,CAAEI,MAAOpI,EAAcmB,YAAagH,SAAA,CAAA,KAAGrB,GAAO8C,YAnD1C9D,OA6DRuC,EAAA,MAAA,CAAIH,UAAU,2BAA2BE,MAAO,CAACtG,QAAU,OAAQS,eAAe,WAAYX,MAAQ,QACpGuG,UAAChE,GAAiBkE,EAACwB,EAAA,CACrBC,SAAU7F,EACT8F,MAAO1F,EACP0B,KAAMhC,EACNiG,SAAU,CAACC,EAAGC,IAAUlG,EAAckG,GACtCC,MAAM,UACL/B,MAAO,CAAChH,UAAW,iBAOzB4G,EAAA,MAAA,CAAII,MAAOpI,EAAcwB,sBACxB2G,SAAA,CAAAE,EAAC,KAAED,MAAOpI,EAAcC,aAAciI,UAAU,8BAA8BC,SAAiB,sBAC/FH,EAAC,MAAI,CAAAE,UAAU,4BAA4BE,MAAO,IAAKpI,EAAcM,cAAeD,aAAc,OAE9F8H,SAAA,CACE9C,EAAAgD,EAAC,MAAI,CAAAD,MAAO,CAAEtG,QAAS,OAAQsI,SAAU,OAAQnI,IAAK,OACnDkG,SAAA,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAE,EAAE,EAAE,EAAE,IAAI/B,IAAKoC,GAChCH,EAACI,EAAA,CAECC,QAAQ,cACR9G,MAAO,IACPC,OAAQ,GACRuG,MAAO,CAAE1H,aAAc,QAJlB8H,MAQY,IAArBvD,EAAUiB,OACT8B,EAAA,IAAA,CAAEI,MAAO,CAAEhI,MAAO,UAAWa,UAAW,SAAUV,YAAa,QAAU4H,SAAA,CAAA,iCAC3C,SAAO,CAAAC,MAAOpI,EAAc2C,YAAagG,QAAS,IAAMzB,GAA0B,CAC7GE,SAAU,gBACVrB,KAAMZ,EACNkC,KAAMrE,EACNsE,QAASpC,EACTqC,WAAYjC,EACZkC,WAAYhC,EACZiC,aAAc/B,GACdzC,UACEkF,SAAK,aAGfE,EAAAO,EAAA,CAAAT,SAAAlD,EAAUmB,IAAI,CAACiE,EAAUvE,KACnB,MAAA+C,EAAmC,iBAAtBlD,GAAaE,MAA2BF,GAAaI,OAASZ,GAAiBQ,GAAaG,QAAUA,EACzH,SACG,OAAK,CAAA,gBACkB,iBAAtBH,GAAaE,MACbF,GAAaI,OAASZ,GACtBQ,GAAaG,QAAUA,EACnB,YAEQ,EAAAsC,MAAOpI,EAAc+B,gBACnCoG,SAAA,CAAAE,EAAC,OAAA,CACCH,UAAU,yBACVE,MAAO,IACFpI,EAAcyB,QACjBtB,WAAY0I,EAAa,MAAQ,GACjCtH,eAAiBsH,EAAa,YAAc,IAE9CF,QAASxB,UACH,IACFvB,GAAgB,CAAEC,KAAM,eAAeE,KAAOZ,EAAeW,UACzDuE,GAAUjB,UAAUlD,OAAS,SACzBpD,EAAwBuH,EAASrD,KAAM,oBAAqBqD,EAASjB,SAAU,SAGhFC,GACCC,QAAAD,MAAM,gCAAiCA,EACjD,GAEFiB,YAActB,GACXA,EAAEC,cAAcb,MAAM7G,eAAiB,YAE1CgJ,WAAavB,GACVA,EAAEC,cAAcb,MAAM7G,eAAiB,OAGzC4G,SAAAjF,GAAkBA,EAAegD,OAAS,GAAuB,oBAAlB5C,GAAwCC,IACrF,OAAK,CAAAgG,wBAAyB,CAAEC,OAAQC,EAAaC,EAAmBW,GAAUrD,KAAM9D,OAEzFmH,GAAUrD,OAGblB,EAAQb,EAAUiB,OAAS,KACzB,OAAK,CAAAkC,MAAOpI,EAAc0B,eAjCtBoE,OAwCXuC,EAAA,MAAA,CAAIH,UAAU,2BAA2BE,MAAO,CAACtG,QAAU,OAAQS,eAAe,WAAYX,MAAQ,QACtGuG,UAAC5C,GAAoB8C,EAACwB,EAAA,CACrBC,SAAUzE,EACT0E,MAAOtE,GACPM,KAAMZ,EACN6E,SAAU,CAACC,EAAGC,IAAU9E,EAAiB8E,GACzCC,MAAM,UACL/B,MAAO,CAAChH,UAAW,iBAMzB4G,EAAA,MAAA,CAAII,MAAOpI,EAAckC,oBACxBiG,SAAA,CAAAE,EAAC,KAAED,MAAOpI,EAAcC,aAAciI,UAAU,8BAA8BC,SAAc,mBAE1FxD,EACG0D,EAAA,MAAA,CAAID,MAAO,CAAEtG,QAAS,OAAQsI,SAAU,OAAQnI,IAAK,OACnDkG,SAAA,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAE,EAAE,EAAE,EAAE,IAAI/B,IAAKoC,GAChCR,EAAC,MAAI,CAAAI,MAAO,IAAIpI,EAAcqC,cAAemI,UAAW,OAEtDrC,SAAA,CAAAE,EAACI,EAAA,CACCC,QAAQ,WACRN,MAAO,IAAKpI,EAAcsC,OAAQE,WAAY,KAKhDwF,EAAC,MAAI,CAAAI,MAAO,CAAEtG,QAAS,OAAQwG,cAAe,SAAUmC,KAAM,GAE5DtC,SAAA,CAAAE,EAACI,EAAA,CACCC,QAAQ,OACRN,MAAO,CAAEqC,KAAO,IAAIjI,WAAY,KAIlC6F,EAACI,GAASC,QAAQ,OAAON,MAAO,CAAEqC,KAAO,OACzCpC,EAACI,GAASC,QAAQ,OAAON,MAAO,CAAEqC,KAAO,OACzCpC,EAACI,GAASC,QAAQ,OAAON,MAAO,CAAEqC,KAAO,YAnBwBjC,MAwBjD,IAAtBjE,EAAW2B,OACX8B,EAAC,IAAE,CAAAI,MAAO,CAAEhI,MAAO,UAAWa,UAAW,SAAUV,YAAa,QAAU4H,SAAA,CAAA,8BAC9C,SAAO,CAAAC,MAAOpI,EAAc2C,YAAagG,QAAS,IAAMzB,GAA0B,CAC1GE,SAAU,qBACVrB,KAAMtB,EACN4C,KAAMrE,EACNsE,QAAS9C,EACT+C,WAAY3C,EACZ4C,WAAY1C,EACZ2C,aAAczC,EACd/B,UACEkF,SAAK,aAEbE,EAAAO,EAAA,CACJT,SAACE,EAAA,MAAA,CAAIH,UAAU,gCAAgCE,MAAOpI,EAAcmC,eACjEgG,SAAA5D,EAAW6B,IAAI,CAACsE,EAAW5E,KAC1B,MAAM6E,EAAc,IACf3K,EAAcsC,OACjB1B,gBAAiB8J,EAAUE,GAC3BxK,MAAOsK,EAAUtK,OAEbyI,EAAmC,kBAAtBlD,GAAaE,MAA4BF,GAAaI,OAAStB,GAAkBkB,GAAaG,QAAUA,EAGzH,OAAAkC,EAAC,MAAA,CAECe,aAAeC,IACbA,EAAAC,cAAcb,MAAMc,UAAY,mBAChCF,EAAAC,cAAcb,MAAMvH,UAAY,kCACpCsI,aAAeH,IACXA,EAAAC,cAAcb,MAAMc,UAAY,gBAChCF,EAAAC,cAAcb,MAAMvH,UAAY,gCAClCqH,UAAU,+BACVE,MAAO,IACFpI,EAAcqC,cACjByG,YAAcD,EAAa,mBAAqB,WAElDF,QAASxB,UACPvB,GAAgB,CAAEC,KAAM,gBAAgBE,KAAOtB,EAAgBqB,UAC3D,IACE4E,GAAWtB,UAAUlD,OAAS,SAC1BpD,EAAwB4H,EAAU1D,KAAM,iBAAkB0D,EAAUtB,SAAU,SAE/EC,GACCC,QAAAD,MAAM,iCAAkCA,EAClD,GAEF,gBACwB,kBAAtB1D,GAAaE,MACbF,GAAaI,OAAStB,GACtBkB,GAAaG,QAAUA,EACnB,YACA,EAGNqC,SAAA,CAAAE,EAAC,MAAI,CAAAD,MAAOuC,EAAcxC,SAAAuC,EAAUG,WAEpC7C,EAAC,OAAII,MAAO,CAAEtG,QAAS,OAAQwG,cAAe,UAC5CH,SAAA,CAAAE,EAAC,KAAEH,UAAU,0BAA0BE,MAAO,IAAKpI,EAAcyC,SAAUd,OAAQ,GAChFwG,SAAAjF,GAAkBA,EAAegD,OAAS,GACtB,sBAAlB5C,GACAoH,EAAU1D,KAAKV,gBAAkBpD,EAAe,GAAGoD,eAAiB/C,EACpE8E,EAAA,OAAA,CAAKkB,wBAAyB,CAAEC,OAAQC,EAAaC,EAAmBgB,EAAU1D,KAAM9D,OAEzFwH,EAAU1D,OAGdqB,EAAC,IAAA,CACCH,UAAU,0BACVE,MAAO,IACFpI,EAAc0C,SACjBf,OAAQ,EACRP,UAAW,OAIX+G,SAAAE,EAACyC,EAAA,CACDC,cAAe,CAACC,GAChBC,cAAe,CAACC,GAChBC,WAAY,CACVC,EAAG,EAAGC,UAASC,KACZjD,EAAA,IAAA,CAAED,MAAO,CAAEhH,UAAW,MAASkK,KAQnCnD,SAAWuC,GAAAa,qBAhEbzF,SA4EZuC,EAAA,MAAA,CAAIH,UAAU,2BAA2BE,MAAO,CAACtG,QAAU,OAAQS,eAAe,WAAYX,MAAQ,QACtGuG,UAACtD,GAAqBwD,EAACwB,EAAA,CACpBE,MAAOhF,EACP+E,SAAUnF,EACVoB,KAAMtB,EACNuF,SAAU,CAACC,EAAGC,IAAUxF,EAAkBwF,GAC1CC,MAAM,UACL/B,MAAO,CAAChH,UAAW"}
@@ -1,2 +1,2 @@
1
- import{jsxs as e,jsx as t,Fragment as o}from"react/jsx-runtime";import{useState as n,useRef as l,useLayoutEffect as r,useEffect as i}from"react";import a from"react-markdown";import s from"remark-breaks";import c from"rehype-raw";import{highlightTermsFunc as d,processTextWithHighlight as p}from"../utils/highlight.js";import{sanitizeHtml as m}from"../../../utils/sanitizeHtml.js";import"./BookOverviewCard.css.js";const h={card:{border:"2px solid #E5E7EB",backgroundColor:"#FFFFFF",borderRadius:"12px",padding:"24px"},title:{fontSize:"16px",fontWeight:"bold",marginBottom:"24px"},grid:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(110px, 1fr))",gap:"24px",marginBottom:"24px"},gridItem:{backgroundColor:"#F8FAFC",border:"1px solid #DFE5EC",borderRadius:"8px",padding:"12px 8px",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",gap:"12px"},gridItemHeight:{height:"50px"},label:{fontSize:"14px",fontWeight:400,color:"#64748B",margin:0},value:{fontWeight:"bold",fontSize:"14px",color:"#434C55",margin:0,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:"120px"},section:{marginBottom:"12px",padding:"8px 12px",borderRadius:"8px",border:"1px solid #DEE4EB"},sectionLabel:{fontSize:"14px",fontWeight:600,color:"#667085",marginBottom:"8px",whiteSpace:"pre-line"},summaryText:{marginTop:"0px"},sectionText:{fontSize:"16px",fontWeight:400,lineHeight:"1.625",color:"#64748B",marginBottom:"8px"},button:{color:"#5928ED",fontSize:"14px",fontWeight:600,background:"none",border:"none",cursor:"pointer",padding:0,textDecoration:"none"},lineClamp:{display:"-webkit-box",WebkitLineClamp:3,WebkitBoxOrient:"vertical",overflow:"hidden"},container:{fontFamily:"Inter, sans-serif",color:"#434C54",marginBottom:"8px"},partContainer:{marginBottom:"8px"},partTitle:{fontSize:"16px",fontWeight:"600",marginBottom:"10px"},chapterList:{listStyle:"none",paddingLeft:"20px",margin:0},chapterItem:{marginBottom:"6px"},chapterLink:{textDecoration:"none",color:"#63748A",fontSize:"16px",lineHeight:"1.5"},chapterLinkHover:{textDecoration:"underline"},singleChapter:{marginBottom:"4px",fontSize:"16px"},chapterNumber:{color:"#63748A"}},g=({data:g,highlightTerms:u,onHighlightMatch:y,highlightEnabled:b})=>{const[x,f]=n(!1),[k,v]=n(!1),[T,C]=n(!1),[S,N]=n(!1),L=l(null),B=l(null),w=g?.tableOfContent&&g.tableOfContent.every(e=>!e.title||""===e.title.trim()),I=g?.bookDescription?.replace(/display:\s*-webkit-box;?/g,"")?.replace(/-webkit-line-clamp:\s*\d+;?/g,"")?.replace(/-webkit-box-orient:\s*vertical;?/g,"")?.replace(/overflow:\s*hidden;?/g,""),D=e=>null!=e?String(e):"";return r(()=>{if(L.current){const e=L.current.scrollHeight>L.current.clientHeight;N(e)}},[g?.bookDescription,k]),i(()=>{if(!u?.length||!b)return;const e=u.map(e=>e.toLowerCase()),t=t=>t&&e.some(e=>t.toLowerCase().includes(e)),o=t(g.title),n=t(g.author),l=t(g.bookDescription),r=t(g.summary),i=t(D(g?.totalSectionCount)),a=t(D(g?.totalPages)),s=t(g.readingTime),c=g?.tableOfContent?.some(e=>t(e?.title)||e?.children?.some(e=>t(e?.title))),d=o||n||l||r||i||a||s||c;y?.(d),d&&(l&&v(!0),r&&f(!0),c&&C(!0))},[u,g]),e("div",{ref:B,style:h.card,className:"book-card-container",children:[e("div",{style:h.grid,className:"book-card-grid",children:[e("div",{style:h.gridItem,children:[t("p",{style:h.label,children:"Book Title"}),u&&u.length>0&&b?t("p",{style:h.value,className:"book-card-value",title:g?.title,dangerouslySetInnerHTML:{__html:m(d(g?.title??"NA",u))}}):t("p",{style:h.value,className:"book-card-value",title:g?.title,children:g?.title??"NA"})]}),e("div",{style:h.gridItem,children:[t("p",{style:h.label,children:"Book Author"}),u&&u.length>0&&b?t("p",{style:h.value,className:"book-card-value",title:g?.author,dangerouslySetInnerHTML:{__html:m(d(g?.author??"NA",u))}}):t("p",{style:h.value,className:"book-card-value",title:g?.author,children:g?.author??"NA"})]}),e("div",{style:h.gridItem,children:[t("p",{style:h.label,children:"Total Sections"}),u&&u.length>0&&b?t("p",{style:h.value,className:"book-card-value",dangerouslySetInnerHTML:{__html:m(d(String(g?.totalSectionCount)??"NA",u))}}):t("p",{style:h.value,className:"book-card-value",children:g?.totalSectionCount??"NA"})]}),e("div",{style:h.gridItem,children:[t("p",{style:h.label,children:"Total Pages"}),u&&u.length>0&&b?t("p",{style:h.value,className:"book-card-value",dangerouslySetInnerHTML:{__html:m(d(String(g?.totalPages??"NA"),u))}}):t("p",{style:h.value,className:"book-card-value",children:g?.totalPages??"NA"})]}),e("div",{style:h.gridItem,children:[t("p",{style:h.label,children:"Reading Time"}),u&&u.length>0&&b?t("p",{style:h.value,className:"book-card-value",dangerouslySetInnerHTML:{__html:m(d(String(g?.readingTime??"NA"),u))}}):t("p",{style:h.value,className:"book-card-value",children:g?.readingTime??"NA"})]})]}),g?.bookDescription&&g?.bookDescription.length>0&&e("div",{style:h.section,className:"book-card-section",children:[t("p",{style:h.sectionLabel,children:"Book Description"}),t("div",{ref:L,className:"book-card-section-text",style:{...h.sectionText,...h.summaryText,...k?{}:h.lineClamp},children:t("div",{dangerouslySetInnerHTML:{__html:u&&u.length>0&&b?m(d(I||"",u)):I}})}),(S||k)&&t("button",{style:{...h.button,marginBottom:"10px"},onClick:()=>v(e=>!e),onMouseOver:e=>e.currentTarget.style.textDecoration="underline",onMouseOut:e=>e.currentTarget.style.textDecoration="none",children:k?"View Less":"View More"})]}),e("div",{style:h.section,className:"book-card-section",children:[t("p",{style:h.sectionLabel,children:"AI Book Summary"}),t("p",{className:"book-card-section-text",style:{...h.sectionText,...x?{}:h.lineClamp},children:t(a,{remarkPlugins:[s],rehypePlugins:[c],components:{p:({node:e,...o})=>t("p",{style:{marginTop:"0"},...o})},children:p(g?.summary,u)})}),g?.summary&&g?.summary.length>0&&t("button",{style:{...h.button,marginBottom:"10px"},onClick:()=>f(e=>!e),onMouseOver:e=>e.currentTarget.style.textDecoration="underline",onMouseOut:e=>e.currentTarget.style.textDecoration="none",children:x?"View Less":"View More"})]}),e("div",{style:{...h.section,marginTop:"10px"},children:[t("p",{style:{...h.sectionLabel,marginBottom:"18px"},children:"Table Of Content"}),t("div",{style:{...h.container,...T?{}:h.lineClamp},children:g?.tableOfContent&&!w?g?.tableOfContent?.map((n,l)=>t("div",{style:h.partContainer,children:n.children?e(o,{children:[t("p",{style:h.partTitle,className:"book-card-part-title",dangerouslySetInnerHTML:{__html:u&&u.length>0&&b?m(d(n.title,u)):n.title}}),t("ul",{style:h.chapterList,children:n.children.map((e,o)=>t("li",{style:h.chapterItem,children:t("span",{style:h.chapterLink,className:"book-card-chapter-link",dangerouslySetInnerHTML:{__html:u&&u.length>0&&b?m(d(e.title,u)):e.title}})},o))})]}):t("div",{style:h.singleChapter,children:t("span",{style:h.chapterLink,className:"book-card-chapter-link",dangerouslySetInnerHTML:{__html:u&&u.length>0&&b?m(d(n.title,u)):n.title}})})},l)):t("p",{style:{fontStyle:"italic",fontSize:"16px",color:"#6B7280",margin:"8px 0"},children:"Table of Contents not found for this book."})}),g?.tableOfContent&&!w&&g?.tableOfContent.length>0&&t("button",{style:{...h.button,marginBottom:"10px"},onClick:()=>C(e=>!e),onMouseOver:e=>e.currentTarget.style.textDecoration="underline",onMouseOut:e=>e.currentTarget.style.textDecoration="none",children:T?"View Less":"View More"})]})]})};export{g as default};
1
+ import{jsxs as e,jsx as t,Fragment as o}from"react/jsx-runtime";import{useState as n,useRef as l,useLayoutEffect as r,useEffect as i}from"react";import a from"react-markdown";import s from"remark-breaks";import c from"rehype-raw";import{highlightTermsFunc as d,processTextWithHighlight as p}from"../utils/highlight.js";import{sanitizeHtml as m}from"../../../utils/sanitizeHtml.js";const h={card:{border:"2px solid #E5E7EB",backgroundColor:"#FFFFFF",borderRadius:"12px",padding:"24px"},title:{fontSize:"16px",fontWeight:"bold",marginBottom:"24px"},grid:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(110px, 1fr))",gap:"24px",marginBottom:"24px"},gridItem:{backgroundColor:"#F8FAFC",border:"1px solid #DFE5EC",borderRadius:"8px",padding:"12px 8px",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",gap:"12px"},gridItemHeight:{height:"50px"},label:{fontSize:"14px",fontWeight:400,color:"#64748B",margin:0},value:{fontWeight:"bold",fontSize:"14px",color:"#434C55",margin:0,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:"120px"},section:{marginBottom:"12px",padding:"8px 12px",borderRadius:"8px",border:"1px solid #DEE4EB"},sectionLabel:{fontSize:"14px",fontWeight:600,color:"#667085",marginBottom:"8px",whiteSpace:"pre-line"},summaryText:{marginTop:"0px"},sectionText:{fontSize:"16px",fontWeight:400,lineHeight:"1.625",color:"#64748B",marginBottom:"8px"},button:{color:"#5928ED",fontSize:"14px",fontWeight:600,background:"none",border:"none",cursor:"pointer",padding:0,textDecoration:"none"},lineClamp:{display:"-webkit-box",WebkitLineClamp:3,WebkitBoxOrient:"vertical",overflow:"hidden"},container:{fontFamily:"Inter, sans-serif",color:"#434C54",marginBottom:"8px"},partContainer:{marginBottom:"8px"},partTitle:{fontSize:"16px",fontWeight:"600",marginBottom:"10px"},chapterList:{listStyle:"none",paddingLeft:"20px",margin:0},chapterItem:{marginBottom:"6px"},chapterLink:{textDecoration:"none",color:"#63748A",fontSize:"16px",lineHeight:"1.5"},chapterLinkHover:{textDecoration:"underline"},singleChapter:{marginBottom:"4px",fontSize:"16px"},chapterNumber:{color:"#63748A"}},g=({data:g,highlightTerms:u,onHighlightMatch:y,highlightEnabled:b})=>{const[x,f]=n(!1),[k,v]=n(!1),[T,C]=n(!1),[S,N]=n(!1),L=l(null),B=l(null),w=g?.tableOfContent&&g.tableOfContent.every(e=>!e.title||""===e.title.trim()),I=g?.bookDescription?.replace(/display:\s*-webkit-box;?/g,"")?.replace(/-webkit-line-clamp:\s*\d+;?/g,"")?.replace(/-webkit-box-orient:\s*vertical;?/g,"")?.replace(/overflow:\s*hidden;?/g,""),D=e=>null!=e?String(e):"";return r(()=>{if(L.current){const e=L.current.scrollHeight>L.current.clientHeight;N(e)}},[g?.bookDescription,k]),i(()=>{if(!u?.length||!b)return;const e=u.map(e=>e.toLowerCase()),t=t=>t&&e.some(e=>t.toLowerCase().includes(e)),o=t(g.title),n=t(g.author),l=t(g.bookDescription),r=t(g.summary),i=t(D(g?.totalSectionCount)),a=t(D(g?.totalPages)),s=t(g.readingTime),c=g?.tableOfContent?.some(e=>t(e?.title)||e?.children?.some(e=>t(e?.title))),d=o||n||l||r||i||a||s||c;y?.(d),d&&(l&&v(!0),r&&f(!0),c&&C(!0))},[u,g]),e("div",{ref:B,style:h.card,className:"book-card-container",children:[e("div",{style:h.grid,className:"book-card-grid",children:[e("div",{style:h.gridItem,children:[t("p",{style:h.label,children:"Book Title"}),u&&u.length>0&&b?t("p",{style:h.value,className:"book-card-value",title:g?.title,dangerouslySetInnerHTML:{__html:m(d(g?.title??"NA",u))}}):t("p",{style:h.value,className:"book-card-value",title:g?.title,children:g?.title??"NA"})]}),e("div",{style:h.gridItem,children:[t("p",{style:h.label,children:"Book Author"}),u&&u.length>0&&b?t("p",{style:h.value,className:"book-card-value",title:g?.author,dangerouslySetInnerHTML:{__html:m(d(g?.author??"NA",u))}}):t("p",{style:h.value,className:"book-card-value",title:g?.author,children:g?.author??"NA"})]}),e("div",{style:h.gridItem,children:[t("p",{style:h.label,children:"Total Sections"}),u&&u.length>0&&b?t("p",{style:h.value,className:"book-card-value",dangerouslySetInnerHTML:{__html:m(d(String(g?.totalSectionCount)??"NA",u))}}):t("p",{style:h.value,className:"book-card-value",children:g?.totalSectionCount??"NA"})]}),e("div",{style:h.gridItem,children:[t("p",{style:h.label,children:"Total Pages"}),u&&u.length>0&&b?t("p",{style:h.value,className:"book-card-value",dangerouslySetInnerHTML:{__html:m(d(String(g?.totalPages??"NA"),u))}}):t("p",{style:h.value,className:"book-card-value",children:g?.totalPages??"NA"})]}),e("div",{style:h.gridItem,children:[t("p",{style:h.label,children:"Reading Time"}),u&&u.length>0&&b?t("p",{style:h.value,className:"book-card-value",dangerouslySetInnerHTML:{__html:m(d(String(g?.readingTime??"NA"),u))}}):t("p",{style:h.value,className:"book-card-value",children:g?.readingTime??"NA"})]})]}),g?.bookDescription&&g?.bookDescription.length>0&&e("div",{style:h.section,className:"book-card-section",children:[t("p",{style:h.sectionLabel,children:"Book Description"}),t("div",{ref:L,className:"book-card-section-text",style:{...h.sectionText,...h.summaryText,...k?{}:h.lineClamp},children:t("div",{dangerouslySetInnerHTML:{__html:u&&u.length>0&&b?m(d(I||"",u)):I}})}),(S||k)&&t("button",{style:{...h.button,marginBottom:"10px"},onClick:()=>v(e=>!e),onMouseOver:e=>e.currentTarget.style.textDecoration="underline",onMouseOut:e=>e.currentTarget.style.textDecoration="none",children:k?"View Less":"View More"})]}),e("div",{style:h.section,className:"book-card-section",children:[t("p",{style:h.sectionLabel,children:"AI Book Summary"}),t("p",{className:"book-card-section-text",style:{...h.sectionText,...x?{}:h.lineClamp},children:t(a,{remarkPlugins:[s],rehypePlugins:[c],components:{p:({node:e,...o})=>t("p",{style:{marginTop:"0"},...o})},children:p(g?.summary,u)})}),g?.summary&&g?.summary.length>0&&t("button",{style:{...h.button,marginBottom:"10px"},onClick:()=>f(e=>!e),onMouseOver:e=>e.currentTarget.style.textDecoration="underline",onMouseOut:e=>e.currentTarget.style.textDecoration="none",children:x?"View Less":"View More"})]}),e("div",{style:{...h.section,marginTop:"10px"},children:[t("p",{style:{...h.sectionLabel,marginBottom:"18px"},children:"Table Of Content"}),t("div",{style:{...h.container,...T?{}:h.lineClamp},children:g?.tableOfContent&&!w?g?.tableOfContent?.map((n,l)=>t("div",{style:h.partContainer,children:n.children?e(o,{children:[t("p",{style:h.partTitle,className:"book-card-part-title",dangerouslySetInnerHTML:{__html:u&&u.length>0&&b?m(d(n.title,u)):n.title}}),t("ul",{style:h.chapterList,children:n.children.map((e,o)=>t("li",{style:h.chapterItem,children:t("span",{style:h.chapterLink,className:"book-card-chapter-link",dangerouslySetInnerHTML:{__html:u&&u.length>0&&b?m(d(e.title,u)):e.title}})},o))})]}):t("div",{style:h.singleChapter,children:t("span",{style:h.chapterLink,className:"book-card-chapter-link",dangerouslySetInnerHTML:{__html:u&&u.length>0&&b?m(d(n.title,u)):n.title}})})},l)):t("p",{style:{fontStyle:"italic",fontSize:"16px",color:"#6B7280",margin:"8px 0"},children:"Table of Contents not found for this book."})}),g?.tableOfContent&&!w&&g?.tableOfContent.length>0&&t("button",{style:{...h.button,marginBottom:"10px"},onClick:()=>C(e=>!e),onMouseOver:e=>e.currentTarget.style.textDecoration="underline",onMouseOut:e=>e.currentTarget.style.textDecoration="none",children:T?"View Less":"View More"})]})]})};export{g as default};
2
2
  //# sourceMappingURL=BookOverviewCard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BookOverviewCard.js","sources":["../../../../src/features/Bookemon/BookOverviewCard/BookOverviewCard.tsx"],"sourcesContent":["import React, { CSSProperties, useEffect, useLayoutEffect, useRef, useState } from \"react\";\nimport ReactMarkdown from \"react-markdown\";\nimport remarkBreaks from 'remark-breaks'\nimport rehypeRaw from \"rehype-raw\";\nimport { highlightTermsFunc, processTextWithHighlight } from '../utils/highlight';\nimport { sanitizeHtml } from \"../../../utils/sanitizeHtml\";\nimport \"./BookOverviewCard.css\";\nimport { BookemonProps } from \"../types/citation.types\";\n\nconst defaultStyles: { [key: string]: CSSProperties } = {\n card: {\n border: \"2px solid #E5E7EB\", // Tailwind border-2 default gray\n backgroundColor: \"#FFFFFF\",\n borderRadius: \"12px\",\n padding: \"24px\",\n // marginBottom: \"24px\",\n },\n title: {\n fontSize: \"16px\",\n fontWeight: \"bold\",\n marginBottom: \"24px\",\n },\n grid: {\n display: \"grid\",\n gridTemplateColumns: \"repeat(auto-fit, minmax(110px, 1fr))\", \n gap: \"24px\",\n marginBottom: \"24px\",\n },\n gridItem: {\n backgroundColor: \"#F8FAFC\",\n border: \"1px solid #DFE5EC\",\n borderRadius: \"8px\",\n padding: \"12px 8px\",\n // height: \"50px\",\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"center\",\n alignItems: \"center\",\n gap: \"12px\",\n },\n\n gridItemHeight : {\n height: \"50px\",\n },\n label: {\n fontSize: \"14px\",\n fontWeight: 400,\n color: \"#64748B\",\n margin: 0,\n // marginBottom: \"4px\",\n },\n value: {\n fontWeight: \"bold\",\n fontSize: \"14px\",\n color: \"#434C55\",\n margin: 0,\n\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n maxWidth: \"120px\",\n },\n section: {\n marginBottom: \"12px\",\n // boxShadow : \"0px 8px 12px rgba(0, 0, 0, 0.05)\",\n // boxShadow: \"rgba(0, 0, 0, 0.16) 0px 1px 4px\",\n padding: \"8px 12px\",\n borderRadius: \"8px\",\n border : \"1px solid #DEE4EB\"\n },\n sectionLabel: {\n fontSize: \"14px\",\n fontWeight: 600,\n color: \"#667085\",\n marginBottom: \"8px\",\n whiteSpace: \"pre-line\",\n },\n summaryText: {\n marginTop: \"0px\",\n },\n sectionText: {\n fontSize: \"16px\",\n fontWeight: 400,\n lineHeight: \"1.625\", // leading-relaxed\n color: \"#64748B\",\n marginBottom: \"8px\",\n },\n button: {\n color: \"#5928ED\",\n fontSize: \"14px\",\n fontWeight: 600,\n background: \"none\",\n border: \"none\",\n cursor: \"pointer\",\n padding: 0,\n textDecoration: \"none\",\n },\n lineClamp: {\n display: \"-webkit-box\",\n WebkitLineClamp: 3,\n WebkitBoxOrient: \"vertical\",\n overflow: \"hidden\",\n },\n container: {\n // padding: \"16px\",\n fontFamily: \"Inter, sans-serif\",\n color: \"#434C54\",\n marginBottom: \"8px\",\n },\n partContainer: {\n marginBottom: \"8px\",\n },\n partTitle: {\n fontSize: \"16px\",\n fontWeight: \"600\",\n marginBottom: \"10px\",\n },\n chapterList: {\n listStyle: \"none\",\n paddingLeft: \"20px\",\n margin: 0,\n },\n chapterItem: {\n marginBottom: \"6px\",\n },\n chapterLink: {\n textDecoration: \"none\",\n color: \"#63748A\",\n fontSize: \"16px\",\n lineHeight: \"1.5\",\n },\n chapterLinkHover: {\n textDecoration: \"underline\",\n },\n singleChapter: {\n marginBottom: \"4px\",\n fontSize: \"16px\",\n },\n chapterNumber : {\n color: \"#63748A\",\n }\n};\n// Type for book overview object\nexport interface IBookOverview {\n title: string;\n totalPages: number;\n readingTime: string;\n summary: string;\n author : string;\n totalSectionCount : number;\n bookDescription : string,\n tableOfContent : any[]\n}\n\ninterface BookOverviewCardProps {\n data: IBookOverview;\n highlightTerms?: string[];\n onHighlightMatch?: (matched: boolean) => void;\n highlightEnabled?: boolean\n}\n\nconst BookOverviewCard = ({ data, highlightTerms, onHighlightMatch, highlightEnabled }: BookOverviewCardProps) => {\n const [expanded, setExpanded] = useState(false);\n const [showFullSummary, setShowFullSummary] = useState(false);\n const [tableOfContentExpanded, setTableOfContentExpanded] = useState(false);\n const [isOverflowing, setIsOverflowing] = useState(false);\n const textRef = useRef<HTMLDivElement | null>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n const isTableOfContentEmpty = data?.tableOfContent && data.tableOfContent.every((item: any) => !item.title || item.title.trim() === \"\");\n const extractSummary = (summary: string) => {\n if (!summary) return \"\";\n const idx = summary.indexOf(\"Book Title:\");\n if (idx === 0) {\n return summary.slice(\"Book Title:\".length).trim();\n }\n return summary;\n };\n\n const cleanedDescription = data?.bookDescription\n ?.replace(/display:\\s*-webkit-box;?/g, \"\")\n ?.replace(/-webkit-line-clamp:\\s*\\d+;?/g, \"\")\n ?.replace(/-webkit-box-orient:\\s*vertical;?/g, \"\")\n ?.replace(/overflow:\\s*hidden;?/g, \"\");\n\n const safeString = (value: any) =>\n value !== null && value !== undefined ? String(value) : \"\";\n\n useLayoutEffect(() => {\n if (textRef.current) {\n const isTextOverflowing =\n textRef.current.scrollHeight > textRef.current.clientHeight;\n setIsOverflowing(isTextOverflowing);\n }\n}, [data?.bookDescription, showFullSummary]);\n\nuseEffect(() => {\n if (!highlightTerms?.length || !highlightEnabled) return;\n\n\n const lowerTerms = highlightTerms.map(t => t.toLowerCase());\n\n const contains = (text?: string) =>\n text && lowerTerms.some(term => text.toLowerCase().includes(term));\n\n const titleMatch = contains(data.title);\n const authorMatch = contains(data.author);\n const descriptionMatch = contains(data.bookDescription);\n const summaryMatch = contains(data.summary);\n const totalSectionCountMatch = contains(safeString(data?.totalSectionCount));\n const totalPagesMatch = contains(safeString(data?.totalPages));\n const readingTimeMatch = contains(data.readingTime);\n\n const tocMatch = data?.tableOfContent?.some((item: any) =>\n contains(item?.title) ||\n item?.children?.some((child: any) =>\n contains(child?.title)\n )\n );\n\n const matched =\n titleMatch ||\n authorMatch ||\n descriptionMatch ||\n summaryMatch ||\n totalSectionCountMatch ||\n totalPagesMatch ||\n readingTimeMatch ||\n tocMatch;\n\n onHighlightMatch?.(matched);\n\n if (!matched) return;\n\n if (descriptionMatch) {\n setShowFullSummary(true);\n }\n\n if (summaryMatch) {\n setExpanded(true);\n }\n\n if (tocMatch) {\n setTableOfContentExpanded(true);\n }\n\n}, [highlightTerms, data]);\n\n\n return (\n <div ref={containerRef} style={defaultStyles.card} className=\"book-card-container\">\n {/* <h2 style={defaultStyles.title}>Book Overview</h2> */}\n <div style={defaultStyles.grid} className=\"book-card-grid\">\n <div style={defaultStyles.gridItem}>\n <p style={defaultStyles.label} >Book Title</p>\n {highlightTerms && highlightTerms.length > 0 && highlightEnabled ? (\n <p style={defaultStyles.value} className=\"book-card-value\" title={data?.title} dangerouslySetInnerHTML={{ __html: sanitizeHtml(highlightTermsFunc(data?.title ?? \"NA\", highlightTerms)) }} />\n ) : (\n <p style={defaultStyles.value} className=\"book-card-value\" title={data?.title}>{data?.title ?? \"NA\"}</p>\n )}\n </div>\n <div style={defaultStyles.gridItem}>\n <p style={defaultStyles.label} >Book Author</p>\n {highlightTerms && highlightTerms.length > 0 && highlightEnabled ? (\n <p style={defaultStyles.value} className=\"book-card-value\" title={data?.author} dangerouslySetInnerHTML={{ __html: sanitizeHtml(highlightTermsFunc(data?.author ?? \"NA\", highlightTerms)) }} />\n ) : (\n <p style={defaultStyles.value} className=\"book-card-value\" title={data?.author}>{data?.author ?? \"NA\"}</p>\n )}\n </div>\n <div style={defaultStyles.gridItem}>\n <p style={defaultStyles.label}>Total Sections</p>\n {\n highlightTerms && highlightTerms.length > 0 && highlightEnabled ?\n <p style={defaultStyles.value} className=\"book-card-value\" dangerouslySetInnerHTML={{ __html: sanitizeHtml(highlightTermsFunc(String(data?.totalSectionCount) ?? \"NA\", highlightTerms)) }} /> : \n <p style={defaultStyles.value} className=\"book-card-value\">{data?.totalSectionCount ?? \"NA\"}</p>\n }\n </div>\n <div style={defaultStyles.gridItem}>\n <p style={defaultStyles.label}>Total Pages</p>\n {\n highlightTerms && highlightTerms.length > 0 && highlightEnabled ? \n <p style={defaultStyles.value} className=\"book-card-value\" dangerouslySetInnerHTML={{ __html: sanitizeHtml(highlightTermsFunc(String(data?.totalPages ?? \"NA\"), highlightTerms)) }} /> : \n <p style={defaultStyles.value} className=\"book-card-value\">{data?.totalPages ?? \"NA\"}</p>\n }\n </div>\n <div style={defaultStyles.gridItem}>\n <p style={defaultStyles.label}>Reading Time</p>\n {\n highlightTerms && highlightTerms.length > 0 && highlightEnabled ? \n <p style={defaultStyles.value} className=\"book-card-value\" dangerouslySetInnerHTML={{ __html: sanitizeHtml(highlightTermsFunc(String(data?.readingTime ?? \"NA\"), highlightTerms)) }} /> : \n <p style={defaultStyles.value} className=\"book-card-value\">{data?.readingTime ?? \"NA\"}</p>\n }\n </div>\n </div>\n {data?.bookDescription && data?.bookDescription.length > 0 && <div style={defaultStyles.section} className=\"book-card-section\">\n <p style={defaultStyles.sectionLabel}>Book Description</p>\n <div\n ref={textRef}\n className=\"book-card-section-text\"\n style={{ ...defaultStyles.sectionText, ...defaultStyles.summaryText, ...(!showFullSummary ? defaultStyles.lineClamp : {}) }} >\n <div\n dangerouslySetInnerHTML={{ __html: highlightTerms && highlightTerms.length > 0 && highlightEnabled ? sanitizeHtml(highlightTermsFunc(cleanedDescription || \"\", highlightTerms)) : cleanedDescription }}\n />\n </div>\n {(isOverflowing || showFullSummary) && <button\n style={{ ...defaultStyles.button, marginBottom: \"10px\" }}\n onClick={() => setShowFullSummary((prev) => !prev)}\n onMouseOver={(e) =>\n (e.currentTarget.style.textDecoration = \"underline\")\n }\n onMouseOut={(e) => (e.currentTarget.style.textDecoration = \"none\")}\n >\n {showFullSummary ? \"View Less\" : \"View More\"}\n </button>}\n </div>}\n <div style={defaultStyles.section} className=\"book-card-section\">\n <p style={defaultStyles.sectionLabel}>AI Book Summary</p>\n <p className=\"book-card-section-text\" style={{...defaultStyles.sectionText, ...(!expanded ? defaultStyles.lineClamp : {})}}>\n {/* {extractSummary(data.summary)} */}\n {\n <ReactMarkdown \n remarkPlugins={[remarkBreaks]}\n rehypePlugins={[rehypeRaw as any]}\n components={{\n p: ({ node, ...props }) => (\n <p\n style={{\n marginTop: \"0\",\n }}\n {...props}\n />\n ),\n }}>{processTextWithHighlight(\n data?.summary,\n highlightTerms\n )}</ReactMarkdown>\n }\n </p>\n {data?.summary && data?.summary.length > 0 && <button\n style={{...defaultStyles.button, marginBottom: \"10px\"}}\n onClick={() => setExpanded((prev) => !prev)}\n onMouseOver={(e) =>\n (e.currentTarget.style.textDecoration = \"underline\")\n }\n onMouseOut={(e) => (e.currentTarget.style.textDecoration = \"none\")}\n >\n {expanded ? \"View Less\" : \"View More\"}\n </button>}\n </div>\n <div style={{...defaultStyles.section, marginTop: \"10px\" }}>\n <p style={{...defaultStyles.sectionLabel, marginBottom : \"18px\"}}>Table Of Content</p>\n <div style={{ ...defaultStyles.container, ...(!tableOfContentExpanded ? defaultStyles.lineClamp : {}) }}>\n {(data?.tableOfContent && !isTableOfContentEmpty) ? data?.tableOfContent?.map((item, index) => (\n <div key={index} style={defaultStyles.partContainer}>\n {/* If the item has subchapters */}\n {item.children ? (\n <>\n <p style={defaultStyles.partTitle} className=\"book-card-part-title\"\n dangerouslySetInnerHTML={{\n __html: highlightTerms && highlightTerms.length > 0 && highlightEnabled ? sanitizeHtml(highlightTermsFunc(item.title, highlightTerms)) : item.title,\n }}\n />\n <ul style={defaultStyles.chapterList}>\n {item.children.map((child: any, i: any) => {\n return (\n <li key={i} style={defaultStyles.chapterItem}>\n <span\n style={defaultStyles.chapterLink}\n className=\"book-card-chapter-link\"\n dangerouslySetInnerHTML={{\n __html: highlightTerms && highlightTerms.length > 0 && highlightEnabled ? sanitizeHtml(highlightTermsFunc(child.title, highlightTerms)) : child.title,\n }}\n />\n </li>\n );\n })}\n </ul>\n </>\n ) : (\n // Standalone chapters (like Introduction, Conclusion, etc.)\n (<div style={defaultStyles.singleChapter}>\n <span\n style={defaultStyles.chapterLink}\n className=\"book-card-chapter-link\"\n dangerouslySetInnerHTML={{ __html: highlightTerms && highlightTerms.length > 0 && highlightEnabled ? sanitizeHtml(highlightTermsFunc(item.title, highlightTerms)) : item.title }}\n />\n </div>)\n )}\n </div>\n )) : <p style={{ fontStyle: \"italic\", fontSize: '16px', color: \"#6B7280\", margin: \"8px 0\" }}>\n Table of Contents not found for this book.\n </p>\n }\n\n </div>\n {data?.tableOfContent && !isTableOfContentEmpty && data?.tableOfContent.length > 0 && <button\n style={{...defaultStyles.button, marginBottom: \"10px\"}}\n onClick={() => setTableOfContentExpanded((prev) => !prev)}\n onMouseOver={(e) =>\n (e.currentTarget.style.textDecoration = \"underline\")\n }\n onMouseOut={(e) => (e.currentTarget.style.textDecoration = \"none\")}\n >\n {tableOfContentExpanded ? \"View Less\" : \"View More\"}\n </button>}\n </div>\n </div>\n );\n};\n\nexport default BookOverviewCard;\n"],"names":["defaultStyles","card","border","backgroundColor","borderRadius","padding","title","fontSize","fontWeight","marginBottom","grid","display","gridTemplateColumns","gap","gridItem","flexDirection","justifyContent","alignItems","gridItemHeight","height","label","color","margin","value","whiteSpace","overflow","textOverflow","maxWidth","section","sectionLabel","summaryText","marginTop","sectionText","lineHeight","button","background","cursor","textDecoration","lineClamp","WebkitLineClamp","WebkitBoxOrient","container","fontFamily","partContainer","partTitle","chapterList","listStyle","paddingLeft","chapterItem","chapterLink","chapterLinkHover","singleChapter","chapterNumber","BookOverviewCard","data","highlightTerms","onHighlightMatch","highlightEnabled","expanded","setExpanded","useState","showFullSummary","setShowFullSummary","tableOfContentExpanded","setTableOfContentExpanded","isOverflowing","setIsOverflowing","textRef","useRef","containerRef","isTableOfContentEmpty","tableOfContent","every","item","trim","cleanedDescription","bookDescription","replace","safeString","String","useLayoutEffect","current","isTextOverflowing","scrollHeight","clientHeight","useEffect","length","lowerTerms","map","t","toLowerCase","contains","text","some","term","includes","titleMatch","authorMatch","author","descriptionMatch","summaryMatch","summary","totalSectionCountMatch","totalSectionCount","totalPagesMatch","totalPages","readingTimeMatch","readingTime","tocMatch","children","child","matched","jsxs","ref","style","className","jsx","dangerouslySetInnerHTML","__html","sanitizeHtml","highlightTermsFunc","onClick","prev","onMouseOver","e","currentTarget","onMouseOut","ReactMarkdown","remarkPlugins","remarkBreaks","rehypePlugins","rehypeRaw","components","p","node","props","processTextWithHighlight","index","Fragment","i","fontStyle"],"mappings":"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"}
1
+ {"version":3,"file":"BookOverviewCard.js","sources":["../../../../src/features/Bookemon/BookOverviewCard/BookOverviewCard.tsx"],"sourcesContent":["import React, { CSSProperties, useEffect, useLayoutEffect, useRef, useState } from \"react\";\nimport ReactMarkdown from \"react-markdown\";\nimport remarkBreaks from 'remark-breaks'\nimport rehypeRaw from \"rehype-raw\";\nimport { highlightTermsFunc, processTextWithHighlight } from '../utils/highlight';\nimport { sanitizeHtml } from \"../../../utils/sanitizeHtml\";\nimport \"./BookOverviewCard.css\";\nimport { BookemonProps } from \"../types/citation.types\";\n\nconst defaultStyles: { [key: string]: CSSProperties } = {\n card: {\n border: \"2px solid #E5E7EB\", // Tailwind border-2 default gray\n backgroundColor: \"#FFFFFF\",\n borderRadius: \"12px\",\n padding: \"24px\",\n // marginBottom: \"24px\",\n },\n title: {\n fontSize: \"16px\",\n fontWeight: \"bold\",\n marginBottom: \"24px\",\n },\n grid: {\n display: \"grid\",\n gridTemplateColumns: \"repeat(auto-fit, minmax(110px, 1fr))\", \n gap: \"24px\",\n marginBottom: \"24px\",\n },\n gridItem: {\n backgroundColor: \"#F8FAFC\",\n border: \"1px solid #DFE5EC\",\n borderRadius: \"8px\",\n padding: \"12px 8px\",\n // height: \"50px\",\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"center\",\n alignItems: \"center\",\n gap: \"12px\",\n },\n\n gridItemHeight : {\n height: \"50px\",\n },\n label: {\n fontSize: \"14px\",\n fontWeight: 400,\n color: \"#64748B\",\n margin: 0,\n // marginBottom: \"4px\",\n },\n value: {\n fontWeight: \"bold\",\n fontSize: \"14px\",\n color: \"#434C55\",\n margin: 0,\n\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n maxWidth: \"120px\",\n },\n section: {\n marginBottom: \"12px\",\n // boxShadow : \"0px 8px 12px rgba(0, 0, 0, 0.05)\",\n // boxShadow: \"rgba(0, 0, 0, 0.16) 0px 1px 4px\",\n padding: \"8px 12px\",\n borderRadius: \"8px\",\n border : \"1px solid #DEE4EB\"\n },\n sectionLabel: {\n fontSize: \"14px\",\n fontWeight: 600,\n color: \"#667085\",\n marginBottom: \"8px\",\n whiteSpace: \"pre-line\",\n },\n summaryText: {\n marginTop: \"0px\",\n },\n sectionText: {\n fontSize: \"16px\",\n fontWeight: 400,\n lineHeight: \"1.625\", // leading-relaxed\n color: \"#64748B\",\n marginBottom: \"8px\",\n },\n button: {\n color: \"#5928ED\",\n fontSize: \"14px\",\n fontWeight: 600,\n background: \"none\",\n border: \"none\",\n cursor: \"pointer\",\n padding: 0,\n textDecoration: \"none\",\n },\n lineClamp: {\n display: \"-webkit-box\",\n WebkitLineClamp: 3,\n WebkitBoxOrient: \"vertical\",\n overflow: \"hidden\",\n },\n container: {\n // padding: \"16px\",\n fontFamily: \"Inter, sans-serif\",\n color: \"#434C54\",\n marginBottom: \"8px\",\n },\n partContainer: {\n marginBottom: \"8px\",\n },\n partTitle: {\n fontSize: \"16px\",\n fontWeight: \"600\",\n marginBottom: \"10px\",\n },\n chapterList: {\n listStyle: \"none\",\n paddingLeft: \"20px\",\n margin: 0,\n },\n chapterItem: {\n marginBottom: \"6px\",\n },\n chapterLink: {\n textDecoration: \"none\",\n color: \"#63748A\",\n fontSize: \"16px\",\n lineHeight: \"1.5\",\n },\n chapterLinkHover: {\n textDecoration: \"underline\",\n },\n singleChapter: {\n marginBottom: \"4px\",\n fontSize: \"16px\",\n },\n chapterNumber : {\n color: \"#63748A\",\n }\n};\n// Type for book overview object\nexport interface IBookOverview {\n title: string;\n totalPages: number;\n readingTime: string;\n summary: string;\n author : string;\n totalSectionCount : number;\n bookDescription : string,\n tableOfContent : any[]\n}\n\ninterface BookOverviewCardProps {\n data: IBookOverview;\n highlightTerms?: string[];\n onHighlightMatch?: (matched: boolean) => void;\n highlightEnabled?: boolean\n}\n\nconst BookOverviewCard = ({ data, highlightTerms, onHighlightMatch, highlightEnabled }: BookOverviewCardProps) => {\n const [expanded, setExpanded] = useState(false);\n const [showFullSummary, setShowFullSummary] = useState(false);\n const [tableOfContentExpanded, setTableOfContentExpanded] = useState(false);\n const [isOverflowing, setIsOverflowing] = useState(false);\n const textRef = useRef<HTMLDivElement | null>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n const isTableOfContentEmpty = data?.tableOfContent && data.tableOfContent.every((item: any) => !item.title || item.title.trim() === \"\");\n const extractSummary = (summary: string) => {\n if (!summary) return \"\";\n const idx = summary.indexOf(\"Book Title:\");\n if (idx === 0) {\n return summary.slice(\"Book Title:\".length).trim();\n }\n return summary;\n };\n\n const cleanedDescription = data?.bookDescription\n ?.replace(/display:\\s*-webkit-box;?/g, \"\")\n ?.replace(/-webkit-line-clamp:\\s*\\d+;?/g, \"\")\n ?.replace(/-webkit-box-orient:\\s*vertical;?/g, \"\")\n ?.replace(/overflow:\\s*hidden;?/g, \"\");\n\n const safeString = (value: any) =>\n value !== null && value !== undefined ? String(value) : \"\";\n\n useLayoutEffect(() => {\n if (textRef.current) {\n const isTextOverflowing =\n textRef.current.scrollHeight > textRef.current.clientHeight;\n setIsOverflowing(isTextOverflowing);\n }\n}, [data?.bookDescription, showFullSummary]);\n\nuseEffect(() => {\n if (!highlightTerms?.length || !highlightEnabled) return;\n\n\n const lowerTerms = highlightTerms.map(t => t.toLowerCase());\n\n const contains = (text?: string) =>\n text && lowerTerms.some(term => text.toLowerCase().includes(term));\n\n const titleMatch = contains(data.title);\n const authorMatch = contains(data.author);\n const descriptionMatch = contains(data.bookDescription);\n const summaryMatch = contains(data.summary);\n const totalSectionCountMatch = contains(safeString(data?.totalSectionCount));\n const totalPagesMatch = contains(safeString(data?.totalPages));\n const readingTimeMatch = contains(data.readingTime);\n\n const tocMatch = data?.tableOfContent?.some((item: any) =>\n contains(item?.title) ||\n item?.children?.some((child: any) =>\n contains(child?.title)\n )\n );\n\n const matched =\n titleMatch ||\n authorMatch ||\n descriptionMatch ||\n summaryMatch ||\n totalSectionCountMatch ||\n totalPagesMatch ||\n readingTimeMatch ||\n tocMatch;\n\n onHighlightMatch?.(matched);\n\n if (!matched) return;\n\n if (descriptionMatch) {\n setShowFullSummary(true);\n }\n\n if (summaryMatch) {\n setExpanded(true);\n }\n\n if (tocMatch) {\n setTableOfContentExpanded(true);\n }\n\n}, [highlightTerms, data]);\n\n\n return (\n <div ref={containerRef} style={defaultStyles.card} className=\"book-card-container\">\n {/* <h2 style={defaultStyles.title}>Book Overview</h2> */}\n <div style={defaultStyles.grid} className=\"book-card-grid\">\n <div style={defaultStyles.gridItem}>\n <p style={defaultStyles.label} >Book Title</p>\n {highlightTerms && highlightTerms.length > 0 && highlightEnabled ? (\n <p style={defaultStyles.value} className=\"book-card-value\" title={data?.title} dangerouslySetInnerHTML={{ __html: sanitizeHtml(highlightTermsFunc(data?.title ?? \"NA\", highlightTerms)) }} />\n ) : (\n <p style={defaultStyles.value} className=\"book-card-value\" title={data?.title}>{data?.title ?? \"NA\"}</p>\n )}\n </div>\n <div style={defaultStyles.gridItem}>\n <p style={defaultStyles.label} >Book Author</p>\n {highlightTerms && highlightTerms.length > 0 && highlightEnabled ? (\n <p style={defaultStyles.value} className=\"book-card-value\" title={data?.author} dangerouslySetInnerHTML={{ __html: sanitizeHtml(highlightTermsFunc(data?.author ?? \"NA\", highlightTerms)) }} />\n ) : (\n <p style={defaultStyles.value} className=\"book-card-value\" title={data?.author}>{data?.author ?? \"NA\"}</p>\n )}\n </div>\n <div style={defaultStyles.gridItem}>\n <p style={defaultStyles.label}>Total Sections</p>\n {\n highlightTerms && highlightTerms.length > 0 && highlightEnabled ?\n <p style={defaultStyles.value} className=\"book-card-value\" dangerouslySetInnerHTML={{ __html: sanitizeHtml(highlightTermsFunc(String(data?.totalSectionCount) ?? \"NA\", highlightTerms)) }} /> : \n <p style={defaultStyles.value} className=\"book-card-value\">{data?.totalSectionCount ?? \"NA\"}</p>\n }\n </div>\n <div style={defaultStyles.gridItem}>\n <p style={defaultStyles.label}>Total Pages</p>\n {\n highlightTerms && highlightTerms.length > 0 && highlightEnabled ? \n <p style={defaultStyles.value} className=\"book-card-value\" dangerouslySetInnerHTML={{ __html: sanitizeHtml(highlightTermsFunc(String(data?.totalPages ?? \"NA\"), highlightTerms)) }} /> : \n <p style={defaultStyles.value} className=\"book-card-value\">{data?.totalPages ?? \"NA\"}</p>\n }\n </div>\n <div style={defaultStyles.gridItem}>\n <p style={defaultStyles.label}>Reading Time</p>\n {\n highlightTerms && highlightTerms.length > 0 && highlightEnabled ? \n <p style={defaultStyles.value} className=\"book-card-value\" dangerouslySetInnerHTML={{ __html: sanitizeHtml(highlightTermsFunc(String(data?.readingTime ?? \"NA\"), highlightTerms)) }} /> : \n <p style={defaultStyles.value} className=\"book-card-value\">{data?.readingTime ?? \"NA\"}</p>\n }\n </div>\n </div>\n {data?.bookDescription && data?.bookDescription.length > 0 && <div style={defaultStyles.section} className=\"book-card-section\">\n <p style={defaultStyles.sectionLabel}>Book Description</p>\n <div\n ref={textRef}\n className=\"book-card-section-text\"\n style={{ ...defaultStyles.sectionText, ...defaultStyles.summaryText, ...(!showFullSummary ? defaultStyles.lineClamp : {}) }} >\n <div\n dangerouslySetInnerHTML={{ __html: highlightTerms && highlightTerms.length > 0 && highlightEnabled ? sanitizeHtml(highlightTermsFunc(cleanedDescription || \"\", highlightTerms)) : cleanedDescription }}\n />\n </div>\n {(isOverflowing || showFullSummary) && <button\n style={{ ...defaultStyles.button, marginBottom: \"10px\" }}\n onClick={() => setShowFullSummary((prev) => !prev)}\n onMouseOver={(e) =>\n (e.currentTarget.style.textDecoration = \"underline\")\n }\n onMouseOut={(e) => (e.currentTarget.style.textDecoration = \"none\")}\n >\n {showFullSummary ? \"View Less\" : \"View More\"}\n </button>}\n </div>}\n <div style={defaultStyles.section} className=\"book-card-section\">\n <p style={defaultStyles.sectionLabel}>AI Book Summary</p>\n <p className=\"book-card-section-text\" style={{...defaultStyles.sectionText, ...(!expanded ? defaultStyles.lineClamp : {})}}>\n {/* {extractSummary(data.summary)} */}\n {\n <ReactMarkdown \n remarkPlugins={[remarkBreaks]}\n rehypePlugins={[rehypeRaw as any]}\n components={{\n p: ({ node, ...props }) => (\n <p\n style={{\n marginTop: \"0\",\n }}\n {...props}\n />\n ),\n }}>{processTextWithHighlight(\n data?.summary,\n highlightTerms\n )}</ReactMarkdown>\n }\n </p>\n {data?.summary && data?.summary.length > 0 && <button\n style={{...defaultStyles.button, marginBottom: \"10px\"}}\n onClick={() => setExpanded((prev) => !prev)}\n onMouseOver={(e) =>\n (e.currentTarget.style.textDecoration = \"underline\")\n }\n onMouseOut={(e) => (e.currentTarget.style.textDecoration = \"none\")}\n >\n {expanded ? \"View Less\" : \"View More\"}\n </button>}\n </div>\n <div style={{...defaultStyles.section, marginTop: \"10px\" }}>\n <p style={{...defaultStyles.sectionLabel, marginBottom : \"18px\"}}>Table Of Content</p>\n <div style={{ ...defaultStyles.container, ...(!tableOfContentExpanded ? defaultStyles.lineClamp : {}) }}>\n {(data?.tableOfContent && !isTableOfContentEmpty) ? data?.tableOfContent?.map((item, index) => (\n <div key={index} style={defaultStyles.partContainer}>\n {/* If the item has subchapters */}\n {item.children ? (\n <>\n <p style={defaultStyles.partTitle} className=\"book-card-part-title\"\n dangerouslySetInnerHTML={{\n __html: highlightTerms && highlightTerms.length > 0 && highlightEnabled ? sanitizeHtml(highlightTermsFunc(item.title, highlightTerms)) : item.title,\n }}\n />\n <ul style={defaultStyles.chapterList}>\n {item.children.map((child: any, i: any) => {\n return (\n <li key={i} style={defaultStyles.chapterItem}>\n <span\n style={defaultStyles.chapterLink}\n className=\"book-card-chapter-link\"\n dangerouslySetInnerHTML={{\n __html: highlightTerms && highlightTerms.length > 0 && highlightEnabled ? sanitizeHtml(highlightTermsFunc(child.title, highlightTerms)) : child.title,\n }}\n />\n </li>\n );\n })}\n </ul>\n </>\n ) : (\n // Standalone chapters (like Introduction, Conclusion, etc.)\n (<div style={defaultStyles.singleChapter}>\n <span\n style={defaultStyles.chapterLink}\n className=\"book-card-chapter-link\"\n dangerouslySetInnerHTML={{ __html: highlightTerms && highlightTerms.length > 0 && highlightEnabled ? sanitizeHtml(highlightTermsFunc(item.title, highlightTerms)) : item.title }}\n />\n </div>)\n )}\n </div>\n )) : <p style={{ fontStyle: \"italic\", fontSize: '16px', color: \"#6B7280\", margin: \"8px 0\" }}>\n Table of Contents not found for this book.\n </p>\n }\n\n </div>\n {data?.tableOfContent && !isTableOfContentEmpty && data?.tableOfContent.length > 0 && <button\n style={{...defaultStyles.button, marginBottom: \"10px\"}}\n onClick={() => setTableOfContentExpanded((prev) => !prev)}\n onMouseOver={(e) =>\n (e.currentTarget.style.textDecoration = \"underline\")\n }\n onMouseOut={(e) => (e.currentTarget.style.textDecoration = \"none\")}\n >\n {tableOfContentExpanded ? \"View Less\" : \"View More\"}\n </button>}\n </div>\n </div>\n );\n};\n\nexport default BookOverviewCard;\n"],"names":["defaultStyles","card","border","backgroundColor","borderRadius","padding","title","fontSize","fontWeight","marginBottom","grid","display","gridTemplateColumns","gap","gridItem","flexDirection","justifyContent","alignItems","gridItemHeight","height","label","color","margin","value","whiteSpace","overflow","textOverflow","maxWidth","section","sectionLabel","summaryText","marginTop","sectionText","lineHeight","button","background","cursor","textDecoration","lineClamp","WebkitLineClamp","WebkitBoxOrient","container","fontFamily","partContainer","partTitle","chapterList","listStyle","paddingLeft","chapterItem","chapterLink","chapterLinkHover","singleChapter","chapterNumber","BookOverviewCard","data","highlightTerms","onHighlightMatch","highlightEnabled","expanded","setExpanded","useState","showFullSummary","setShowFullSummary","tableOfContentExpanded","setTableOfContentExpanded","isOverflowing","setIsOverflowing","textRef","useRef","containerRef","isTableOfContentEmpty","tableOfContent","every","item","trim","cleanedDescription","bookDescription","replace","safeString","String","useLayoutEffect","current","isTextOverflowing","scrollHeight","clientHeight","useEffect","length","lowerTerms","map","t","toLowerCase","contains","text","some","term","includes","titleMatch","authorMatch","author","descriptionMatch","summaryMatch","summary","totalSectionCountMatch","totalSectionCount","totalPagesMatch","totalPages","readingTimeMatch","readingTime","tocMatch","children","child","matched","jsxs","ref","style","className","jsx","dangerouslySetInnerHTML","__html","sanitizeHtml","highlightTermsFunc","onClick","prev","onMouseOver","e","currentTarget","onMouseOut","ReactMarkdown","remarkPlugins","remarkBreaks","rehypePlugins","rehypeRaw","components","p","node","props","processTextWithHighlight","index","Fragment","i","fontStyle"],"mappings":"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"}