@ixo/editor 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. package/README.md +345 -0
  2. package/dist/blocks/index.d.ts +85 -0
  3. package/dist/blocks/index.d.ts.map +1 -0
  4. package/dist/blocks/index.js +50 -0
  5. package/dist/blocks/list/ListBlock.d.ts +59 -0
  6. package/dist/blocks/list/ListBlock.d.ts.map +1 -0
  7. package/dist/blocks/list/ListBlock.js +51 -0
  8. package/dist/blocks/list/ListBlockToolbar.d.ts +9 -0
  9. package/dist/blocks/list/ListBlockToolbar.d.ts.map +1 -0
  10. package/dist/blocks/list/ListBlockToolbar.js +26 -0
  11. package/dist/blocks/list/ListContainer.d.ts +5 -0
  12. package/dist/blocks/list/ListContainer.d.ts.map +1 -0
  13. package/dist/blocks/list/ListContainer.js +10 -0
  14. package/dist/blocks/list/ListGeneralTab.d.ts +11 -0
  15. package/dist/blocks/list/ListGeneralTab.d.ts.map +1 -0
  16. package/dist/blocks/list/ListGeneralTab.js +134 -0
  17. package/dist/blocks/list/ListItem.d.ts +8 -0
  18. package/dist/blocks/list/ListItem.d.ts.map +1 -0
  19. package/dist/blocks/list/ListItem.js +24 -0
  20. package/dist/blocks/list/ListPreviewTab.d.ts +9 -0
  21. package/dist/blocks/list/ListPreviewTab.d.ts.map +1 -0
  22. package/dist/blocks/list/ListPreviewTab.js +51 -0
  23. package/dist/blocks/list/ListSettings.d.ts +3 -0
  24. package/dist/blocks/list/ListSettings.d.ts.map +1 -0
  25. package/dist/blocks/list/ListSettings.js +115 -0
  26. package/dist/blocks/list/ListSettingsTab.d.ts +10 -0
  27. package/dist/blocks/list/ListSettingsTab.d.ts.map +1 -0
  28. package/dist/blocks/list/ListSettingsTab.js +64 -0
  29. package/dist/blocks/list/index.d.ts +3 -0
  30. package/dist/blocks/list/index.d.ts.map +1 -0
  31. package/dist/blocks/list/index.js +5 -0
  32. package/dist/blocks/list/useList.d.ts +5 -0
  33. package/dist/blocks/list/useList.d.ts.map +1 -0
  34. package/dist/blocks/list/useList.js +11 -0
  35. package/dist/blocks/overview/OverviewBlock.d.ts +33 -0
  36. package/dist/blocks/overview/OverviewBlock.d.ts.map +1 -0
  37. package/dist/blocks/overview/OverviewBlock.js +34 -0
  38. package/dist/blocks/overview/OverviewBlockToolbar.d.ts +8 -0
  39. package/dist/blocks/overview/OverviewBlockToolbar.d.ts.map +1 -0
  40. package/dist/blocks/overview/OverviewBlockToolbar.js +16 -0
  41. package/dist/blocks/overview/OverviewGeneralTab.d.ts +11 -0
  42. package/dist/blocks/overview/OverviewGeneralTab.d.ts.map +1 -0
  43. package/dist/blocks/overview/OverviewGeneralTab.js +134 -0
  44. package/dist/blocks/overview/OverviewPreviewTab.d.ts +10 -0
  45. package/dist/blocks/overview/OverviewPreviewTab.d.ts.map +1 -0
  46. package/dist/blocks/overview/OverviewPreviewTab.js +30 -0
  47. package/dist/blocks/overview/OverviewSettings.d.ts +3 -0
  48. package/dist/blocks/overview/OverviewSettings.d.ts.map +1 -0
  49. package/dist/blocks/overview/OverviewSettings.js +114 -0
  50. package/dist/blocks/overview/index.d.ts +3 -0
  51. package/dist/blocks/overview/index.d.ts.map +1 -0
  52. package/dist/blocks/overview/index.js +5 -0
  53. package/dist/blocks/overview/useOverview.d.ts +11 -0
  54. package/dist/blocks/overview/useOverview.d.ts.map +1 -0
  55. package/dist/blocks/overview/useOverview.js +61 -0
  56. package/dist/components/GlobeIcon.d.ts +9 -0
  57. package/dist/components/GlobeIcon.d.ts.map +1 -0
  58. package/dist/components/GlobeIcon.js +20 -0
  59. package/dist/components/IxoEditor.d.ts +14 -0
  60. package/dist/components/IxoEditor.d.ts.map +1 -0
  61. package/dist/components/IxoEditor.js +41 -0
  62. package/dist/components/PenIcon.d.ts +9 -0
  63. package/dist/components/PenIcon.d.ts.map +1 -0
  64. package/dist/components/PenIcon.js +20 -0
  65. package/dist/components/SettingsIcon.d.ts +9 -0
  66. package/dist/components/SettingsIcon.d.ts.map +1 -0
  67. package/dist/components/SettingsIcon.js +21 -0
  68. package/dist/components/SettingsModal/AdvancedTab.d.ts +8 -0
  69. package/dist/components/SettingsModal/AdvancedTab.d.ts.map +1 -0
  70. package/dist/components/SettingsModal/AdvancedTab.js +14 -0
  71. package/dist/components/SettingsModal/DomainPreview.d.ts +7 -0
  72. package/dist/components/SettingsModal/DomainPreview.d.ts.map +1 -0
  73. package/dist/components/SettingsModal/DomainPreview.js +22 -0
  74. package/dist/components/SettingsModal/FeatureASettings.d.ts +3 -0
  75. package/dist/components/SettingsModal/FeatureASettings.d.ts.map +1 -0
  76. package/dist/components/SettingsModal/FeatureASettings.js +74 -0
  77. package/dist/components/SettingsModal/GeneralTab.d.ts +10 -0
  78. package/dist/components/SettingsModal/GeneralTab.d.ts.map +1 -0
  79. package/dist/components/SettingsModal/GeneralTab.js +111 -0
  80. package/dist/components/SettingsModal/PreviewTab.d.ts +8 -0
  81. package/dist/components/SettingsModal/PreviewTab.d.ts.map +1 -0
  82. package/dist/components/SettingsModal/PreviewTab.js +14 -0
  83. package/dist/components/SettingsModal/SettingsModal.d.ts +16 -0
  84. package/dist/components/SettingsModal/SettingsModal.d.ts.map +1 -0
  85. package/dist/components/SettingsModal/SettingsModal.js +61 -0
  86. package/dist/components/SettingsModal/SettingsNavigation.d.ts +15 -0
  87. package/dist/components/SettingsModal/SettingsNavigation.d.ts.map +1 -0
  88. package/dist/components/SettingsModal/SettingsNavigation.js +21 -0
  89. package/dist/components/SettingsModal/index.d.ts +8 -0
  90. package/dist/components/SettingsModal/index.d.ts.map +1 -0
  91. package/dist/components/SettingsModal/index.js +17 -0
  92. package/dist/components/SwitchOption.d.ts +9 -0
  93. package/dist/components/SwitchOption.d.ts.map +1 -0
  94. package/dist/components/SwitchOption.js +45 -0
  95. package/dist/components/icons/ArchiveIcon.d.ts +9 -0
  96. package/dist/components/icons/ArchiveIcon.d.ts.map +1 -0
  97. package/dist/components/icons/ArchiveIcon.js +18 -0
  98. package/dist/components/icons/AudioIcon.d.ts +9 -0
  99. package/dist/components/icons/AudioIcon.d.ts.map +1 -0
  100. package/dist/components/icons/AudioIcon.js +17 -0
  101. package/dist/components/icons/DefaultIcon.d.ts +9 -0
  102. package/dist/components/icons/DefaultIcon.d.ts.map +1 -0
  103. package/dist/components/icons/DefaultIcon.js +17 -0
  104. package/dist/components/icons/DocumentIcon.d.ts +9 -0
  105. package/dist/components/icons/DocumentIcon.d.ts.map +1 -0
  106. package/dist/components/icons/DocumentIcon.js +20 -0
  107. package/dist/components/icons/ImageIcon.d.ts +9 -0
  108. package/dist/components/icons/ImageIcon.d.ts.map +1 -0
  109. package/dist/components/icons/ImageIcon.js +18 -0
  110. package/dist/components/icons/JsonIcon.d.ts +9 -0
  111. package/dist/components/icons/JsonIcon.d.ts.map +1 -0
  112. package/dist/components/icons/JsonIcon.js +19 -0
  113. package/dist/components/icons/PdfIcon.d.ts +9 -0
  114. package/dist/components/icons/PdfIcon.d.ts.map +1 -0
  115. package/dist/components/icons/PdfIcon.js +20 -0
  116. package/dist/components/icons/VideoIcon.d.ts +9 -0
  117. package/dist/components/icons/VideoIcon.d.ts.map +1 -0
  118. package/dist/components/icons/VideoIcon.js +17 -0
  119. package/dist/components/icons/XmlIcon.d.ts +9 -0
  120. package/dist/components/icons/XmlIcon.d.ts.map +1 -0
  121. package/dist/components/icons/XmlIcon.js +19 -0
  122. package/dist/components/icons/index.d.ts +10 -0
  123. package/dist/components/icons/index.d.ts.map +1 -0
  124. package/dist/components/icons/index.js +24 -0
  125. package/dist/components/ui/button.d.ts +11 -0
  126. package/dist/components/ui/button.d.ts.map +1 -0
  127. package/dist/components/ui/button.js +68 -0
  128. package/dist/components/ui/card.d.ts +9 -0
  129. package/dist/components/ui/card.d.ts.map +1 -0
  130. package/dist/components/ui/card.js +56 -0
  131. package/dist/components/ui/dialog.d.ts +16 -0
  132. package/dist/components/ui/dialog.d.ts.map +1 -0
  133. package/dist/components/ui/dialog.js +85 -0
  134. package/dist/components/ui/dropdown-menu.d.ts +26 -0
  135. package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
  136. package/dist/components/ui/dropdown-menu.js +110 -0
  137. package/dist/components/ui/input.d.ts +4 -0
  138. package/dist/components/ui/input.d.ts.map +1 -0
  139. package/dist/components/ui/input.js +41 -0
  140. package/dist/components/ui/label.d.ts +5 -0
  141. package/dist/components/ui/label.d.ts.map +1 -0
  142. package/dist/components/ui/label.js +42 -0
  143. package/dist/components/ui/switch.d.ts +5 -0
  144. package/dist/components/ui/switch.d.ts.map +1 -0
  145. package/dist/components/ui/switch.js +44 -0
  146. package/dist/components/ui/tabs.d.ts +8 -0
  147. package/dist/components/ui/tabs.d.ts.map +1 -0
  148. package/dist/components/ui/tabs.js +54 -0
  149. package/dist/components/ui/toggle-group.d.ts +8 -0
  150. package/dist/components/ui/toggle-group.d.ts.map +1 -0
  151. package/dist/components/ui/toggle-group.js +57 -0
  152. package/dist/components/ui/toggle.d.ts +10 -0
  153. package/dist/components/ui/toggle.d.ts.map +1 -0
  154. package/dist/components/ui/toggle.js +62 -0
  155. package/dist/hooks/useCollaborativeIxoEditor.d.ts +571 -0
  156. package/dist/hooks/useCollaborativeIxoEditor.d.ts.map +1 -0
  157. package/dist/hooks/useCollaborativeIxoEditor.js +127 -0
  158. package/dist/hooks/useCreateIxoEditor.d.ts +568 -0
  159. package/dist/hooks/useCreateIxoEditor.d.ts.map +1 -0
  160. package/dist/hooks/useCreateIxoEditor.js +62 -0
  161. package/dist/hooks/useMatrixProvider.d.ts +13 -0
  162. package/dist/hooks/useMatrixProvider.d.ts.map +1 -0
  163. package/dist/hooks/useMatrixProvider.js +147 -0
  164. package/dist/index.d.ts +12 -0
  165. package/dist/index.d.ts.map +1 -0
  166. package/dist/index.js +24 -0
  167. package/dist/lib/graphql-client.d.ts +27 -0
  168. package/dist/lib/graphql-client.d.ts.map +1 -0
  169. package/dist/lib/graphql-client.js +36 -0
  170. package/dist/lib/graphql-queries.d.ts +31 -0
  171. package/dist/lib/graphql-queries.d.ts.map +1 -0
  172. package/dist/lib/graphql-queries.js +40 -0
  173. package/dist/lib/utils/getMediaTypeIcon.d.ts +20 -0
  174. package/dist/lib/utils/getMediaTypeIcon.d.ts.map +1 -0
  175. package/dist/lib/utils/getMediaTypeIcon.js +96 -0
  176. package/dist/lib/utils/index.d.ts +4 -0
  177. package/dist/lib/utils/index.d.ts.map +1 -0
  178. package/dist/lib/utils/index.js +12 -0
  179. package/dist/lib/utils.d.ts +3 -0
  180. package/dist/lib/utils.d.ts.map +1 -0
  181. package/dist/lib/utils.js +8 -0
  182. package/dist/types/Domain.d.ts +18 -0
  183. package/dist/types/Domain.d.ts.map +1 -0
  184. package/dist/types/Domain.js +2 -0
  185. package/dist/types/index.d.ts +77 -0
  186. package/dist/types/index.d.ts.map +1 -0
  187. package/dist/types/index.js +2 -0
  188. package/package.json +81 -0
  189. package/style.css +246 -0
  190. package/style.css.d.ts +5 -0
package/package.json ADDED
@@ -0,0 +1,81 @@
1
+ {
2
+ "name": "@ixo/editor",
3
+ "version": "0.2.0",
4
+ "description": "A custom BlockNote editor wrapper for IXO team",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "files": [
8
+ "dist/",
9
+ "style.css",
10
+ "style.css.d.ts",
11
+ "README.md"
12
+ ],
13
+ "exports": {
14
+ ".": {
15
+ "import": "./dist/index.js",
16
+ "require": "./dist/index.js",
17
+ "types": "./dist/index.d.ts"
18
+ },
19
+ "./style.css": "./style.css"
20
+ },
21
+ "keywords": [
22
+ "editor",
23
+ "blocknote",
24
+ "react",
25
+ "ixo",
26
+ "rich-text"
27
+ ],
28
+ "author": "IXO Team",
29
+ "license": "MIT",
30
+ "private": false,
31
+ "peerDependencies": {
32
+ "react": "^18.0.0",
33
+ "react-dom": "^18.0.0"
34
+ },
35
+ "dependencies": {
36
+ "@blocknote/core": "^0.15.0",
37
+ "@blocknote/react": "^0.15.0",
38
+ "@blocknote/shadcn": "^0.15.0",
39
+ "@radix-ui/react-dialog": "^1.1.15",
40
+ "@radix-ui/react-dropdown-menu": "^2.1.16",
41
+ "@radix-ui/react-label": "^2.1.7",
42
+ "@radix-ui/react-slot": "^1.2.3",
43
+ "@radix-ui/react-switch": "^1.2.6",
44
+ "@radix-ui/react-tabs": "^1.1.13",
45
+ "@radix-ui/react-toggle": "^1.1.10",
46
+ "@radix-ui/react-toggle-group": "^1.1.11",
47
+ "class-variance-authority": "^0.7.1",
48
+ "clsx": "^2.1.1",
49
+ "ixo-matrix-crdt": "github:ixoworld/ixo-matrix-crdt#main",
50
+ "lucide-react": "^0.542.0",
51
+ "matrix-js-sdk": "^38.0.0",
52
+ "tailwind-merge": "^3.3.1",
53
+ "tw-animate-css": "^1.3.7",
54
+ "yjs": "^13.6.27"
55
+ },
56
+ "devDependencies": {
57
+ "@types/react": "^18.2.0",
58
+ "@types/react-dom": "^18.2.0",
59
+ "react": "^18.2.0",
60
+ "react-dom": "^18.2.0",
61
+ "rimraf": "^5.0.0",
62
+ "typescript": "^5.0.0"
63
+ },
64
+ "repository": {
65
+ "type": "git",
66
+ "url": "https://github.com/ixofoundation/ixo-editor.git"
67
+ },
68
+ "homepage": "https://github.com/ixofoundation/ixo-editor#readme",
69
+ "bugs": {
70
+ "url": "https://github.com/ixofoundation/ixo-editor/issues"
71
+ },
72
+ "scripts": {
73
+ "build": "tsc && npm run copy-css",
74
+ "copy-css": "node scripts/build-css.js",
75
+ "build:watch": "tsc --watch",
76
+ "dev": "tsc --watch",
77
+ "clean": "rimraf dist style.css",
78
+ "type-check": "tsc --noEmit",
79
+ "test": "echo \"Error: no test specified\" && exit 1"
80
+ }
81
+ }
package/style.css ADDED
@@ -0,0 +1,246 @@
1
+ .bn-shadcn *,.bn-shadcn :before,.bn-shadcn :after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}.bn-shadcn :before,.bn-shadcn :after{--tw-content: ""}.bn-shadcn html,.bn-shadcn :host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}.bn-shadcn body{margin:0;line-height:inherit}.bn-shadcn hr{height:0;color:inherit;border-top-width:1px}.bn-shadcn abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.bn-shadcn h1,.bn-shadcn h2,.bn-shadcn h3,.bn-shadcn h4,.bn-shadcn h5,.bn-shadcn h6{font-size:inherit;font-weight:inherit}.bn-shadcn a{color:inherit;text-decoration:inherit}.bn-shadcn b,.bn-shadcn strong{font-weight:bolder}.bn-shadcn code,.bn-shadcn kbd,.bn-shadcn samp,.bn-shadcn pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}.bn-shadcn small{font-size:80%}.bn-shadcn sub,.bn-shadcn sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.bn-shadcn sub{bottom:-.25em}.bn-shadcn sup{top:-.5em}.bn-shadcn table{text-indent:0;border-color:inherit;border-collapse:collapse}.bn-shadcn button,.bn-shadcn input,.bn-shadcn optgroup,.bn-shadcn select,.bn-shadcn textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}.bn-shadcn button,.bn-shadcn select{text-transform:none}.bn-shadcn button,.bn-shadcn input:where([type=button]),.bn-shadcn input:where([type=reset]),.bn-shadcn input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}.bn-shadcn :-moz-focusring{outline:auto}.bn-shadcn :-moz-ui-invalid{box-shadow:none}.bn-shadcn progress{vertical-align:baseline}.bn-shadcn ::-webkit-inner-spin-button,.bn-shadcn ::-webkit-outer-spin-button{height:auto}.bn-shadcn [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.bn-shadcn ::-webkit-search-decoration{-webkit-appearance:none}.bn-shadcn ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.bn-shadcn summary{display:list-item}.bn-shadcn blockquote,.bn-shadcn dl,.bn-shadcn dd,.bn-shadcn h1,.bn-shadcn h2,.bn-shadcn h3,.bn-shadcn h4,.bn-shadcn h5,.bn-shadcn h6,.bn-shadcn hr,.bn-shadcn figure,.bn-shadcn p,.bn-shadcn pre{margin:0}.bn-shadcn fieldset{margin:0;padding:0}.bn-shadcn legend{padding:0}.bn-shadcn ol,.bn-shadcn ul,.bn-shadcn menu{list-style:none;margin:0;padding:0}.bn-shadcn dialog{padding:0}.bn-shadcn textarea{resize:vertical}.bn-shadcn input::-moz-placeholder,.bn-shadcn textarea::-moz-placeholder{opacity:1;color:#9ca3af}.bn-shadcn input::placeholder,.bn-shadcn textarea::placeholder{opacity:1;color:#9ca3af}.bn-shadcn button,.bn-shadcn [role=button]{cursor:pointer}.bn-shadcn :disabled{cursor:default}.bn-shadcn img,.bn-shadcn svg,.bn-shadcn video,.bn-shadcn canvas,.bn-shadcn audio,.bn-shadcn iframe,.bn-shadcn embed,.bn-shadcn object{display:block;vertical-align:middle}.bn-shadcn img,.bn-shadcn video{max-width:100%;height:auto}.bn-shadcn [hidden]{display:none}.bn-block-outer{line-height:1.5;transition:margin .2s}.bn-block{display:flex;flex-direction:column}.bn-block-content{display:flex;padding:3px 0;transition:font-size .2s;width:100%}.bn-block-content:before{transition:all .2s}.bn-block-content.ProseMirror-selectednode>*,.ProseMirror-selectednode>.bn-block-content>*{border-radius:4px;outline:4px solid rgb(100,160,255)}.bn-block-group .bn-block-group{margin-left:1.5em}.bn-block-group .bn-block-group>.bn-block-outer{position:relative}.bn-block-group .bn-block-group>.bn-block-outer:not([data-prev-depth-changed]):before{content:" ";display:inline;position:absolute;left:-20px;height:100%;transition:all .2s .1s}.bn-block-group .bn-block-group>.bn-block-outer[data-prev-depth-change="-2"]:before{height:0}.bn-inline-content code{font-family:monospace}[data-prev-depth-change="1"]{--x: 1}[data-prev-depth-change="2"]{--x: 2}[data-prev-depth-change="3"]{--x: 3}[data-prev-depth-change="4"]{--x: 4}[data-prev-depth-change="5"]{--x: 5}[data-prev-depth-change="-1"]{--x: -1}[data-prev-depth-change="-2"]{--x: -2}[data-prev-depth-change="-3"]{--x: -3}[data-prev-depth-change="-4"]{--x: -4}[data-prev-depth-change="-5"]{--x: -5}.bn-block-outer[data-prev-depth-change]{margin-left:calc(10px * var(--x))}.bn-block-outer[data-prev-depth-change] .bn-block-outer[data-prev-depth-change]{margin-left:0}[data-level="1"]{--level: 3em}[data-level="2"]{--level: 2em}[data-level="3"]{--level: 1.3em}[data-prev-level="1"]{--prev-level: 3em}[data-prev-level="2"]{--prev-level: 2em}[data-prev-level="3"]{--prev-level: 1.3em}.bn-block-outer[data-prev-type=heading]>.bn-block>.bn-block-content{font-size:var(--prev-level);font-weight:700}.bn-block-outer:not([data-prev-type])>.bn-block>.bn-block-content[data-content-type=heading]{font-size:var(--level);font-weight:700}.bn-block-content:before{margin-right:0;content:""}.bn-block-content[data-content-type=numberedListItem]{display:flex;gap:.5em}[data-content-type=numberedListItem]{--index: attr(data-index)}[data-prev-type=numberedListItem]{--prev-index: attr(data-prev-index)}.bn-block-outer[data-prev-type=numberedListItem]:not([data-prev-index=none])>.bn-block>.bn-block-content:before{content:var(--prev-index) "."}.bn-block-outer:not([data-prev-type])>.bn-block>.bn-block-content[data-content-type=numberedListItem]:before{content:var(--index) "."}.bn-block-content[data-content-type=bulletListItem]{display:flex;gap:.5em}.bn-block-content[data-content-type=checkListItem]>div{display:flex}.bn-block-content[data-content-type=checkListItem]>div>div>input{margin:0;margin-inline-end:.5em;cursor:pointer}.bn-block-content[data-content-type=checkListItem][data-checked=true] .bn-inline-content{text-decoration:line-through}.bn-block-content[data-text-alignment=center]{justify-content:center}.bn-block-content[data-text-alignment=right]{justify-content:flex-end}.bn-block-outer[data-prev-type=bulletListItem]>.bn-block>.bn-block-content:before{content:"•"}.bn-block-outer:not([data-prev-type])>.bn-block>.bn-block-content[data-content-type=bulletListItem]:before{content:"•"}[data-content-type=bulletListItem]~.bn-block-group>.bn-block-outer[data-prev-type=bulletListItem]>.bn-block>.bn-block-content:before{content:"◦"}[data-content-type=bulletListItem]~.bn-block-group>.bn-block-outer:not([data-prev-type])>.bn-block>.bn-block-content[data-content-type=bulletListItem]:before{content:"◦"}[data-content-type=bulletListItem]~.bn-block-group [data-content-type=bulletListItem]~.bn-block-group>.bn-block-outer[data-prev-type=bulletListItem]>.bn-block>.bn-block-content:before{content:"▪"}[data-content-type=bulletListItem]~.bn-block-group [data-content-type=bulletListItem]~.bn-block-group>.bn-block-outer:not([data-prev-type])>.bn-block>.bn-block-content[data-content-type=bulletListItem]:before{content:"▪"}[data-file-block] .bn-file-block-content-wrapper:has(.bn-add-file-button),[data-file-block] .bn-file-block-content-wrapper:has(.bn-file-default-preview){width:100%}[data-file-block] .bn-file-block-content-wrapper{cursor:pointer;display:flex;flex-direction:column;justify-content:stretch;-webkit-user-select:none;-moz-user-select:none;user-select:none}[data-file-block] .bn-add-file-button{align-items:center;background-color:#f2f1ee;border-radius:4px;color:#7d797a;display:flex;flex-direction:row;gap:10px;padding:12px;width:100%}.bn-editor[contenteditable=true] [data-file-block] .bn-add-file-button:hover{background-color:#e1e1e1}[data-file-block] .bn-add-file-button-icon{width:24px;height:24px}[data-file-block] .bn-add-file-button .bn-add-file-button-text{font-size:.9rem}[data-file-block] .bn-file-and-caption-wrapper{display:flex;flex-direction:column;border-radius:4px}[data-file-block] .bn-file-default-preview{align-items:center;border-radius:4px;display:flex;flex-direction:row;gap:4px;padding:4px;width:100%}[data-file-block] .bn-file-default-preview:hover,.ProseMirror-selectednode .bn-file-default-preview{background-color:#e1e1e1}[data-file-block] .bn-file-default-preview-icon{width:24px;height:24px}[data-file-block] .bn-visual-media-wrapper{display:flex;flex-direction:row;align-items:center;position:relative;width:-moz-fit-content;width:fit-content}[data-file-block] .bn-visual-media{border-radius:4px;max-width:100%}[data-file-block] .bn-visual-media-resize-handle{position:absolute;width:8px;height:30px;background-color:#000;border:1px solid white;border-radius:4px;cursor:ew-resize}[data-content-type=audio]>.bn-file-block-content-wrapper,.bn-audio{width:100%}[data-file-block] .bn-file-caption{font-size:.8em;padding-block:4px}[data-file-block] .bn-file-caption:empty{padding-block:0}.bn-inline-content:has(>.ProseMirror-trailingBreak:only-child):before{pointer-events:none;height:0;position:absolute;font-style:italic}[data-text-color=gray]{color:#9b9a97}[data-text-color=brown]{color:#64473a}[data-text-color=red]{color:#e03e3e}[data-text-color=orange]{color:#d9730d}[data-text-color=yellow]{color:#dfab01}[data-text-color=green]{color:#4d6461}[data-text-color=blue]{color:#0b6e99}[data-text-color=purple]{color:#6940a5}[data-text-color=pink]{color:#ad1a72}[data-background-color=gray]{background-color:#ebeced}[data-background-color=brown]{background-color:#e9e5e3}[data-background-color=red]{background-color:#fbe4e4}[data-background-color=orange]{background-color:#faebdd}[data-background-color=yellow]{background-color:#fbf3db}[data-background-color=green]{background-color:#ddedea}[data-background-color=blue]{background-color:#ddebf1}[data-background-color=purple]{background-color:#eae4f2}[data-background-color=pink]{background-color:#f4dfeb}[data-text-alignment=left]{justify-content:flex-start;text-align:left}[data-text-alignment=center]{justify-content:center;text-align:center}[data-text-alignment=right]{justify-content:flex-end;text-align:right}[data-text-alignment=justify]{justify-content:flex-start;text-align:justify}.ProseMirror .tableWrapper{overflow-x:auto}.ProseMirror table{border-collapse:collapse;table-layout:fixed;width:100%;overflow:hidden}.ProseMirror td,.ProseMirror th{vertical-align:top;box-sizing:border-box;position:relative}.ProseMirror .column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;z-index:20;background-color:#adf;pointer-events:none}.ProseMirror.resize-cursor{cursor:ew-resize;cursor:col-resize}.ProseMirror .selectedCell:after{z-index:2;position:absolute;content:"";left:0;right:0;top:0;bottom:0;background:#c8c8ff66;pointer-events:none}.bn-editor{outline:none;padding-inline:54px;--N800: #172b4d;--N40: #dfe1e6}.bn-root{box-sizing:border-box}.bn-root *,.bn-root *:before,.bn-root *:after{box-sizing:inherit}.bn-default-styles p,.bn-default-styles h1,.bn-default-styles h2,.bn-default-styles h3,.bn-default-styles li{margin:0;padding:0;font-size:inherit;min-width:2px!important}.bn-default-styles{font-size:16px;font-weight:400;font-family:Inter,SF Pro Display,-apple-system,BlinkMacSystemFont,Open Sans,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bn-table-drop-cursor{position:absolute;z-index:20;background-color:#adf;pointer-events:none}.bn-drag-preview{position:absolute;top:0;left:0;padding:10px;opacity:.001}.collaboration-cursor__caret{border-left:1px solid #0d0d0d;border-right:1px solid #0d0d0d;margin-left:-1px;margin-right:-1px;pointer-events:none;position:relative;word-break:normal}.collaboration-cursor__label{border-radius:3px 3px 3px 0;color:#0d0d0d;font-size:12px;font-style:normal;font-weight:600;left:-1px;line-height:normal;padding:.1rem .3rem;position:absolute;top:-1.4em;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.bn-editor table{width:auto!important}.bn-editor th,.bn-editor td{min-width:1em;border:1px solid #ddd;padding:3px 5px}.bn-editor .tableWrapper{margin:1em 0}.bn-editor th{font-weight:700;text-align:left}.bn-container{--bn-colors-editor-text: #3f3f3f;--bn-colors-editor-background: #ffffff;--bn-colors-menu-text: #3f3f3f;--bn-colors-menu-background: #ffffff;--bn-colors-tooltip-text: #3f3f3f;--bn-colors-tooltip-background: #efefef;--bn-colors-hovered-text: #3f3f3f;--bn-colors-hovered-background: #efefef;--bn-colors-selected-text: #ffffff;--bn-colors-selected-background: #3f3f3f;--bn-colors-disabled-text: #afafaf;--bn-colors-disabled-background: #efefef;--bn-colors-shadow: #cfcfcf;--bn-colors-border: #efefef;--bn-colors-side-menu: #cfcfcf;--bn-colors-highlights-gray-text: #9b9a97;--bn-colors-highlights-gray-background: #ebeced;--bn-colors-highlights-brown-text: #64473a;--bn-colors-highlights-brown-background: #e9e5e3;--bn-colors-highlights-red-text: #e03e3e;--bn-colors-highlights-red-background: #fbe4e4;--bn-colors-highlights-orange-text: #d9730d;--bn-colors-highlights-orange-background: #f6e9d9;--bn-colors-highlights-yellow-text: #dfab01;--bn-colors-highlights-yellow-background: #fbf3db;--bn-colors-highlights-green-text: #4d6461;--bn-colors-highlights-green-background: #ddedea;--bn-colors-highlights-blue-text: #0b6e99;--bn-colors-highlights-blue-background: #ddebf1;--bn-colors-highlights-purple-text: #6940a5;--bn-colors-highlights-purple-background: #eae4f2;--bn-colors-highlights-pink-text: #ad1a72;--bn-colors-highlights-pink-background: #f4dfeb;--bn-font-family: "Inter", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Open Sans", "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--bn-border-radius: 6px;--bn-shadow-medium: 0 4px 12px var(--bn-colors-shadow);--bn-shadow-light: 0 2px 6px var(--bn-colors-border);--bn-border: 1px solid var(--bn-colors-border);--bn-border-radius-small: max(var(--bn-border-radius) - 2px, 1px);--bn-border-radius-medium: var(--bn-border-radius);--bn-border-radius-large: max(var(--bn-border-radius) + 2px, 1px)}.bn-container[data-color-scheme=dark]{--bn-colors-editor-text: #cfcfcf;--bn-colors-editor-background: #1f1f1f;--bn-colors-menu-text: #cfcfcf;--bn-colors-menu-background: #1f1f1f;--bn-colors-tooltip-text: #cfcfcf;--bn-colors-tooltip-background: #161616;--bn-colors-hovered-text: #cfcfcf;--bn-colors-hovered-background: #161616;--bn-colors-selected-text: #cfcfcf;--bn-colors-selected-background: #0f0f0f;--bn-colors-disabled-text: #3f3f3f;--bn-colors-disabled-background: #161616;--bn-colors-shadow: #0f0f0f;--bn-colors-border: #161616;--bn-colors-side-menu: #7f7f7f;--bn-colors-highlights-gray-text: #bebdb8;--bn-colors-highlights-gray-background: #9b9a97;--bn-colors-highlights-brown-text: #8e6552;--bn-colors-highlights-brown-background: #64473a;--bn-colors-highlights-red-text: #ec4040;--bn-colors-highlights-red-background: #be3434;--bn-colors-highlights-orange-text: #e3790d;--bn-colors-highlights-orange-background: #b7600a;--bn-colors-highlights-yellow-text: #dfab01;--bn-colors-highlights-yellow-background: #b58b00;--bn-colors-highlights-green-text: #6b8b87;--bn-colors-highlights-green-background: #4d6461;--bn-colors-highlights-blue-text: #0e87bc;--bn-colors-highlights-blue-background: #0b6e99;--bn-colors-highlights-purple-text: #8552d7;--bn-colors-highlights-purple-background: #6940a5;--bn-colors-highlights-pink-text: #da208f;--bn-colors-highlights-pink-background: #ad1a72}.bn-container{font-family:var(--bn-font-family)}.bn-editor{background-color:var(--bn-colors-editor-background);border-radius:var(--bn-border-radius-large);color:var(--bn-colors-editor-text)}.bn-react-node-view-renderer{display:flex;flex-direction:column;width:100%}.bn-block-group .bn-block-group .bn-block-outer:not([data-prev-depth-changed]):before{border-left:1px solid var(--bn-colors-side-menu)}.bn-inline-content:has(>.ProseMirror-trailingBreak):before{color:var(--bn-colors-side-menu)}.bn-container .bn-color-icon{align-items:center;border:var(--bn-border);border-radius:var(--bn-border-radius-small);display:flex;justify-content:center}.bn-error-text{color:red;font-size:12px}[data-text-color=gray]{color:var(--bn-colors-highlights-gray-text)}[data-text-color=brown]{color:var(--bn-colors-highlights-brown-text)}[data-text-color=red]{color:var(--bn-colors-highlights-red-text)}[data-text-color=orange]{color:var(--bn-colors-highlights-orange-text)}[data-text-color=yellow]{color:var(--bn-colors-highlights-yellow-text)}[data-text-color=green]{color:var(--bn-colors-highlights-green-text)}[data-text-color=blue]{color:var(--bn-colors-highlights-blue-text)}[data-text-color=purple]{color:var(--bn-colors-highlights-purple-text)}[data-text-color=pink]{color:var(--bn-colors-highlights-pink-text)}[data-background-color=gray]{background-color:var(--bn-colors-highlights-gray-background)}[data-background-color=brown]{background-color:var(--bn-colors-highlights-brown-background)}[data-background-color=red]{background-color:var(--bn-colors-highlights-red-background)}[data-background-color=orange]{background-color:var(--bn-colors-highlights-orange-background)}[data-background-color=yellow]{background-color:var(--bn-colors-highlights-yellow-background)}[data-background-color=green]{background-color:var(--bn-colors-highlights-green-background)}[data-background-color=blue]{background-color:var(--bn-colors-highlights-blue-background)}[data-background-color=purple]{background-color:var(--bn-colors-highlights-purple-background)}[data-background-color=pink]{background-color:var(--bn-colors-highlights-pink-background)}.bn-side-menu{height:30px}.bn-side-menu[data-block-type=heading][data-level="1"]{height:78px}.bn-side-menu[data-block-type=heading][data-level="2"]{height:54px}.bn-side-menu[data-block-type=heading][data-level="3"]{height:37px}.bn-side-menu[data-block-type=file]{height:38px}.bn-side-menu[data-block-type=audio]{height:60px}.bn-side-menu[data-url=false]{height:54px}.bn-container :is(.bn-absolute){position:absolute}.bn-container :is(.bn-relative){position:relative}.bn-container :is(.bn-left-2){left:.5rem}.bn-container :is(.bn-z-50){z-index:50}.bn-container :is(.bn--mx-1){margin-left:-.25rem;margin-right:-.25rem}.bn-container :is(.bn-my-1){margin-top:.25rem;margin-bottom:.25rem}.bn-container :is(.bn-ml-auto){margin-left:auto}.bn-container :is(.bn-mt-2){margin-top:.5rem}.bn-container :is(.bn-flex){display:flex}.bn-container :is(.bn-inline-flex){display:inline-flex}.bn-container :is(.bn-h-10){height:2.5rem}.bn-container :is(.bn-h-11){height:2.75rem}.bn-container :is(.bn-h-2){height:.5rem}.bn-container :is(.bn-h-3){height:.75rem}.bn-container :is(.bn-h-3\.5){height:.875rem}.bn-container :is(.bn-h-4){height:1rem}.bn-container :is(.bn-h-9){height:2.25rem}.bn-container :is(.bn-h-\[var\(--radix-select-trigger-height\)\]){height:var(--radix-select-trigger-height)}.bn-container :is(.bn-h-fit){height:-moz-fit-content;height:fit-content}.bn-container :is(.bn-h-px){height:1px}.bn-container :is(.bn-max-h-96){max-height:24rem}.bn-container :is(.bn-w-10){width:2.5rem}.bn-container :is(.bn-w-2){width:.5rem}.bn-container :is(.bn-w-3){width:.75rem}.bn-container :is(.bn-w-3\.5){width:.875rem}.bn-container :is(.bn-w-4){width:1rem}.bn-container :is(.bn-w-72){width:18rem}.bn-container :is(.bn-w-80){width:20rem}.bn-container :is(.bn-w-fit){width:-moz-fit-content;width:fit-content}.bn-container :is(.bn-w-full){width:100%}.bn-container :is(.bn-min-w-\[8rem\]){min-width:8rem}.bn-container :is(.bn-min-w-\[var\(--radix-select-trigger-width\)\]){min-width:var(--radix-select-trigger-width)}.bn-container :is(.bn-max-w-none){max-width:none}.bn-container :is(.bn-flex-1){flex:1 1 0%}.bn-container :is(.bn-cursor-default){cursor:default}.bn-container :is(.bn-cursor-pointer){cursor:pointer}.bn-container :is(.bn-select-none){-webkit-user-select:none;-moz-user-select:none;user-select:none}.bn-container :is(.bn-flex-col){flex-direction:column}.bn-container :is(.bn-items-start){align-items:flex-start}.bn-container :is(.bn-items-center){align-items:center}.bn-container :is(.bn-justify-center){justify-content:center}.bn-container :is(.bn-justify-between){justify-content:space-between}.bn-container :is(.bn-gap-1){gap:.25rem}.bn-container :is(.bn-gap-2){gap:.5rem}.bn-container :is(.bn-space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.bn-container :is(.bn-space-y-1\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.bn-container :is(.bn-space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.bn-container :is(.bn-overflow-auto){overflow:auto}.bn-container :is(.bn-overflow-hidden){overflow:hidden}.bn-container :is(.bn-whitespace-nowrap){white-space:nowrap}.bn-container :is(.bn-rounded-full){border-radius:9999px}.bn-container :is(.bn-rounded-lg){border-radius:var(--radius)}.bn-container :is(.bn-rounded-md){border-radius:calc(var(--radius) - 2px)}.bn-container :is(.bn-rounded-sm){border-radius:calc(var(--radius) - 4px)}.bn-container :is(.bn-border){border-width:1px}.bn-container :is(.bn-border-none){border-style:none}.bn-container :is(.bn-border-input){border-color:hsl(var(--input))}.bn-container :is(.bn-border-transparent){border-color:transparent}.bn-container :is(.bn-bg-background){background-color:hsl(var(--background))}.bn-container :is(.bn-bg-card){background-color:hsl(var(--card))}.bn-container :is(.bn-bg-destructive){background-color:hsl(var(--destructive))}.bn-container :is(.bn-bg-muted){background-color:hsl(var(--muted))}.bn-container :is(.bn-bg-popover){background-color:hsl(var(--popover))}.bn-container :is(.bn-bg-primary){background-color:hsl(var(--primary))}.bn-container :is(.bn-bg-secondary){background-color:hsl(var(--secondary))}.bn-container :is(.bn-bg-transparent){background-color:transparent}.bn-container :is(.bn-fill-current){fill:currentColor}.bn-container :is(.bn-p-0){padding:0}.bn-container :is(.bn-p-1){padding:.25rem}.bn-container :is(.bn-p-2){padding:.5rem}.bn-container :is(.bn-p-3){padding:.75rem}.bn-container :is(.bn-p-4){padding:1rem}.bn-container :is(.bn-p-6){padding:1.5rem}.bn-container :is(.bn-px-2){padding-left:.5rem;padding-right:.5rem}.bn-container :is(.bn-px-2\.5){padding-left:.625rem;padding-right:.625rem}.bn-container :is(.bn-px-3){padding-left:.75rem;padding-right:.75rem}.bn-container :is(.bn-px-4){padding-left:1rem;padding-right:1rem}.bn-container :is(.bn-px-5){padding-left:1.25rem;padding-right:1.25rem}.bn-container :is(.bn-px-8){padding-left:2rem;padding-right:2rem}.bn-container :is(.bn-py-0){padding-top:0;padding-bottom:0}.bn-container :is(.bn-py-0\.5){padding-top:.125rem;padding-bottom:.125rem}.bn-container :is(.bn-py-1){padding-top:.25rem;padding-bottom:.25rem}.bn-container :is(.bn-py-1\.5){padding-top:.375rem;padding-bottom:.375rem}.bn-container :is(.bn-py-2){padding-top:.5rem;padding-bottom:.5rem}.bn-container :is(.bn-pl-8){padding-left:2rem}.bn-container :is(.bn-pr-2){padding-right:.5rem}.bn-container :is(.bn-pt-0){padding-top:0}.bn-container :is(.bn-text-2xl){font-size:1.5rem;line-height:2rem}.bn-container :is(.bn-text-base){font-size:1rem;line-height:1.5rem}.bn-container :is(.bn-text-sm){font-size:.875rem;line-height:1.25rem}.bn-container :is(.bn-text-xs){font-size:.75rem;line-height:1rem}.bn-container :is(.bn-font-medium){font-weight:500}.bn-container :is(.bn-font-semibold){font-weight:600}.bn-container :is(.bn-leading-none){line-height:1}.bn-container :is(.bn-tracking-tight){letter-spacing:-.025em}.bn-container :is(.bn-tracking-widest){letter-spacing:.1em}.bn-container :is(.bn-text-card-foreground){color:hsl(var(--card-foreground))}.bn-container :is(.bn-text-destructive){color:hsl(var(--destructive))}.bn-container :is(.bn-text-destructive-foreground){color:hsl(var(--destructive-foreground))}.bn-container :is(.bn-text-foreground){color:hsl(var(--foreground))}.bn-container :is(.bn-text-gray-400){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.bn-container :is(.bn-text-muted-foreground){color:hsl(var(--muted-foreground))}.bn-container :is(.bn-text-popover-foreground){color:hsl(var(--popover-foreground))}.bn-container :is(.bn-text-primary){color:hsl(var(--primary))}.bn-container :is(.bn-text-primary-foreground){color:hsl(var(--primary-foreground))}.bn-container :is(.bn-text-secondary-foreground){color:hsl(var(--secondary-foreground))}.bn-container :is(.bn-underline-offset-4){text-underline-offset:4px}.bn-container :is(.bn-opacity-50){opacity:.5}.bn-container :is(.bn-opacity-60){opacity:.6}.bn-container :is(.bn-shadow-lg){--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.bn-container :is(.bn-shadow-md){--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.bn-container :is(.bn-shadow-none){--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.bn-container :is(.bn-shadow-sm){--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.bn-container :is(.bn-outline-none){outline:2px solid transparent;outline-offset:2px}.bn-container :is(.bn-ring-offset-background){--tw-ring-offset-color: hsl(var(--background))}.bn-container :is(.bn-transition-all){transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.bn-container :is(.bn-transition-colors){transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.bn-container :is(.bn-animate-in){animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.bn-container :is(.bn-fade-in-0){--tw-enter-opacity: 0}.bn-container :is(.bn-zoom-in-95){--tw-enter-scale: .95}.bn-shadcn{--background: 0 0% 100%;--foreground: 222.2 84% 4.9%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 84% 4.9%;--primary: 222.2 47.4% 11.2%;--primary-foreground: 210 40% 98%;--secondary: 210 40% 96.1%;--secondary-foreground: 222.2 47.4% 11.2%;--muted: 210 40% 96.1%;--muted-foreground: 215.4 16.3% 46.9%;--accent: 210 40% 96.1%;--accent-foreground: 222.2 47.4% 11.2%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 40% 98%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--ring: 222.2 84% 4.9%;--radius: .5rem}.bn-shadcn.dark{--background: 222.2 84% 4.9%;--foreground: 210 40% 98%;--card: 222.2 84% 4.9%;--card-foreground: 210 40% 98%;--popover: 222.2 84% 4.9%;--popover-foreground: 210 40% 98%;--primary: 210 40% 98%;--primary-foreground: 222.2 47.4% 11.2%;--secondary: 217.2 32.6% 17.5%;--secondary-foreground: 210 40% 98%;--muted: 217.2 32.6% 17.5%;--muted-foreground: 215 20.2% 65.1%;--accent: 217.2 32.6% 17.5%;--accent-foreground: 210 40% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 210 40% 98%;--border: 217.2 32.6% 17.5%;--input: 217.2 32.6% 17.5%;--ring: 212.7 26.8% 83.9%}.bn-shadcn *{border-color:hsl(var(--border))}.bn-shadcn .bn-editor{background-color:hsl(var(--background));color:hsl(var(--foreground))}.bn-shadcn [data-radix-popper-content-wrapper]{z-index:99999!important}.bn-shadcn .bn-editor:focus-visible{outline:none}.bn-shadcn .bn-side-menu{align-items:center;display:flex;justify-content:center}.bn-shadcn .bn-side-menu .bn-button{padding:0;height:24px}.bn-shadcn .bn-select{max-height:var(--radix-select-content-available-height)}.bn-shadcn .bn-menu-dropdown{max-height:var(--radix-dropdown-menu-content-available-height)}.bn-shadcn .bn-color-picker-dropdown{overflow:auto}.bn-shadcn .bn-suggestion-menu{height:-moz-fit-content;height:fit-content;max-height:100%}.bn-shadcn .bn-suggestion-menu-item[aria-selected=true],.bn-shadcn .bn-suggestion-menu-item:hover{background-color:hsl(var(--accent))}.bn-shadcn .bn-grid-suggestion-menu{background:var(--bn-colors-menu-background);border-radius:var(--bn-border-radius-large);box-shadow:var(--bn-shadow-medium);display:grid;gap:7px;height:-moz-fit-content;height:fit-content;justify-items:center;max-height:min(500px,100%);overflow-y:auto;padding:20px}.bn-shadcn .bn-grid-suggestion-menu-item{align-items:center;border-radius:var(--bn-border-radius-large);cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;margin:2px;padding:4px;width:32px}.bn-shadcn .bn-grid-suggestion-menu-item[aria-selected=true],.bn-shadcn .bn-grid-suggestion-menu-item:hover{background-color:var(--bn-colors-hovered-background)}.bn-shadcn .bn-grid-suggestion-menu-empty-item,.bn-shadcn .bn-grid-suggestion-menu-loader{align-items:center;color:var(--bn-colors-menu-text);display:flex;font-size:14px;font-weight:500;height:32px;justify-content:center}.bn-shadcn .bn-grid-suggestion-menu-loader span{background-color:hsl(var(--accent))}.bn-container :is(.file\:bn-border-0)::file-selector-button{border-width:0px}.bn-container :is(.file\:bn-bg-transparent)::file-selector-button{background-color:transparent}.bn-container :is(.file\:bn-text-sm)::file-selector-button{font-size:.875rem;line-height:1.25rem}.bn-container :is(.file\:bn-font-medium)::file-selector-button{font-weight:500}.bn-container :is(.placeholder\:bn-text-muted-foreground)::-moz-placeholder{color:hsl(var(--muted-foreground))}.bn-container :is(.placeholder\:bn-text-muted-foreground)::placeholder{color:hsl(var(--muted-foreground))}.bn-container :is(.hover\:bn-bg-accent:hover){background-color:hsl(var(--accent))}.bn-container :is(.hover\:bn-bg-destructive\/80:hover){background-color:hsl(var(--destructive) / .8)}.bn-container :is(.hover\:bn-bg-destructive\/90:hover){background-color:hsl(var(--destructive) / .9)}.bn-container :is(.hover\:bn-bg-muted:hover){background-color:hsl(var(--muted))}.bn-container :is(.hover\:bn-bg-primary\/80:hover){background-color:hsl(var(--primary) / .8)}.bn-container :is(.hover\:bn-bg-primary\/90:hover){background-color:hsl(var(--primary) / .9)}.bn-container :is(.hover\:bn-bg-secondary\/80:hover){background-color:hsl(var(--secondary) / .8)}.bn-container :is(.hover\:bn-text-accent-foreground:hover){color:hsl(var(--accent-foreground))}.bn-container :is(.hover\:bn-text-muted-foreground:hover){color:hsl(var(--muted-foreground))}.bn-container :is(.hover\:bn-underline:hover){text-decoration-line:underline}.bn-container :is(.focus\:bn-bg-accent:focus){background-color:hsl(var(--accent))}.bn-container :is(.focus\:bn-text-accent-foreground:focus){color:hsl(var(--accent-foreground))}.bn-container :is(.focus\:bn-outline-none:focus){outline:2px solid transparent;outline-offset:2px}.bn-container :is(.focus\:bn-ring-2:focus){--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.bn-container :is(.focus\:bn-ring-ring:focus){--tw-ring-color: hsl(var(--ring))}.bn-container :is(.focus\:bn-ring-offset-2:focus){--tw-ring-offset-width: 2px}.bn-container :is(.focus-visible\:bn-outline-none:focus-visible){outline:2px solid transparent;outline-offset:2px}.bn-container :is(.focus-visible\:bn-ring-2:focus-visible){--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.bn-container :is(.focus-visible\:bn-ring-ring:focus-visible){--tw-ring-color: hsl(var(--ring))}.bn-container :is(.focus-visible\:bn-ring-offset-2:focus-visible){--tw-ring-offset-width: 2px}.bn-container :is(.disabled\:bn-pointer-events-none:disabled){pointer-events:none}.bn-container :is(.disabled\:bn-cursor-not-allowed:disabled){cursor:not-allowed}.bn-container :is(.disabled\:bn-opacity-50:disabled){opacity:.5}.bn-container :is(.bn-peer:disabled~.peer-disabled\:bn-cursor-not-allowed){cursor:not-allowed}.bn-container :is(.bn-peer:disabled~.peer-disabled\:bn-opacity-70){opacity:.7}.bn-container :is(.data-\[disabled\]\:bn-pointer-events-none[data-disabled]){pointer-events:none}.bn-container :is(.data-\[side\=bottom\]\:bn-translate-y-1[data-side=bottom]){--tw-translate-y: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.bn-container :is(.data-\[side\=left\]\:bn--translate-x-1[data-side=left]){--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.bn-container :is(.data-\[side\=right\]\:bn-translate-x-1[data-side=right]){--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.bn-container :is(.data-\[side\=top\]\:bn--translate-y-1[data-side=top]){--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.bn-container :is(.data-\[state\=active\]\:bn-bg-background[data-state=active]){background-color:hsl(var(--background))}.bn-container :is(.data-\[state\=on\]\:bn-bg-accent[data-state=on]){background-color:hsl(var(--accent))}.bn-container :is(.data-\[state\=open\]\:bn-bg-accent[data-state=open]){background-color:hsl(var(--accent))}.bn-container :is(.data-\[state\=active\]\:bn-text-foreground[data-state=active]){color:hsl(var(--foreground))}.bn-container :is(.data-\[state\=on\]\:bn-text-accent-foreground[data-state=on]){color:hsl(var(--accent-foreground))}.bn-container :is(.data-\[disabled\]\:bn-opacity-50[data-disabled]){opacity:.5}.bn-container :is(.data-\[state\=active\]\:bn-shadow-sm[data-state=active]){--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.bn-container :is(.data-\[state\=open\]\:bn-animate-in[data-state=open]){animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.bn-container :is(.data-\[state\=closed\]\:bn-animate-out[data-state=closed]){animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.bn-container :is(.data-\[state\=closed\]\:bn-fade-out-0[data-state=closed]){--tw-exit-opacity: 0}.bn-container :is(.data-\[state\=open\]\:bn-fade-in-0[data-state=open]){--tw-enter-opacity: 0}.bn-container :is(.data-\[state\=closed\]\:bn-zoom-out-95[data-state=closed]){--tw-exit-scale: .95}.bn-container :is(.data-\[state\=open\]\:bn-zoom-in-95[data-state=open]){--tw-enter-scale: .95}.bn-container :is(.data-\[side\=bottom\]\:bn-slide-in-from-top-2[data-side=bottom]){--tw-enter-translate-y: -.5rem}.bn-container :is(.data-\[side\=left\]\:bn-slide-in-from-right-2[data-side=left]){--tw-enter-translate-x: .5rem}.bn-container :is(.data-\[side\=right\]\:bn-slide-in-from-left-2[data-side=right]){--tw-enter-translate-x: -.5rem}.bn-container :is(.data-\[side\=top\]\:bn-slide-in-from-bottom-2[data-side=top]){--tw-enter-translate-y: .5rem}.bn-container :is(.\[\&\>span\]\:bn-line-clamp-1>span){overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}
2
+
3
+
4
+ /* IXO Editor Custom Styles */
5
+
6
+ .ixo-editor {
7
+ /* Container styles */
8
+ position: relative;
9
+ width: 100%;
10
+ min-height: 200px;
11
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
12
+ 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
13
+ sans-serif;
14
+ -webkit-font-smoothing: antialiased;
15
+ -moz-osx-font-smoothing: grayscale;
16
+ }
17
+
18
+ /* Light theme customizations */
19
+ .ixo-editor--theme-light {
20
+ --bn-colors-editor-background: #ffffff;
21
+ --bn-colors-editor-text: #1a1a1a;
22
+ --bn-colors-menu-background: #ffffff;
23
+ --bn-colors-menu-text: #1a1a1a;
24
+ --bn-colors-tooltip-background: #1a1a1a;
25
+ --bn-colors-tooltip-text: #ffffff;
26
+ --bn-colors-hovered-background: #f5f5f5;
27
+ --bn-colors-selected-background: #e6f2ff;
28
+ --bn-colors-border: #e0e0e0;
29
+ --bn-colors-side-menu: #666666;
30
+ --bn-colors-highlight-colors-blue: #3b82f6;
31
+ --bn-colors-highlight-colors-green: #10b981;
32
+ --bn-colors-highlight-colors-red: #ef4444;
33
+ --bn-colors-highlight-colors-yellow: #f59e0b;
34
+ --bn-colors-highlight-colors-purple: #8b5cf6;
35
+ }
36
+
37
+ /* Dark theme customizations */
38
+ .ixo-editor--theme-dark {
39
+ --bn-colors-editor-background: #1a1a1a;
40
+ --bn-colors-editor-text: #f0f0f0;
41
+ --bn-colors-menu-background: #2a2a2a;
42
+ --bn-colors-menu-text: #f0f0f0;
43
+ --bn-colors-tooltip-background: #f0f0f0;
44
+ --bn-colors-tooltip-text: #1a1a1a;
45
+ --bn-colors-hovered-background: #2a2a2a;
46
+ --bn-colors-selected-background: #3a3a3a;
47
+ --bn-colors-border: #3a3a3a;
48
+ --bn-colors-side-menu: #999999;
49
+ --bn-colors-highlight-colors-blue: #60a5fa;
50
+ --bn-colors-highlight-colors-green: #34d399;
51
+ --bn-colors-highlight-colors-red: #f87171;
52
+ --bn-colors-highlight-colors-yellow: #fbbf24;
53
+ --bn-colors-highlight-colors-purple: #a78bfa;
54
+ }
55
+
56
+ /* Editor content styles */
57
+ .ixo-editor .bn-container {
58
+ padding: 20px;
59
+ border-radius: 8px;
60
+ border: 1px solid var(--bn-colors-border);
61
+ transition: border-color 0.2s ease;
62
+ }
63
+
64
+ .ixo-editor .bn-container:focus-within {
65
+ border-color: var(--bn-colors-highlight-colors-blue);
66
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
67
+ }
68
+
69
+ /* Block styles */
70
+ .ixo-editor .bn-block {
71
+ margin-bottom: 0.5em;
72
+ }
73
+
74
+ .ixo-editor .bn-block-content {
75
+ min-height: 1.5em;
76
+ }
77
+
78
+ /* Heading styles */
79
+ .ixo-editor h1.bn-inline-content {
80
+ font-size: 2em;
81
+ font-weight: 700;
82
+ margin-top: 0.5em;
83
+ margin-bottom: 0.5em;
84
+ }
85
+
86
+ .ixo-editor h2.bn-inline-content {
87
+ font-size: 1.5em;
88
+ font-weight: 600;
89
+ margin-top: 0.5em;
90
+ margin-bottom: 0.5em;
91
+ }
92
+
93
+ .ixo-editor h3.bn-inline-content {
94
+ font-size: 1.25em;
95
+ font-weight: 600;
96
+ margin-top: 0.5em;
97
+ margin-bottom: 0.5em;
98
+ }
99
+
100
+ /* List styles */
101
+ .ixo-editor ul.bn-block-content {
102
+ padding-left: 1.5em;
103
+ list-style-type: disc;
104
+ }
105
+
106
+ .ixo-editor ol.bn-block-content {
107
+ padding-left: 1.5em;
108
+ list-style-type: decimal;
109
+ }
110
+
111
+ /* Code block styles */
112
+ .ixo-editor pre.bn-block-content {
113
+ background-color: var(--bn-colors-hovered-background);
114
+ border-radius: 4px;
115
+ padding: 12px;
116
+ font-family: 'Courier New', Courier, monospace;
117
+ font-size: 0.9em;
118
+ overflow-x: auto;
119
+ }
120
+
121
+ .ixo-editor code.bn-inline-content {
122
+ background-color: var(--bn-colors-hovered-background);
123
+ border-radius: 3px;
124
+ padding: 2px 6px;
125
+ font-family: 'Courier New', Courier, monospace;
126
+ font-size: 0.9em;
127
+ }
128
+
129
+ /* Blockquote styles */
130
+ .ixo-editor blockquote.bn-block-content {
131
+ border-left: 3px solid var(--bn-colors-border);
132
+ padding-left: 1em;
133
+ margin-left: 0;
134
+ font-style: italic;
135
+ color: var(--bn-colors-side-menu);
136
+ }
137
+
138
+ /* Link styles */
139
+ .ixo-editor a.bn-inline-content {
140
+ color: var(--bn-colors-highlight-colors-blue);
141
+ text-decoration: none;
142
+ transition: text-decoration 0.2s ease;
143
+ }
144
+
145
+ .ixo-editor a.bn-inline-content:hover {
146
+ text-decoration: underline;
147
+ }
148
+
149
+ /* Table styles */
150
+ .ixo-editor table.bn-block-content {
151
+ border-collapse: collapse;
152
+ width: 100%;
153
+ margin: 1em 0;
154
+ }
155
+
156
+ .ixo-editor table.bn-block-content th,
157
+ .ixo-editor table.bn-block-content td {
158
+ border: 1px solid var(--bn-colors-border);
159
+ padding: 8px 12px;
160
+ text-align: left;
161
+ }
162
+
163
+ .ixo-editor table.bn-block-content th {
164
+ background-color: var(--bn-colors-hovered-background);
165
+ font-weight: 600;
166
+ }
167
+
168
+ /* Image styles */
169
+ .ixo-editor .bn-image-block img {
170
+ max-width: 100%;
171
+ height: auto;
172
+ border-radius: 4px;
173
+ }
174
+
175
+ /* Placeholder styles */
176
+ .ixo-editor .bn-block-content[data-is-empty="true"]:before {
177
+ color: var(--bn-colors-side-menu);
178
+ opacity: 0.5;
179
+ }
180
+
181
+ /* Notion-like list title input placeholder */
182
+ .notion-list-title-input::placeholder {
183
+ color: #CFCFCF;
184
+ opacity: 1;
185
+ }
186
+
187
+ /* Menu and toolbar customizations */
188
+ .ixo-editor .bn-menu {
189
+ border-radius: 8px;
190
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
191
+ }
192
+
193
+ .ixo-editor .bn-toolbar {
194
+ border-radius: 6px;
195
+ padding: 4px;
196
+ }
197
+
198
+ /* Animation improvements */
199
+ .ixo-editor .bn-block,
200
+ .ixo-editor .bn-menu,
201
+ .ixo-editor .bn-toolbar {
202
+ animation-duration: 0.2s;
203
+ }
204
+
205
+ /* Selection styles */
206
+ .ixo-editor ::selection {
207
+ background-color: var(--bn-colors-selected-background);
208
+ }
209
+
210
+ /* Scrollbar styles */
211
+ .ixo-editor .bn-container::-webkit-scrollbar {
212
+ width: 8px;
213
+ height: 8px;
214
+ }
215
+
216
+ .ixo-editor .bn-container::-webkit-scrollbar-track {
217
+ background: transparent;
218
+ }
219
+
220
+ .ixo-editor .bn-container::-webkit-scrollbar-thumb {
221
+ background-color: var(--bn-colors-border);
222
+ border-radius: 4px;
223
+ }
224
+
225
+ .ixo-editor .bn-container::-webkit-scrollbar-thumb:hover {
226
+ background-color: var(--bn-colors-side-menu);
227
+ }
228
+
229
+ /* Responsive adjustments */
230
+ @media (max-width: 768px) {
231
+ .ixo-editor .bn-container {
232
+ padding: 15px;
233
+ }
234
+
235
+ .ixo-editor h1.bn-inline-content {
236
+ font-size: 1.75em;
237
+ }
238
+
239
+ .ixo-editor h2.bn-inline-content {
240
+ font-size: 1.35em;
241
+ }
242
+
243
+ .ixo-editor h3.bn-inline-content {
244
+ font-size: 1.15em;
245
+ }
246
+ }
package/style.css.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ // CSS module declaration
2
+ declare module '@ixo/editor/style.css' {
3
+ const content: string;
4
+ export default content;
5
+ }