@hypericon/mico 0.3.24 → 0.4.1

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 (274) hide show
  1. package/README.md +2 -0
  2. package/dist/{components → cjs/components}/dialog/dialog-manager.d.ts +1 -0
  3. package/dist/{components → cjs/components}/dialog/dialog-manager.js +4 -0
  4. package/dist/esm/components/accordion/index.d.ts +0 -0
  5. package/dist/esm/components/accordion/index.js +1 -0
  6. package/dist/esm/components/data-grid/index.d.ts +0 -0
  7. package/dist/esm/components/data-grid/index.js +1 -0
  8. package/dist/esm/components/data-table/index.d.ts +0 -0
  9. package/dist/esm/components/data-table/index.js +1 -0
  10. package/dist/esm/components/dialog/Dialog.d.ts +1 -0
  11. package/dist/esm/components/dialog/Dialog.js +10 -0
  12. package/dist/esm/components/dialog/dialog-manager.d.ts +46 -0
  13. package/dist/esm/components/dialog/dialog-manager.js +167 -0
  14. package/dist/esm/components/dialog/index.d.ts +1 -0
  15. package/dist/esm/components/dialog/index.js +2 -0
  16. package/dist/esm/components/drag-handler/DragHandler.d.ts +40 -0
  17. package/dist/esm/components/drag-handler/DragHandler.js +104 -0
  18. package/dist/esm/components/drag-handler/index.d.ts +1 -0
  19. package/dist/esm/components/drag-handler/index.js +1 -0
  20. package/dist/esm/components/drawer/index.d.ts +0 -0
  21. package/dist/esm/components/drawer/index.js +1 -0
  22. package/dist/esm/components/drop-target/DropTarget.d.ts +24 -0
  23. package/dist/esm/components/drop-target/DropTarget.js +56 -0
  24. package/dist/esm/components/drop-target/drop-target.state.d.ts +9 -0
  25. package/dist/esm/components/drop-target/drop-target.state.js +73 -0
  26. package/dist/esm/components/drop-target/index.d.ts +1 -0
  27. package/dist/esm/components/drop-target/index.js +1 -0
  28. package/dist/esm/components/form/Form.d.ts +2 -0
  29. package/dist/esm/components/form/Form.js +9 -0
  30. package/dist/esm/components/form/index.d.ts +1 -0
  31. package/dist/esm/components/form/index.js +1 -0
  32. package/dist/esm/components/icon/Icon.d.ts +21 -0
  33. package/dist/esm/components/icon/Icon.js +22 -0
  34. package/dist/esm/components/icon/icons.d.ts +3 -0
  35. package/dist/esm/components/icon/icons.js +1 -0
  36. package/dist/esm/components/icon/index.d.ts +2 -0
  37. package/dist/esm/components/icon/index.js +2 -0
  38. package/dist/esm/components/index.d.ts +12 -0
  39. package/dist/esm/components/index.js +20 -0
  40. package/dist/esm/components/markdown/Markdown.d.ts +34 -0
  41. package/dist/esm/components/markdown/Markdown.js +55 -0
  42. package/dist/esm/components/markdown/index.d.ts +1 -0
  43. package/dist/esm/components/markdown/index.js +1 -0
  44. package/dist/esm/components/markdown-editor/MarkdownEditor.d.ts +21 -0
  45. package/dist/esm/components/markdown-editor/MarkdownEditor.js +181 -0
  46. package/dist/esm/components/markdown-editor/index.d.ts +1 -0
  47. package/dist/esm/components/markdown-editor/index.js +1 -0
  48. package/dist/esm/components/markdown-editor/markdown-editor.state.d.ts +31 -0
  49. package/dist/esm/components/markdown-editor/markdown-editor.state.js +255 -0
  50. package/dist/esm/components/menu/Menu.d.ts +14 -0
  51. package/dist/esm/components/menu/Menu.js +81 -0
  52. package/dist/esm/components/menu/MenuButton.d.ts +16 -0
  53. package/dist/esm/components/menu/MenuButton.js +75 -0
  54. package/dist/esm/components/menu/MenuSeparator.d.ts +2 -0
  55. package/dist/esm/components/menu/MenuSeparator.js +11 -0
  56. package/dist/esm/components/menu/index.d.ts +6 -0
  57. package/dist/esm/components/menu/index.js +6 -0
  58. package/dist/esm/components/menu/menu-constants.d.ts +4 -0
  59. package/dist/esm/components/menu/menu-constants.js +4 -0
  60. package/dist/esm/components/menu/menu-manager.d.ts +22 -0
  61. package/dist/esm/components/menu/menu-manager.js +72 -0
  62. package/dist/esm/components/menu/menu-settings.d.ts +9 -0
  63. package/dist/esm/components/menu/menu-settings.js +9 -0
  64. package/dist/esm/components/modal/index.d.ts +0 -0
  65. package/dist/esm/components/modal/index.js +1 -0
  66. package/dist/esm/components/pagination/Pagination.d.ts +40 -0
  67. package/dist/esm/components/pagination/Pagination.js +66 -0
  68. package/dist/esm/components/pagination/index.d.ts +2 -0
  69. package/dist/esm/components/pagination/index.js +2 -0
  70. package/dist/esm/components/pagination/pagination-settings.d.ts +17 -0
  71. package/dist/esm/components/pagination/pagination-settings.js +16 -0
  72. package/dist/esm/components/panel-tree/PanelTree.d.ts +26 -0
  73. package/dist/esm/components/panel-tree/PanelTree.js +174 -0
  74. package/dist/esm/components/panel-tree/index.d.ts +0 -0
  75. package/dist/esm/components/panel-tree/index.js +1 -0
  76. package/dist/esm/components/panel-tree/panel-tree-constants.d.ts +3 -0
  77. package/dist/esm/components/panel-tree/panel-tree-constants.js +3 -0
  78. package/dist/esm/components/panel-tree/panel-tree-store.d.ts +23 -0
  79. package/dist/esm/components/panel-tree/panel-tree-store.js +59 -0
  80. package/dist/esm/components/panel-tree/panel-tree-utils.d.ts +17 -0
  81. package/dist/esm/components/panel-tree/panel-tree-utils.js +55 -0
  82. package/dist/esm/components/popover/index.d.ts +0 -0
  83. package/dist/esm/components/popover/index.js +1 -0
  84. package/dist/esm/components/reorderable-list/RedorderableList.d.ts +55 -0
  85. package/dist/esm/components/reorderable-list/RedorderableList.js +202 -0
  86. package/dist/esm/components/reorderable-list/index.d.ts +0 -0
  87. package/dist/esm/components/reorderable-list/index.js +1 -0
  88. package/dist/esm/components/select/Select.d.ts +44 -0
  89. package/dist/esm/components/select/Select.js +108 -0
  90. package/dist/esm/components/select/SelectOptionsPanel.d.ts +21 -0
  91. package/dist/esm/components/select/SelectOptionsPanel.js +168 -0
  92. package/dist/esm/components/select/constants.d.ts +2 -0
  93. package/dist/esm/components/select/constants.js +2 -0
  94. package/dist/esm/components/select/index.d.ts +2 -0
  95. package/dist/esm/components/select/index.js +3 -0
  96. package/dist/esm/components/select/select-options-manager.d.ts +39 -0
  97. package/dist/esm/components/select/select-options-manager.js +63 -0
  98. package/dist/esm/components/tab-panel/TabPanel.d.ts +23 -0
  99. package/dist/esm/components/tab-panel/TabPanel.js +88 -0
  100. package/dist/esm/components/tab-panel/index.d.ts +3 -0
  101. package/dist/esm/components/tab-panel/index.js +3 -0
  102. package/dist/esm/components/tab-panel/tab-panel-default-settings.d.ts +17 -0
  103. package/dist/esm/components/tab-panel/tab-panel-default-settings.js +17 -0
  104. package/dist/esm/components/tab-panel/tab-panel-settings.d.ts +28 -0
  105. package/dist/esm/components/tab-panel/tab-panel-settings.js +11 -0
  106. package/dist/esm/components/table/Table.d.ts +64 -0
  107. package/dist/esm/components/table/Table.js +68 -0
  108. package/dist/esm/components/table/index.d.ts +1 -0
  109. package/dist/esm/components/table/index.js +1 -0
  110. package/dist/esm/components/toast/index.d.ts +1 -0
  111. package/dist/esm/components/toast/index.js +1 -0
  112. package/dist/esm/components/toast/toast.d.ts +15 -0
  113. package/dist/esm/components/toast/toast.js +31 -0
  114. package/dist/esm/components/tooltip/index.d.ts +3 -0
  115. package/dist/esm/components/tooltip/index.js +3 -0
  116. package/dist/esm/components/tooltip/tooltip-defaults.d.ts +23 -0
  117. package/dist/esm/components/tooltip/tooltip-defaults.js +22 -0
  118. package/dist/esm/components/tooltip/tooltip-function.d.ts +35 -0
  119. package/dist/esm/components/tooltip/tooltip-function.js +200 -0
  120. package/dist/esm/components/tooltip/tooltip-interfaces.d.ts +11 -0
  121. package/dist/esm/components/tooltip/tooltip-interfaces.js +1 -0
  122. package/dist/esm/components/tree/Tree.d.ts +110 -0
  123. package/dist/esm/components/tree/Tree.js +222 -0
  124. package/dist/esm/components/tree/index.d.ts +3 -0
  125. package/dist/esm/components/tree/index.js +3 -0
  126. package/dist/esm/components/tree/tree-node.interface.d.ts +9 -0
  127. package/dist/esm/components/tree/tree-node.interface.js +1 -0
  128. package/dist/esm/components/tree/tree-utils.d.ts +11 -0
  129. package/dist/esm/components/tree/tree-utils.js +18 -0
  130. package/dist/esm/index.d.ts +2 -0
  131. package/dist/esm/index.js +2 -0
  132. package/dist/esm/utils/date-time.d.ts +3 -0
  133. package/dist/esm/utils/date-time.js +22 -0
  134. package/dist/esm/utils/dom.d.ts +16 -0
  135. package/dist/esm/utils/dom.js +28 -0
  136. package/dist/esm/utils/events.d.ts +1 -0
  137. package/dist/esm/utils/events.js +25 -0
  138. package/dist/esm/utils/index.d.ts +3 -0
  139. package/dist/esm/utils/index.js +3 -0
  140. package/package.json +7 -3
  141. /package/dist/{components → cjs/components}/accordion/index.d.ts +0 -0
  142. /package/dist/{components → cjs/components}/accordion/index.js +0 -0
  143. /package/dist/{components → cjs/components}/data-grid/index.d.ts +0 -0
  144. /package/dist/{components → cjs/components}/data-grid/index.js +0 -0
  145. /package/dist/{components → cjs/components}/data-table/index.d.ts +0 -0
  146. /package/dist/{components → cjs/components}/data-table/index.js +0 -0
  147. /package/dist/{components → cjs/components}/dialog/Dialog.d.ts +0 -0
  148. /package/dist/{components → cjs/components}/dialog/Dialog.js +0 -0
  149. /package/dist/{components → cjs/components}/dialog/index.d.ts +0 -0
  150. /package/dist/{components → cjs/components}/dialog/index.js +0 -0
  151. /package/dist/{components → cjs/components}/drag-handler/DragHandler.d.ts +0 -0
  152. /package/dist/{components → cjs/components}/drag-handler/DragHandler.js +0 -0
  153. /package/dist/{components → cjs/components}/drag-handler/index.d.ts +0 -0
  154. /package/dist/{components → cjs/components}/drag-handler/index.js +0 -0
  155. /package/dist/{components → cjs/components}/drawer/index.d.ts +0 -0
  156. /package/dist/{components → cjs/components}/drawer/index.js +0 -0
  157. /package/dist/{components → cjs/components}/drop-target/DropTarget.d.ts +0 -0
  158. /package/dist/{components → cjs/components}/drop-target/DropTarget.js +0 -0
  159. /package/dist/{components → cjs/components}/drop-target/drop-target.state.d.ts +0 -0
  160. /package/dist/{components → cjs/components}/drop-target/drop-target.state.js +0 -0
  161. /package/dist/{components → cjs/components}/drop-target/index.d.ts +0 -0
  162. /package/dist/{components → cjs/components}/drop-target/index.js +0 -0
  163. /package/dist/{components → cjs/components}/form/Form.d.ts +0 -0
  164. /package/dist/{components → cjs/components}/form/Form.js +0 -0
  165. /package/dist/{components → cjs/components}/form/index.d.ts +0 -0
  166. /package/dist/{components → cjs/components}/form/index.js +0 -0
  167. /package/dist/{components → cjs/components}/icon/Icon.d.ts +0 -0
  168. /package/dist/{components → cjs/components}/icon/Icon.js +0 -0
  169. /package/dist/{components → cjs/components}/icon/icons.d.ts +0 -0
  170. /package/dist/{components → cjs/components}/icon/icons.js +0 -0
  171. /package/dist/{components → cjs/components}/icon/index.d.ts +0 -0
  172. /package/dist/{components → cjs/components}/icon/index.js +0 -0
  173. /package/dist/{components → cjs/components}/index.d.ts +0 -0
  174. /package/dist/{components → cjs/components}/index.js +0 -0
  175. /package/dist/{components → cjs/components}/markdown/Markdown.d.ts +0 -0
  176. /package/dist/{components → cjs/components}/markdown/Markdown.js +0 -0
  177. /package/dist/{components → cjs/components}/markdown/index.d.ts +0 -0
  178. /package/dist/{components → cjs/components}/markdown/index.js +0 -0
  179. /package/dist/{components → cjs/components}/markdown-editor/MarkdownEditor.d.ts +0 -0
  180. /package/dist/{components → cjs/components}/markdown-editor/MarkdownEditor.js +0 -0
  181. /package/dist/{components → cjs/components}/markdown-editor/index.d.ts +0 -0
  182. /package/dist/{components → cjs/components}/markdown-editor/index.js +0 -0
  183. /package/dist/{components → cjs/components}/markdown-editor/markdown-editor.state.d.ts +0 -0
  184. /package/dist/{components → cjs/components}/markdown-editor/markdown-editor.state.js +0 -0
  185. /package/dist/{components → cjs/components}/menu/Menu.d.ts +0 -0
  186. /package/dist/{components → cjs/components}/menu/Menu.js +0 -0
  187. /package/dist/{components → cjs/components}/menu/MenuButton.d.ts +0 -0
  188. /package/dist/{components → cjs/components}/menu/MenuButton.js +0 -0
  189. /package/dist/{components → cjs/components}/menu/MenuSeparator.d.ts +0 -0
  190. /package/dist/{components → cjs/components}/menu/MenuSeparator.js +0 -0
  191. /package/dist/{components → cjs/components}/menu/index.d.ts +0 -0
  192. /package/dist/{components → cjs/components}/menu/index.js +0 -0
  193. /package/dist/{components → cjs/components}/menu/menu-constants.d.ts +0 -0
  194. /package/dist/{components → cjs/components}/menu/menu-constants.js +0 -0
  195. /package/dist/{components → cjs/components}/menu/menu-manager.d.ts +0 -0
  196. /package/dist/{components → cjs/components}/menu/menu-manager.js +0 -0
  197. /package/dist/{components → cjs/components}/menu/menu-settings.d.ts +0 -0
  198. /package/dist/{components → cjs/components}/menu/menu-settings.js +0 -0
  199. /package/dist/{components → cjs/components}/modal/index.d.ts +0 -0
  200. /package/dist/{components → cjs/components}/modal/index.js +0 -0
  201. /package/dist/{components → cjs/components}/pagination/Pagination.d.ts +0 -0
  202. /package/dist/{components → cjs/components}/pagination/Pagination.js +0 -0
  203. /package/dist/{components → cjs/components}/pagination/index.d.ts +0 -0
  204. /package/dist/{components → cjs/components}/pagination/index.js +0 -0
  205. /package/dist/{components → cjs/components}/pagination/pagination-settings.d.ts +0 -0
  206. /package/dist/{components → cjs/components}/pagination/pagination-settings.js +0 -0
  207. /package/dist/{components → cjs/components}/panel-tree/PanelTree.d.ts +0 -0
  208. /package/dist/{components → cjs/components}/panel-tree/PanelTree.js +0 -0
  209. /package/dist/{components → cjs/components}/panel-tree/index.d.ts +0 -0
  210. /package/dist/{components → cjs/components}/panel-tree/index.js +0 -0
  211. /package/dist/{components → cjs/components}/panel-tree/panel-tree-constants.d.ts +0 -0
  212. /package/dist/{components → cjs/components}/panel-tree/panel-tree-constants.js +0 -0
  213. /package/dist/{components → cjs/components}/panel-tree/panel-tree-store.d.ts +0 -0
  214. /package/dist/{components → cjs/components}/panel-tree/panel-tree-store.js +0 -0
  215. /package/dist/{components → cjs/components}/panel-tree/panel-tree-utils.d.ts +0 -0
  216. /package/dist/{components → cjs/components}/panel-tree/panel-tree-utils.js +0 -0
  217. /package/dist/{components → cjs/components}/popover/index.d.ts +0 -0
  218. /package/dist/{components → cjs/components}/popover/index.js +0 -0
  219. /package/dist/{components → cjs/components}/reorderable-list/RedorderableList.d.ts +0 -0
  220. /package/dist/{components → cjs/components}/reorderable-list/RedorderableList.js +0 -0
  221. /package/dist/{components → cjs/components}/reorderable-list/index.d.ts +0 -0
  222. /package/dist/{components → cjs/components}/reorderable-list/index.js +0 -0
  223. /package/dist/{components → cjs/components}/select/Select.d.ts +0 -0
  224. /package/dist/{components → cjs/components}/select/Select.js +0 -0
  225. /package/dist/{components → cjs/components}/select/SelectOptionsPanel.d.ts +0 -0
  226. /package/dist/{components → cjs/components}/select/SelectOptionsPanel.js +0 -0
  227. /package/dist/{components → cjs/components}/select/constants.d.ts +0 -0
  228. /package/dist/{components → cjs/components}/select/constants.js +0 -0
  229. /package/dist/{components → cjs/components}/select/index.d.ts +0 -0
  230. /package/dist/{components → cjs/components}/select/index.js +0 -0
  231. /package/dist/{components → cjs/components}/select/select-options-manager.d.ts +0 -0
  232. /package/dist/{components → cjs/components}/select/select-options-manager.js +0 -0
  233. /package/dist/{components → cjs/components}/tab-panel/TabPanel.d.ts +0 -0
  234. /package/dist/{components → cjs/components}/tab-panel/TabPanel.js +0 -0
  235. /package/dist/{components → cjs/components}/tab-panel/index.d.ts +0 -0
  236. /package/dist/{components → cjs/components}/tab-panel/index.js +0 -0
  237. /package/dist/{components → cjs/components}/tab-panel/tab-panel-default-settings.d.ts +0 -0
  238. /package/dist/{components → cjs/components}/tab-panel/tab-panel-default-settings.js +0 -0
  239. /package/dist/{components → cjs/components}/tab-panel/tab-panel-settings.d.ts +0 -0
  240. /package/dist/{components → cjs/components}/tab-panel/tab-panel-settings.js +0 -0
  241. /package/dist/{components → cjs/components}/table/Table.d.ts +0 -0
  242. /package/dist/{components → cjs/components}/table/Table.js +0 -0
  243. /package/dist/{components → cjs/components}/table/index.d.ts +0 -0
  244. /package/dist/{components → cjs/components}/table/index.js +0 -0
  245. /package/dist/{components → cjs/components}/toast/index.d.ts +0 -0
  246. /package/dist/{components → cjs/components}/toast/index.js +0 -0
  247. /package/dist/{components → cjs/components}/toast/toast.d.ts +0 -0
  248. /package/dist/{components → cjs/components}/toast/toast.js +0 -0
  249. /package/dist/{components → cjs/components}/tooltip/index.d.ts +0 -0
  250. /package/dist/{components → cjs/components}/tooltip/index.js +0 -0
  251. /package/dist/{components → cjs/components}/tooltip/tooltip-defaults.d.ts +0 -0
  252. /package/dist/{components → cjs/components}/tooltip/tooltip-defaults.js +0 -0
  253. /package/dist/{components → cjs/components}/tooltip/tooltip-function.d.ts +0 -0
  254. /package/dist/{components → cjs/components}/tooltip/tooltip-function.js +0 -0
  255. /package/dist/{components → cjs/components}/tooltip/tooltip-interfaces.d.ts +0 -0
  256. /package/dist/{components → cjs/components}/tooltip/tooltip-interfaces.js +0 -0
  257. /package/dist/{components → cjs/components}/tree/Tree.d.ts +0 -0
  258. /package/dist/{components → cjs/components}/tree/Tree.js +0 -0
  259. /package/dist/{components → cjs/components}/tree/index.d.ts +0 -0
  260. /package/dist/{components → cjs/components}/tree/index.js +0 -0
  261. /package/dist/{components → cjs/components}/tree/tree-node.interface.d.ts +0 -0
  262. /package/dist/{components → cjs/components}/tree/tree-node.interface.js +0 -0
  263. /package/dist/{components → cjs/components}/tree/tree-utils.d.ts +0 -0
  264. /package/dist/{components → cjs/components}/tree/tree-utils.js +0 -0
  265. /package/dist/{index.d.ts → cjs/index.d.ts} +0 -0
  266. /package/dist/{index.js → cjs/index.js} +0 -0
  267. /package/dist/{utils → cjs/utils}/date-time.d.ts +0 -0
  268. /package/dist/{utils → cjs/utils}/date-time.js +0 -0
  269. /package/dist/{utils → cjs/utils}/dom.d.ts +0 -0
  270. /package/dist/{utils → cjs/utils}/dom.js +0 -0
  271. /package/dist/{utils → cjs/utils}/events.d.ts +0 -0
  272. /package/dist/{utils → cjs/utils}/events.js +0 -0
  273. /package/dist/{utils → cjs/utils}/index.d.ts +0 -0
  274. /package/dist/{utils → cjs/utils}/index.js +0 -0
@@ -0,0 +1,21 @@
1
+ import m from "mithril";
2
+ import { IconSolid, IconRegular, IconBrand } from "./icons";
3
+ export type IconAttrs = ({
4
+ fab: IconBrand;
5
+ } | {
6
+ far: IconRegular;
7
+ } | {
8
+ fas: IconSolid;
9
+ }) & {
10
+ class?: string;
11
+ style?: string;
12
+ };
13
+ /**
14
+ * Font Awesome Icon
15
+ *
16
+ * Specify the icon string with one of the keys: `fas`, `far`, or `fab`.
17
+ * Icon strings can be autocompleted on these keys.
18
+ *
19
+ * @see https://fontawesome.com/search
20
+ */
21
+ export declare const Icon: m.Component<IconAttrs>;
@@ -0,0 +1,22 @@
1
+ import m from "mithril";
2
+ /**
3
+ * Font Awesome Icon
4
+ *
5
+ * Specify the icon string with one of the keys: `fas`, `far`, or `fab`.
6
+ * Icon strings can be autocompleted on these keys.
7
+ *
8
+ * @see https://fontawesome.com/search
9
+ */
10
+ export const Icon = {
11
+ view({ attrs }) {
12
+ var _a, _b;
13
+ const icon = ("fas" in attrs) ? `fas fa-${attrs.fas}` :
14
+ ("far" in attrs) ? `far fa-${attrs.far}` :
15
+ ("fab" in attrs) ? `fab fa-${attrs.fab}` :
16
+ "";
17
+ return m("i", {
18
+ class: `${(_a = attrs.class) !== null && _a !== void 0 ? _a : ""} ${icon}`,
19
+ style: `${(_b = attrs.style) !== null && _b !== void 0 ? _b : ""}`,
20
+ });
21
+ }
22
+ };
@@ -0,0 +1,3 @@
1
+ export type IconSolid = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "fill-drip" | "arrows-to-circle" | "circle-chevron-right" | "at" | "trash-can" | "text-height" | "user-xmark" | "stethoscope" | "message" | "info" | "down-left-and-up-right-to-center" | "explosion" | "file-lines" | "wave-square" | "ring" | "building-un" | "dice-three" | "calendar-days" | "anchor-circle-check" | "building-circle-arrow-right" | "volleyball" | "arrows-up-to-line" | "sort-down" | "circle-minus" | "door-open" | "right-from-bracket" | "atom" | "soap" | "icons" | "microphone-lines-slash" | "bridge-circle-check" | "pump-medical" | "fingerprint" | "hand-point-right" | "magnifying-glass-location" | "forward-step" | "face-smile-beam" | "flag-checkered" | "football" | "school-circle-exclamation" | "crop" | "angles-down" | "users-rectangle" | "people-roof" | "people-line" | "beer-mug-empty" | "diagram-predecessor" | "arrow-up-long" | "fire-flame-simple" | "person" | "laptop" | "file-csv" | "menorah" | "truck-plane" | "record-vinyl" | "face-grin-stars" | "bong" | "spaghetti-monster-flying" | "arrow-down-up-across-line" | "spoon" | "jar-wheat" | "envelopes-bulk" | "file-circle-exclamation" | "circle-h" | "pager" | "address-book" | "strikethrough" | "k" | "landmark-flag" | "pencil" | "backward" | "caret-right" | "comments" | "paste" | "code-pull-request" | "clipboard-list" | "truck-ramp-box" | "user-check" | "vial-virus" | "sheet-plastic" | "blog" | "user-ninja" | "person-arrow-up-from-line" | "scroll-torah" | "broom-ball" | "toggle-off" | "box-archive" | "person-drowning" | "arrow-down-9-1" | "face-grin-tongue-squint" | "spray-can" | "truck-monster" | "w" | "earth-africa" | "rainbow" | "circle-notch" | "tablet-screen-button" | "paw" | "cloud" | "trowel-bricks" | "face-flushed" | "hospital-user" | "tent-arrow-left-right" | "gavel" | "binoculars" | "microphone-slash" | "box-tissue" | "motorcycle" | "bell-concierge" | "pen-ruler" | "people-arrows" | "mars-and-venus-burst" | "square-caret-right" | "scissors" | "sun-plant-wilt" | "toilets-portable" | "hockey-puck" | "table" | "magnifying-glass-arrow-right" | "tachograph-digital" | "users-slash" | "clover" | "reply" | "star-and-crescent" | "house-fire" | "square-minus" | "helicopter" | "compass" | "square-caret-down" | "file-circle-question" | "laptop-code" | "swatchbook" | "prescription-bottle" | "bars" | "people-group" | "hourglass-end" | "heart-crack" | "square-up-right" | "face-kiss-beam" | "film" | "ruler-horizontal" | "people-robbery" | "lightbulb" | "caret-left" | "circle-exclamation" | "school-circle-xmark" | "arrow-right-from-bracket" | "circle-chevron-down" | "unlock-keyhole" | "cloud-showers-heavy" | "headphones-simple" | "sitemap" | "circle-dollar-to-slot" | "memory" | "road-spikes" | "fire-burner" | "flag" | "hanukiah" | "feather" | "volume-low" | "comment-slash" | "cloud-sun-rain" | "compress" | "wheat-awn" | "ankh" | "hands-holding-child" | "asterisk" | "square-check" | "peseta-sign" | "heading" | "ghost" | "list" | "square-phone-flip" | "cart-plus" | "gamepad" | "circle-dot" | "face-dizzy" | "egg" | "house-medical-circle-xmark" | "campground" | "folder-plus" | "futbol" | "paintbrush" | "lock" | "gas-pump" | "hot-tub-person" | "map-location" | "house-flood-water" | "tree" | "bridge-lock" | "sack-dollar" | "pen-to-square" | "car-side" | "share-nodes" | "heart-circle-minus" | "hourglass-half" | "microscope" | "sink" | "bag-shopping" | "arrow-down-z-a" | "mitten" | "person-rays" | "users" | "eye-slash" | "flask-vial" | "hand" | "om" | "worm" | "house-circle-xmark" | "plug" | "chevron-up" | "hand-spock" | "stopwatch" | "face-kiss" | "bridge-circle-xmark" | "face-grin-tongue" | "chess-bishop" | "face-grin-wink" | "ear-deaf" | "road-circle-check" | "dice-five" | "square-rss" | "land-mine-on" | "i-cursor" | "stamp" | "stairs" | "i" | "hryvnia-sign" | "pills" | "face-grin-wide" | "tooth" | "v" | "bangladeshi-taka-sign" | "bicycle" | "staff-snake" | "head-side-cough-slash" | "truck-medical" | "wheat-awn-circle-exclamation" | "snowman" | "mortar-pestle" | "road-barrier" | "school" | "igloo" | "joint" | "angle-right" | "horse" | "q" | "g" | "notes-medical" | "temperature-half" | "dong-sign" | "capsules" | "poo-storm" | "face-frown-open" | "hand-point-up" | "money-bill" | "bookmark" | "align-justify" | "umbrella-beach" | "helmet-un" | "bullseye" | "bacon" | "hand-point-down" | "arrow-up-from-bracket" | "folder" | "file-waveform" | "radiation" | "chart-simple" | "mars-stroke" | "vial" | "gauge" | "wand-magic-sparkles" | "e" | "pen-clip" | "bridge-circle-exclamation" | "user" | "school-circle-check" | "dumpster" | "van-shuttle" | "building-user" | "square-caret-left" | "highlighter" | "key" | "bullhorn" | "globe" | "synagogue" | "person-half-dress" | "road-bridge" | "location-arrow" | "c" | "tablet-button" | "building-lock" | "pizza-slice" | "money-bill-wave" | "chart-area" | "house-flag" | "person-circle-minus" | "ban" | "camera-rotate" | "spray-can-sparkles" | "star" | "repeat" | "cross" | "box" | "venus-mars" | "arrow-pointer" | "maximize" | "charging-station" | "shapes" | "shuffle" | "person-running" | "mobile-retro" | "grip-lines-vertical" | "spider" | "hands-bound" | "file-invoice-dollar" | "plane-circle-exclamation" | "x-ray" | "spell-check" | "slash" | "computer-mouse" | "arrow-right-to-bracket" | "shop-slash" | "server" | "virus-covid-slash" | "shop-lock" | "hourglass-start" | "blender-phone" | "building-wheat" | "person-breastfeeding" | "right-to-bracket" | "venus" | "passport" | "heart-pulse" | "people-carry-box" | "temperature-high" | "microchip" | "crown" | "weight-hanging" | "xmarks-lines" | "file-prescription" | "weight-scale" | "user-group" | "arrow-up-a-z" | "chess-knight" | "face-laugh-squint" | "wheelchair" | "circle-arrow-up" | "toggle-on" | "person-walking" | "l" | "fire" | "bed-pulse" | "shuttle-space" | "face-laugh" | "folder-open" | "heart-circle-plus" | "code-fork" | "city" | "microphone-lines" | "pepper-hot" | "unlock" | "colon-sign" | "headset" | "store-slash" | "road-circle-xmark" | "user-minus" | "mars-stroke-up" | "champagne-glasses" | "clipboard" | "house-circle-exclamation" | "file-arrow-up" | "wifi" | "bath" | "underline" | "user-pen" | "signature" | "stroopwafel" | "bold" | "anchor-lock" | "building-ngo" | "manat-sign" | "not-equal" | "border-top-left" | "map-location-dot" | "jedi" | "square-poll-vertical" | "mug-hot" | "car-battery" | "gift" | "dice-two" | "chess-queen" | "glasses" | "chess-board" | "building-circle-check" | "person-chalkboard" | "mars-stroke-right" | "hand-back-fist" | "square-caret-up" | "cloud-showers-water" | "chart-bar" | "hands-bubbles" | "less-than-equal" | "train" | "eye-low-vision" | "crow" | "sailboat" | "window-restore" | "square-plus" | "torii-gate" | "frog" | "bucket" | "image" | "microphone" | "cow" | "caret-up" | "screwdriver" | "folder-closed" | "house-tsunami" | "square-nfi" | "arrow-up-from-ground-water" | "martini-glass" | "rotate-left" | "table-columns" | "lemon" | "head-side-mask" | "handshake" | "gem" | "dolly" | "smoking" | "minimize" | "monument" | "snowplow" | "angles-right" | "cannabis" | "circle-play" | "tablets" | "ethernet" | "euro-sign" | "chair" | "circle-check" | "circle-stop" | "compass-drafting" | "plate-wheat" | "icicles" | "person-shelter" | "neuter" | "id-badge" | "marker" | "face-laugh-beam" | "helicopter-symbol" | "universal-access" | "circle-chevron-up" | "lari-sign" | "volcano" | "person-walking-dashed-line-arrow-right" | "sterling-sign" | "viruses" | "square-person-confined" | "user-tie" | "arrow-down-long" | "tent-arrow-down-to-line" | "certificate" | "reply-all" | "suitcase" | "person-skating" | "filter-circle-dollar" | "camera-retro" | "circle-arrow-down" | "file-import" | "square-arrow-up-right" | "box-open" | "scroll" | "spa" | "location-pin-lock" | "pause" | "hill-avalanche" | "temperature-empty" | "bomb" | "registered" | "address-card" | "scale-unbalanced-flip" | "subscript" | "diamond-turn-right" | "burst" | "house-laptop" | "face-tired" | "money-bills" | "smog" | "crutch" | "font-awesome" | "cloud-arrow-up" | "palette" | "arrows-turn-right" | "vest" | "ferry" | "arrows-down-to-people" | "seedling" | "left-right" | "boxes-packing" | "circle-arrow-left" | "group-arrows-rotate" | "bowl-food" | "candy-cane" | "arrow-down-wide-short" | "cloud-bolt" | "text-slash" | "face-smile-wink" | "file-word" | "file-powerpoint" | "arrows-left-right" | "house-lock" | "cloud-arrow-down" | "children" | "chalkboard" | "user-large-slash" | "envelope-open" | "handshake-simple-slash" | "mattress-pillow" | "guarani-sign" | "arrows-rotate" | "fire-extinguisher" | "cruzeiro-sign" | "greater-than-equal" | "shield-halved" | "book-atlas" | "virus" | "envelope-circle-check" | "layer-group" | "arrows-to-dot" | "archway" | "heart-circle-check" | "house-chimney-crack" | "file-zipper" | "square" | "martini-glass-empty" | "couch" | "cedi-sign" | "italic" | "church" | "comments-dollar" | "democrat" | "z" | "person-skiing" | "road-lock" | "a" | "temperature-arrow-down" | "feather-pointed" | "p" | "snowflake" | "newspaper" | "rectangle-ad" | "circle-arrow-right" | "filter-circle-xmark" | "locust" | "sort" | "list-ol" | "person-dress-burst" | "money-check-dollar" | "vector-square" | "bread-slice" | "language" | "face-kiss-wink-heart" | "filter" | "question" | "file-signature" | "up-down-left-right" | "house-chimney-user" | "hand-holding-heart" | "puzzle-piece" | "money-check" | "star-half-stroke" | "code" | "whiskey-glass" | "building-circle-exclamation" | "magnifying-glass-chart" | "arrow-up-right-from-square" | "cubes-stacked" | "won-sign" | "virus-covid" | "austral-sign" | "f" | "leaf" | "road" | "taxi" | "person-circle-plus" | "chart-pie" | "bolt-lightning" | "sack-xmark" | "file-excel" | "file-contract" | "fish-fins" | "building-flag" | "face-grin-beam" | "object-ungroup" | "poop" | "location-pin" | "kaaba" | "toilet-paper" | "helmet-safety" | "eject" | "circle-right" | "plane-circle-check" | "face-rolling-eyes" | "object-group" | "chart-line" | "mask-ventilator" | "arrow-right" | "signs-post" | "cash-register" | "person-circle-question" | "h" | "tarp" | "screwdriver-wrench" | "arrows-to-eye" | "plug-circle-bolt" | "heart" | "mars-and-venus" | "house-user" | "dumpster-fire" | "house-crack" | "martini-glass-citrus" | "face-surprise" | "bottle-water" | "circle-pause" | "toilet-paper-slash" | "apple-whole" | "kitchen-set" | "r" | "temperature-quarter" | "cube" | "bitcoin-sign" | "shield-dog" | "solar-panel" | "lock-open" | "elevator" | "money-bill-transfer" | "money-bill-trend-up" | "house-flood-water-circle-arrow-right" | "square-poll-horizontal" | "circle" | "backward-fast" | "recycle" | "user-astronaut" | "plane-slash" | "trademark" | "basketball" | "satellite-dish" | "circle-up" | "mobile-screen-button" | "volume-high" | "users-rays" | "wallet" | "clipboard-check" | "file-audio" | "burger" | "wrench" | "bugs" | "rupee-sign" | "file-image" | "circle-question" | "plane-departure" | "handshake-slash" | "book-bookmark" | "code-branch" | "hat-cowboy" | "bridge" | "phone-flip" | "truck-front" | "cat" | "anchor-circle-exclamation" | "truck-field" | "route" | "clipboard-question" | "panorama" | "comment-medical" | "teeth-open" | "file-circle-minus" | "tags" | "wine-glass" | "forward-fast" | "face-meh-blank" | "square-parking" | "house-signal" | "bars-progress" | "faucet-drip" | "cart-flatbed" | "ban-smoking" | "terminal" | "mobile-button" | "house-medical-flag" | "basket-shopping" | "tape" | "bus-simple" | "eye" | "face-sad-cry" | "audio-description" | "person-military-to-person" | "file-shield" | "user-slash" | "pen" | "tower-observation" | "file-code" | "signal" | "bus" | "heart-circle-xmark" | "house-chimney" | "window-maximize" | "face-frown" | "prescription" | "shop" | "floppy-disk" | "vihara" | "scale-unbalanced" | "sort-up" | "comment-dots" | "plant-wilt" | "diamond" | "face-grin-squint" | "hand-holding-dollar" | "bacterium" | "hand-pointer" | "drum-steelpan" | "hand-scissors" | "hands-praying" | "arrow-rotate-right" | "biohazard" | "location-crosshairs" | "mars-double" | "child-dress" | "users-between-lines" | "lungs-virus" | "face-grin-tears" | "phone" | "calendar-xmark" | "child-reaching" | "head-side-virus" | "user-gear" | "arrow-up-1-9" | "door-closed" | "shield-virus" | "dice-six" | "mosquito-net" | "bridge-water" | "person-booth" | "text-width" | "hat-wizard" | "pen-fancy" | "person-digging" | "trash" | "gauge-simple" | "book-medical" | "poo" | "quote-right" | "shirt" | "cubes" | "divide" | "tenge-sign" | "headphones" | "hands-holding" | "hands-clapping" | "republican" | "arrow-left" | "person-circle-xmark" | "ruler" | "align-left" | "dice-d6" | "restroom" | "j" | "users-viewfinder" | "file-video" | "up-right-from-square" | "table-cells" | "file-pdf" | "book-bible" | "o" | "suitcase-medical" | "user-secret" | "otter" | "person-dress" | "comment-dollar" | "business-time" | "table-cells-large" | "book-tanakh" | "phone-volume" | "hat-cowboy-side" | "clipboard-user" | "child" | "lira-sign" | "satellite" | "plane-lock" | "tag" | "comment" | "cake-candles" | "envelope" | "angles-up" | "paperclip" | "arrow-right-to-city" | "ribbon" | "lungs" | "arrow-up-9-1" | "litecoin-sign" | "border-none" | "circle-nodes" | "parachute-box" | "indent" | "truck-field-un" | "hourglass" | "mountain" | "user-doctor" | "circle-info" | "cloud-meatball" | "camera" | "square-virus" | "meteor" | "car-on" | "sleigh" | "arrow-down-1-9" | "hand-holding-droplet" | "water" | "calendar-check" | "braille" | "prescription-bottle-medical" | "landmark" | "truck" | "crosshairs" | "person-cane" | "tent" | "vest-patches" | "check-double" | "arrow-down-a-z" | "money-bill-wheat" | "cookie" | "arrow-rotate-left" | "hard-drive" | "face-grin-squint-tears" | "dumbbell" | "rectangle-list" | "tarp-droplet" | "house-medical-circle-check" | "person-skiing-nordic" | "calendar-plus" | "plane-arrival" | "circle-left" | "train-subway" | "chart-gantt" | "indian-rupee-sign" | "crop-simple" | "money-bill-1" | "left-long" | "dna" | "virus-slash" | "minus" | "chess" | "arrow-left-long" | "plug-circle-check" | "street-view" | "franc-sign" | "volume-off" | "hands-asl-interpreting" | "gear" | "droplet-slash" | "mosque" | "mosquito" | "star-of-david" | "person-military-rifle" | "cart-shopping" | "vials" | "plug-circle-plus" | "place-of-worship" | "grip-vertical" | "arrow-turn-up" | "u" | "square-root-variable" | "clock" | "backward-step" | "pallet" | "faucet" | "baseball-bat-ball" | "s" | "timeline" | "keyboard" | "caret-down" | "house-chimney-medical" | "temperature-three-quarters" | "mobile-screen" | "plane-up" | "piggy-bank" | "battery-half" | "mountain-city" | "coins" | "khanda" | "sliders" | "folder-tree" | "network-wired" | "map-pin" | "hamsa" | "cent-sign" | "flask" | "person-pregnant" | "wand-sparkles" | "ellipsis-vertical" | "ticket" | "power-off" | "right-long" | "flag-usa" | "laptop-file" | "tty" | "diagram-next" | "person-rifle" | "house-medical-circle-exclamation" | "closed-captioning" | "person-hiking" | "venus-double" | "images" | "calculator" | "people-pulling" | "n" | "cable-car" | "cloud-rain" | "building-circle-xmark" | "ship" | "arrows-down-to-line" | "download" | "face-grin" | "delete-left" | "eye-dropper" | "file-circle-check" | "forward" | "mobile" | "face-meh" | "align-center" | "book-skull" | "id-card" | "outdent" | "heart-circle-exclamation" | "house" | "calendar-week" | "laptop-medical" | "b" | "file-medical" | "dice-one" | "kiwi-bird" | "arrow-right-arrow-left" | "rotate-right" | "utensils" | "arrow-up-wide-short" | "mill-sign" | "bowl-rice" | "skull" | "tower-broadcast" | "truck-pickup" | "up-long" | "stop" | "code-merge" | "upload" | "hurricane" | "mound" | "toilet-portable" | "compact-disc" | "file-arrow-down" | "caravan" | "shield-cat" | "bolt" | "glass-water" | "oil-well" | "vault" | "mars" | "toilet" | "plane-circle-xmark" | "yen-sign" | "ruble-sign" | "sun" | "guitar" | "face-laugh-wink" | "horse-head" | "bore-hole" | "industry" | "circle-down" | "arrows-turn-to-dots" | "florin-sign" | "arrow-down-short-wide" | "less-than" | "angle-down" | "car-tunnel" | "head-side-cough" | "grip-lines" | "thumbs-down" | "user-lock" | "arrow-right-long" | "anchor-circle-xmark" | "ellipsis" | "chess-pawn" | "kit-medical" | "person-through-window" | "toolbox" | "hands-holding-circle" | "bug" | "credit-card" | "car" | "hand-holding-hand" | "book-open-reader" | "mountain-sun" | "arrows-left-right-to-line" | "dice-d20" | "truck-droplet" | "file-circle-xmark" | "temperature-arrow-up" | "medal" | "bed" | "square-h" | "podcast" | "temperature-full" | "bell" | "superscript" | "plug-circle-xmark" | "star-of-life" | "phone-slash" | "paint-roller" | "handshake-angle" | "location-dot" | "file" | "greater-than" | "person-swimming" | "arrow-down" | "droplet" | "eraser" | "earth-americas" | "person-burst" | "dove" | "battery-empty" | "socks" | "inbox" | "section" | "gauge-high" | "envelope-open-text" | "hospital" | "wine-bottle" | "chess-rook" | "bars-staggered" | "dharmachakra" | "hotdog" | "person-walking-with-cane" | "drum" | "ice-cream" | "heart-circle-bolt" | "fax" | "paragraph" | "check-to-slot" | "star-half" | "boxes-stacked" | "link" | "ear-listen" | "tree-city" | "play" | "font" | "rupiah-sign" | "magnifying-glass" | "table-tennis-paddle-ball" | "person-dots-from-line" | "trash-can-arrow-up" | "naira-sign" | "cart-arrow-down" | "walkie-talkie" | "file-pen" | "receipt" | "square-pen" | "suitcase-rolling" | "person-circle-exclamation" | "chevron-down" | "battery-full" | "skull-crossbones" | "code-compare" | "list-ul" | "school-lock" | "tower-cell" | "down-long" | "ranking-star" | "chess-king" | "person-harassing" | "brazilian-real-sign" | "landmark-dome" | "arrow-up" | "tv" | "shrimp" | "list-check" | "jug-detergent" | "circle-user" | "user-shield" | "wind" | "car-burst" | "y" | "person-snowboarding" | "truck-fast" | "fish" | "user-graduate" | "circle-half-stroke" | "clapperboard" | "circle-radiation" | "baseball" | "jet-fighter-up" | "diagram-project" | "copy" | "volume-xmark" | "hand-sparkles" | "grip" | "share-from-square" | "child-combatant" | "gun" | "square-phone" | "plus" | "expand" | "computer" | "xmark" | "arrows-up-down-left-right" | "chalkboard-user" | "peso-sign" | "building-shield" | "baby" | "users-line" | "quote-left" | "tractor" | "trash-arrow-up" | "arrow-down-up-lock" | "lines-leaning" | "ruler-combined" | "copyright" | "equals" | "blender" | "teeth" | "shekel-sign" | "map" | "rocket" | "photo-film" | "folder-minus" | "store" | "arrow-trend-up" | "plug-circle-minus" | "sign-hanging" | "bezier-curve" | "bell-slash" | "tablet" | "school-flag" | "fill" | "angle-up" | "drumstick-bite" | "holly-berry" | "chevron-left" | "bacteria" | "hand-lizard" | "notdef" | "disease" | "briefcase-medical" | "genderless" | "chevron-right" | "retweet" | "car-rear" | "pump-soap" | "video-slash" | "battery-quarter" | "radio" | "baby-carriage" | "traffic-light" | "thermometer" | "vr-cardboard" | "hand-middle-finger" | "percent" | "truck-moving" | "glass-water-droplet" | "display" | "face-smile" | "thumbtack" | "trophy" | "person-praying" | "hammer" | "hand-peace" | "rotate" | "spinner" | "robot" | "peace" | "gears" | "warehouse" | "arrow-up-right-dots" | "splotch" | "face-grin-hearts" | "dice-four" | "sim-card" | "transgender" | "mercury" | "arrow-turn-down" | "person-falling-burst" | "award" | "ticket-simple" | "building" | "angles-left" | "qrcode" | "clock-rotate-left" | "face-grin-beam-sweat" | "file-export" | "shield" | "arrow-up-short-wide" | "house-medical" | "golf-ball-tee" | "circle-chevron-left" | "house-chimney-window" | "pen-nib" | "tent-arrow-turn-left" | "tents" | "wand-magic" | "dog" | "carrot" | "moon" | "wine-glass-empty" | "cheese" | "yin-yang" | "music" | "code-commit" | "temperature-low" | "person-biking" | "broom" | "shield-heart" | "gopuram" | "earth-oceania" | "square-xmark" | "hashtag" | "up-right-and-down-left-from-center" | "oil-can" | "t" | "hippo" | "chart-column" | "infinity" | "vial-circle-check" | "person-arrow-down-to-line" | "voicemail" | "fan" | "person-walking-luggage" | "up-down" | "cloud-moon-rain" | "calendar" | "trailer" | "bahai" | "sd-card" | "dragon" | "shoe-prints" | "circle-plus" | "face-grin-tongue-wink" | "hand-holding" | "plug-circle-exclamation" | "link-slash" | "clone" | "person-walking-arrow-loop-left" | "arrow-up-z-a" | "fire-flame-curved" | "tornado" | "file-circle-plus" | "book-quran" | "anchor" | "border-all" | "face-angry" | "cookie-bite" | "arrow-trend-down" | "rss" | "draw-polygon" | "scale-balanced" | "gauge-simple-high" | "shower" | "desktop" | "m" | "table-list" | "comment-sms" | "book" | "user-plus" | "check" | "battery-three-quarters" | "house-circle-check" | "angle-left" | "diagram-successor" | "truck-arrow-right" | "arrows-split-up-and-left" | "hand-fist" | "cloud-moon" | "briefcase" | "person-falling" | "image-portrait" | "user-tag" | "rug" | "earth-europe" | "cart-flatbed-suitcase" | "rectangle-xmark" | "baht-sign" | "book-open" | "book-journal-whills" | "handcuffs" | "triangle-exclamation" | "database" | "share" | "bottle-droplet" | "mask-face" | "hill-rockslide" | "right-left" | "paper-plane" | "road-circle-exclamation" | "dungeon" | "align-right" | "money-bill-1-wave" | "life-ring" | "hands" | "calendar-day" | "water-ladder" | "arrows-up-down" | "face-grimace" | "wheelchair-move" | "turn-down" | "person-walking-arrow-right" | "square-envelope" | "dice" | "bowling-ball" | "brain" | "bandage" | "calendar-minus" | "circle-xmark" | "gifts" | "hotel" | "earth-asia" | "id-card-clip" | "magnifying-glass-plus" | "thumbs-up" | "user-clock" | "hand-dots" | "file-invoice" | "window-minimize" | "mug-saucer" | "brush" | "mask" | "magnifying-glass-minus" | "ruler-vertical" | "user-large" | "train-tram" | "user-nurse" | "syringe" | "cloud-sun" | "stopwatch-20" | "square-full" | "magnet" | "jar" | "note-sticky" | "bug-slash" | "arrow-up-from-water-pump" | "bone" | "user-injured" | "face-sad-tear" | "plane" | "tent-arrows-down" | "exclamation" | "arrows-spin" | "print" | "turkish-lira-sign" | "dollar-sign" | "x" | "magnifying-glass-dollar" | "users-gear" | "person-military-pointing" | "building-columns" | "umbrella" | "trowel" | "d" | "stapler" | "masks-theater" | "kip-sign" | "hand-point-left" | "handshake-simple" | "jet-fighter" | "square-share-nodes" | "barcode" | "plus-minus" | "video" | "graduation-cap" | "hand-holding-medical" | "person-circle-check" | "turn-up";
2
+ export type IconRegular = "trash-can" | "message" | "file-lines" | "calendar-days" | "hand-point-right" | "face-smile-beam" | "face-grin-stars" | "address-book" | "comments" | "paste" | "face-grin-tongue-squint" | "face-flushed" | "square-caret-right" | "square-minus" | "compass" | "square-caret-down" | "face-kiss-beam" | "lightbulb" | "flag" | "square-check" | "circle-dot" | "face-dizzy" | "futbol" | "pen-to-square" | "hourglass-half" | "eye-slash" | "hand" | "hand-spock" | "face-kiss" | "face-grin-tongue" | "chess-bishop" | "face-grin-wink" | "face-grin-wide" | "face-frown-open" | "hand-point-up" | "bookmark" | "hand-point-down" | "folder" | "user" | "square-caret-left" | "star" | "chess-knight" | "face-laugh-squint" | "face-laugh" | "folder-open" | "clipboard" | "chess-queen" | "hand-back-fist" | "square-caret-up" | "chart-bar" | "window-restore" | "square-plus" | "image" | "folder-closed" | "lemon" | "handshake" | "gem" | "circle-play" | "circle-check" | "circle-stop" | "id-badge" | "face-laugh-beam" | "registered" | "address-card" | "face-tired" | "font-awesome" | "face-smile-wink" | "file-word" | "file-powerpoint" | "envelope-open" | "file-zipper" | "square" | "snowflake" | "newspaper" | "face-kiss-wink-heart" | "star-half-stroke" | "file-excel" | "face-grin-beam" | "object-ungroup" | "circle-right" | "face-rolling-eyes" | "object-group" | "heart" | "face-surprise" | "circle-pause" | "circle" | "circle-up" | "file-audio" | "file-image" | "circle-question" | "face-meh-blank" | "eye" | "face-sad-cry" | "file-code" | "window-maximize" | "face-frown" | "floppy-disk" | "comment-dots" | "face-grin-squint" | "hand-pointer" | "hand-scissors" | "face-grin-tears" | "calendar-xmark" | "file-video" | "file-pdf" | "comment" | "envelope" | "hourglass" | "calendar-check" | "hard-drive" | "face-grin-squint-tears" | "rectangle-list" | "calendar-plus" | "circle-left" | "money-bill-1" | "clock" | "keyboard" | "closed-captioning" | "images" | "face-grin" | "face-meh" | "id-card" | "sun" | "face-laugh-wink" | "circle-down" | "thumbs-down" | "chess-pawn" | "credit-card" | "bell" | "file" | "hospital" | "chess-rook" | "star-half" | "chess-king" | "circle-user" | "copy" | "share-from-square" | "copyright" | "map" | "bell-slash" | "hand-lizard" | "face-smile" | "hand-peace" | "face-grin-hearts" | "building" | "face-grin-beam-sweat" | "moon" | "calendar" | "face-grin-tongue-wink" | "clone" | "face-angry" | "rectangle-xmark" | "paper-plane" | "life-ring" | "face-grimace" | "calendar-minus" | "circle-xmark" | "thumbs-up" | "window-minimize" | "square-full" | "note-sticky" | "face-sad-tear" | "hand-point-left";
3
+ export type IconBrand = "monero" | "hooli" | "yelp" | "cc-visa" | "lastfm" | "shopware" | "creative-commons-nc" | "aws" | "redhat" | "yoast" | "cloudflare" | "ups" | "wpexplorer" | "dyalog" | "bity" | "stackpath" | "buysellads" | "first-order" | "modx" | "guilded" | "vnv" | "square-js" | "microsoft" | "qq" | "orcid" | "java" | "invision" | "creative-commons-pd-alt" | "centercode" | "glide-g" | "drupal" | "hire-a-helper" | "creative-commons-by" | "unity" | "whmcs" | "rocketchat" | "vk" | "untappd" | "mailchimp" | "css3-alt" | "square-reddit" | "vimeo-v" | "contao" | "square-font-awesome" | "deskpro" | "sistrix" | "square-instagram" | "battle-net" | "the-red-yeti" | "square-hacker-news" | "edge" | "napster" | "square-snapchat" | "google-plus-g" | "artstation" | "markdown" | "sourcetree" | "google-plus" | "diaspora" | "foursquare" | "stack-overflow" | "github-alt" | "phoenix-squadron" | "pagelines" | "algolia" | "red-river" | "creative-commons-sa" | "safari" | "google" | "square-font-awesome-stroke" | "atlassian" | "linkedin-in" | "digital-ocean" | "nimblr" | "chromecast" | "evernote" | "hacker-news" | "creative-commons-sampling" | "adversal" | "creative-commons" | "watchman-monitoring" | "fonticons" | "weixin" | "shirtsinbulk" | "codepen" | "git-alt" | "lyft" | "rev" | "windows" | "wizards-of-the-coast" | "square-viadeo" | "meetup" | "centos" | "adn" | "cloudsmith" | "pied-piper-alt" | "square-dribbble" | "codiepie" | "node" | "mix" | "steam" | "cc-apple-pay" | "scribd" | "openid" | "instalod" | "expeditedssl" | "sellcast" | "square-twitter" | "r-project" | "delicious" | "freebsd" | "vuejs" | "accusoft" | "ioxhost" | "fonticons-fi" | "app-store" | "cc-mastercard" | "itunes-note" | "golang" | "kickstarter" | "grav" | "weibo" | "uncharted" | "firstdraft" | "square-youtube" | "wikipedia-w" | "wpressr" | "angellist" | "galactic-republic" | "nfc-directional" | "skype" | "joget" | "fedora" | "stripe-s" | "meta" | "laravel" | "hotjar" | "bluetooth-b" | "sticker-mule" | "creative-commons-zero" | "hips" | "behance" | "reddit" | "discord" | "chrome" | "app-store-ios" | "cc-discover" | "wpbeginner" | "confluence" | "mdb" | "dochub" | "accessible-icon" | "ebay" | "amazon" | "unsplash" | "yarn" | "square-steam" | "500px" | "square-vimeo" | "asymmetrik" | "font-awesome" | "gratipay" | "apple" | "hive" | "gitkraken" | "keybase" | "apple-pay" | "padlet" | "amazon-pay" | "square-github" | "stumbleupon" | "fedex" | "phoenix-framework" | "shopify" | "neos" | "hackerrank" | "researchgate" | "swift" | "angular" | "speakap" | "angrycreative" | "y-combinator" | "empire" | "envira" | "square-gitlab" | "studiovinari" | "pied-piper" | "wordpress" | "product-hunt" | "firefox" | "linode" | "goodreads" | "square-odnoklassniki" | "jsfiddle" | "sith" | "themeisle" | "page4" | "hashnode" | "react" | "cc-paypal" | "squarespace" | "cc-stripe" | "creative-commons-share" | "bitcoin" | "keycdn" | "opera" | "itch-io" | "umbraco" | "galactic-senate" | "ubuntu" | "draft2digital" | "stripe" | "houzz" | "gg" | "dhl" | "square-pinterest" | "xing" | "blackberry" | "creative-commons-pd" | "playstation" | "quinscape" | "less" | "blogger-b" | "opencart" | "vine" | "paypal" | "gitlab" | "typo3" | "reddit-alien" | "yahoo" | "dailymotion" | "affiliatetheme" | "pied-piper-pp" | "bootstrap" | "odnoklassniki" | "nfc-symbol" | "ethereum" | "speaker-deck" | "creative-commons-nc-eu" | "patreon" | "avianex" | "ello" | "gofore" | "bimobject" | "facebook-f" | "square-google-plus" | "mandalorian" | "first-order-alt" | "osi" | "google-wallet" | "d-and-d-beyond" | "periscope" | "fulcrum" | "cloudscale" | "forumbee" | "mizuni" | "schlix" | "square-xing" | "bandcamp" | "wpforms" | "cloudversify" | "usps" | "megaport" | "magento" | "spotify" | "optin-monster" | "fly" | "aviato" | "itunes" | "cuttlefish" | "blogger" | "flickr" | "viber" | "soundcloud" | "digg" | "tencent-weibo" | "symfony" | "maxcdn" | "etsy" | "facebook-messenger" | "audible" | "think-peaks" | "bilibili" | "erlang" | "cotton-bureau" | "dashcube" | "42-group" | "stack-exchange" | "elementor" | "square-pied-piper" | "creative-commons-nd" | "palfed" | "superpowers" | "resolving" | "xbox" | "searchengin" | "tiktok" | "square-facebook" | "renren" | "linux" | "glide" | "linkedin" | "hubspot" | "deploydog" | "twitch" | "ravelry" | "mixer" | "square-lastfm" | "vimeo" | "mendeley" | "uniregistry" | "figma" | "creative-commons-remix" | "cc-amazon-pay" | "dropbox" | "instagram" | "cmplid" | "facebook" | "gripfire" | "jedi-order" | "uikit" | "fort-awesome-alt" | "phabricator" | "ussunnah" | "earlybirds" | "trade-federation" | "autoprefixer" | "whatsapp" | "slideshare" | "google-play" | "viadeo" | "line" | "google-drive" | "servicestack" | "simplybuilt" | "bitbucket" | "imdb" | "deezer" | "raspberry-pi" | "jira" | "docker" | "screenpal" | "bluetooth" | "gitter" | "d-and-d" | "microblog" | "cc-diners-club" | "gg-circle" | "pied-piper-hat" | "kickstarter-k" | "yandex" | "readme" | "html5" | "sellsy" | "sass" | "wirsindhandwerk" | "buromobelexperte" | "salesforce" | "octopus-deploy" | "medapps" | "ns8" | "pinterest-p" | "apper" | "fort-awesome" | "waze" | "cc-jcb" | "snapchat" | "fantasy-flight-games" | "rust" | "wix" | "square-behance" | "supple" | "rebel" | "css3" | "staylinked" | "kaggle" | "space-awesome" | "deviantart" | "cpanel" | "goodreads-g" | "square-git" | "square-tumblr" | "trello" | "creative-commons-nc-jp" | "get-pocket" | "perbyte" | "grunt" | "weebly" | "connectdevelop" | "leanpub" | "black-tie" | "themeco" | "python" | "android" | "bots" | "free-code-camp" | "hornbill" | "js" | "ideal" | "git" | "dev" | "sketch" | "yandex-international" | "cc-amex" | "uber" | "github" | "php" | "alipay" | "youtube" | "skyatlas" | "firefox-browser" | "replyd" | "suse" | "jenkins" | "twitter" | "rockrms" | "pinterest" | "buffer" | "npm" | "yammer" | "btc" | "dribbble" | "stumbleupon-circle" | "internet-explorer" | "stubber" | "telegram" | "old-republic" | "odysee" | "square-whatsapp" | "node-js" | "edge-legacy" | "slack" | "medrt" | "usb" | "tumblr" | "vaadin" | "quora" | "reacteurope" | "medium" | "amilia" | "mixcloud" | "flipboard" | "viacoin" | "critical-role" | "sitrox" | "discourse" | "joomla" | "mastodon" | "airbnb" | "wolf-pack-battalion" | "buy-n-large" | "gulp" | "creative-commons-sampling-plus" | "strava" | "ember" | "canadian-maple-leaf" | "teamspeak" | "pushed" | "wordpress-simple" | "nutritionix" | "wodu" | "google-pay" | "intercom" | "zhihu" | "korvue" | "pix" | "steam-symbol";
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from "./Icon";
2
+ export * from "./icons";
@@ -0,0 +1,2 @@
1
+ export * from "./Icon";
2
+ export * from "./icons";
@@ -0,0 +1,12 @@
1
+ export * from "./dialog";
2
+ export * from "./drag-handler";
3
+ export * from "./drop-target";
4
+ export * from "./icon";
5
+ export * from "./markdown";
6
+ export * from "./markdown-editor";
7
+ export * from "./menu";
8
+ export * from "./pagination";
9
+ export * from "./table";
10
+ export * from "./toast";
11
+ export * from "./tooltip";
12
+ export * from "./tree";
@@ -0,0 +1,20 @@
1
+ // export * from "./accordion";
2
+ // export * from "./data-grid";
3
+ // export * from "./data-table";
4
+ export * from "./dialog";
5
+ // export * from "./drawer";
6
+ export * from "./drag-handler";
7
+ export * from "./drop-target";
8
+ // export * from "./form";
9
+ export * from "./icon";
10
+ export * from "./markdown";
11
+ export * from "./markdown-editor";
12
+ export * from "./menu";
13
+ // export * from "./modal";
14
+ export * from "./pagination";
15
+ // export * from "./popover";
16
+ // export * from "./reorderable-list";
17
+ export * from "./table";
18
+ export * from "./toast";
19
+ export * from "./tooltip";
20
+ export * from "./tree";
@@ -0,0 +1,34 @@
1
+ import m from "mithril";
2
+ import { marked } from "marked";
3
+ /**
4
+ * Default options for the markdown parser
5
+ *
6
+ * @see https://marked.js.org/using_advanced#options
7
+ */
8
+ export declare const MARKDOWN_DEFAULT_OPTIONS: marked.MarkedOptions;
9
+ /**
10
+ * Render a markdown string.
11
+ *
12
+ * Either provide the markdown string as an attr, or in the first child.
13
+ *
14
+ * Returned in a div with the `markdown` class.
15
+ */
16
+ export declare const Markdown: m.Component<{
17
+ /** The markdown content to parse */
18
+ markdown?: string;
19
+ /** Options for parseing the markdown */
20
+ markedOptions?: marked.MarkedOptions;
21
+ /** Optionally do not sanitise the resulting string */
22
+ unsanitised?: boolean;
23
+ /** Highlight syntax */
24
+ highlight?: boolean;
25
+ /**
26
+ * Wrap all the given "markdown" in triple-backticks with the given language string and enable highlighting
27
+ * @example "typescript"
28
+ */
29
+ highlightAllAs?: string;
30
+ /** CSS classes to apply to the container div */
31
+ class?: string;
32
+ /** CSS styles to apply to the container div */
33
+ style?: string;
34
+ }>;
@@ -0,0 +1,55 @@
1
+ import m from "mithril";
2
+ import { marked } from "marked";
3
+ import DOMPurify from 'dompurify';
4
+ // import hljs from "highlight.js/lib/common";
5
+ /**
6
+ * Default options for the markdown parser
7
+ *
8
+ * @see https://marked.js.org/using_advanced#options
9
+ */
10
+ export const MARKDOWN_DEFAULT_OPTIONS = {
11
+ smartLists: true,
12
+ headerIds: true,
13
+ };
14
+ /**
15
+ * Render a markdown string.
16
+ *
17
+ * Either provide the markdown string as an attr, or in the first child.
18
+ *
19
+ * Returned in a div with the `markdown` class.
20
+ */
21
+ export const Markdown = {
22
+ oncreate({ attrs }) {
23
+ var _a;
24
+ if (attrs.highlight === true || Boolean(attrs.highlightAllAs)) {
25
+ // console.log("highlighting...");
26
+ (_a = window.hljs) === null || _a === void 0 ? void 0 : _a.highlightAll();
27
+ // hljs.highlightAll();
28
+ }
29
+ },
30
+ // onupdate({ attrs }) {
31
+ // if (attrs.highlight === true) {
32
+ // // console.log("highlighting...");
33
+ // hljs.highlightAll();
34
+ // }
35
+ // },
36
+ view({ attrs, children }) {
37
+ var _a, _b, _c, _d, _e, _f;
38
+ let markdown = (_c = (_b = (_a = attrs.markdown) !== null && _a !== void 0 ? _a : (typeof children === "string" ? children : undefined)) !== null && _b !== void 0 ? _b : (children instanceof Array && children.length > 0 && typeof children[0] === "string" ? children[0] : undefined)) !== null && _c !== void 0 ? _c : "";
39
+ if (attrs.highlightAllAs) {
40
+ markdown = "```" + attrs.highlightAllAs + "\n" + markdown + "\n" + "```";
41
+ }
42
+ const parsed = marked.parse(markdown, (_d = attrs.markedOptions) !== null && _d !== void 0 ? _d : MARKDOWN_DEFAULT_OPTIONS);
43
+ const sanitised = attrs.unsanitised === true ? parsed : DOMPurify.sanitize(parsed);
44
+ const result = sanitised;
45
+ // const result = attrs.highlight === true
46
+ // ? hljs.highlightAuto(sanitised).value
47
+ // : sanitised;
48
+ return m("", {
49
+ class: `markdown ${(_e = attrs.class) !== null && _e !== void 0 ? _e : ""}`,
50
+ style: `${(_f = attrs.style) !== null && _f !== void 0 ? _f : ""}`,
51
+ }, [
52
+ m.trust(result),
53
+ ]);
54
+ }
55
+ };
@@ -0,0 +1 @@
1
+ export * from "./Markdown";
@@ -0,0 +1 @@
1
+ export * from "./Markdown";
@@ -0,0 +1,21 @@
1
+ import m from "mithril";
2
+ import { MarkdownEditorState } from "./markdown-editor.state";
3
+ export declare const MarkdownEditor: m.Component<{
4
+ /** The current markdown content as a string */
5
+ markdown: string;
6
+ /** Function called whenever the markdown string is edited */
7
+ onEdit: (markdown: string) => any;
8
+ /**
9
+ * Attempt to highlight syntax of code blocks
10
+ * @default false
11
+ */
12
+ highlight?: boolean;
13
+ /** @default true */
14
+ enableShortcuts?: boolean;
15
+ /** Function called on licking the help button. The button is hidden if the function is undefined. */
16
+ onHelp?: () => any;
17
+ class?: string;
18
+ style?: string;
19
+ }, {
20
+ state: MarkdownEditorState;
21
+ }>;
@@ -0,0 +1,181 @@
1
+ import m, { redraw } from "mithril";
2
+ import { Icon } from "../icon/Icon";
3
+ import { Markdown } from "../markdown/Markdown";
4
+ import { MenuButton, menuMgr } from "../menu";
5
+ import { MarkdownEditorState } from "./markdown-editor.state";
6
+ export const MarkdownEditor = {
7
+ oninit({ attrs }) {
8
+ this.state = new MarkdownEditorState(attrs.onEdit);
9
+ },
10
+ onremove() {
11
+ this.state.destroy();
12
+ },
13
+ onupdate({ attrs, dom }) {
14
+ if (this.state.isEditing && !this.state.editorContainerEl) {
15
+ this.state.editorContainerEl = [...dom.getElementsByClassName("editor-container")].at(0);
16
+ }
17
+ if (this.state.isEditing && !this.state.editorEl) {
18
+ this.state.editorEl = [...dom.getElementsByTagName("textarea")].at(0);
19
+ }
20
+ if (this.state.isEditing && !this.state.isEditingPrevious) {
21
+ const editorEl = [...dom.getElementsByTagName("textarea")].at(0);
22
+ editorEl === null || editorEl === void 0 ? void 0 : editorEl.focus();
23
+ editorEl === null || editorEl === void 0 ? void 0 : editorEl.setSelectionRange(0, 0);
24
+ if (editorEl)
25
+ this.state.editorEl = editorEl;
26
+ this.state.editorValue = attrs.markdown;
27
+ this.state.editValue = attrs.onEdit;
28
+ this.state.setSelection(0, 0);
29
+ setTimeout(() => {
30
+ redraw();
31
+ }, 1);
32
+ }
33
+ if (this.state.requestSelection && this.state.editorEl) {
34
+ this.state.editorEl.setSelectionRange(this.state.requestSelection.start, this.state.requestSelection.end);
35
+ this.state.requestSelection = undefined;
36
+ redraw();
37
+ }
38
+ this.state.isEditingPrevious = this.state.isEditing;
39
+ },
40
+ view({ attrs }) {
41
+ return m(".mico-markdown-editor", {
42
+ class: attrs.class,
43
+ style: attrs.style,
44
+ }, [
45
+ (!this.state.isEditing) ? [
46
+ m(".render-container", {
47
+ tabindex: 0,
48
+ onclick: () => {
49
+ this.state.isEditing = true;
50
+ },
51
+ }, [
52
+ m(Markdown, {
53
+ highlight: attrs.highlight,
54
+ markdown: attrs.markdown,
55
+ }),
56
+ ]),
57
+ ] : [
58
+ m(".editor-container", [
59
+ // Editor buttons
60
+ m(".editor-buttons", [
61
+ m(".editor-button-group", [
62
+ m("button", {
63
+ title: "Ctrl+Shift+H",
64
+ onclick: () => this.state.applyHeading(),
65
+ }, m(Icon, { fas: "heading" })),
66
+ m("button", {
67
+ onclick: (ev) => menuMgr.show(ev, [
68
+ m(MenuButton, { label: "Heading 1", onclick: () => this.state.applyHeading(1) }),
69
+ m(MenuButton, { label: "Heading 2", onclick: () => this.state.applyHeading(2) }),
70
+ m(MenuButton, { label: "Heading 3", onclick: () => this.state.applyHeading(3) }),
71
+ m(MenuButton, { label: "Heading 4", onclick: () => this.state.applyHeading(4) }),
72
+ ], {
73
+ noFlipH: true,
74
+ noFlipV: true,
75
+ }),
76
+ }, m(Icon, { fas: "caret-down" })),
77
+ ]),
78
+ m(".editor-button-group", [
79
+ m("button", {
80
+ title: "Ctrl+Shift+B",
81
+ onclick: () => this.state.applyBold(),
82
+ }, m(Icon, { fas: "bold" })),
83
+ m("button", {
84
+ title: "Ctrl+Shift+I",
85
+ onclick: () => this.state.applyItalic(),
86
+ }, m(Icon, { fas: "italic" })),
87
+ m("button", {
88
+ title: "Ctrl+Shift+C",
89
+ onclick: () => this.state.applyCode(),
90
+ }, m(Icon, { fas: "code" })),
91
+ m("button", {
92
+ title: "Ctrl+Shift+S",
93
+ onclick: () => this.state.applyStrikethrough(),
94
+ }, m(Icon, { fas: "strikethrough" })),
95
+ ]),
96
+ m(".editor-button-group", [
97
+ m("button", {
98
+ title: "Ctrl+Shift+U",
99
+ onclick: () => this.state.applyUnorderedList(),
100
+ }, m(Icon, { fas: "list-ul" })),
101
+ m("button", {
102
+ title: "Ctrl+Shift+O",
103
+ onclick: () => this.state.applyOrderedList(),
104
+ }, m(Icon, { fas: "list-ol" })),
105
+ m("button", {
106
+ title: "Ctrl+Shift+L",
107
+ onclick: () => this.state.applyLink(),
108
+ }, m(Icon, { fas: "link" })),
109
+ ]),
110
+ attrs.onHelp !== undefined ? m(".editor-button-group", [
111
+ m("button", {
112
+ onclick: () => { var _a; return (_a = attrs.onHelp) === null || _a === void 0 ? void 0 : _a.call(attrs); },
113
+ }, m(Icon, { far: "circle-question" })),
114
+ ]) : [],
115
+ ]),
116
+ // Editor content
117
+ m("textarea.editor-textarea", {
118
+ rows: this.state.editorValue.split("\n").length + 1,
119
+ value: this.state.editorValue,
120
+ oninput: (e) => {
121
+ this.state.editorValue = e.target.value;
122
+ this.state.editValue(e.target.value);
123
+ },
124
+ onmousemove: (ev) => {
125
+ const textareaEl = ev.currentTarget;
126
+ this.state.setSelection(textareaEl.selectionStart, textareaEl.selectionEnd);
127
+ },
128
+ onkeyup: (ev) => {
129
+ const textareaEl = ev.currentTarget;
130
+ this.state.setSelection(textareaEl.selectionStart, textareaEl.selectionEnd);
131
+ },
132
+ onkeydown: (ev) => {
133
+ const textareaEl = ev.currentTarget;
134
+ this.state.setSelection(textareaEl.selectionStart, textareaEl.selectionEnd);
135
+ if (ev.code === "Escape")
136
+ this.state.isEditing = false;
137
+ if (ev.ctrlKey && ev.shiftKey) {
138
+ if (ev.key.toLowerCase() === "h") {
139
+ this.state.applyHeading();
140
+ ev.preventDefault();
141
+ }
142
+ if (ev.key.toLowerCase() === "b") {
143
+ this.state.applyBold();
144
+ ev.preventDefault();
145
+ }
146
+ if (ev.key.toLowerCase() === "i") {
147
+ this.state.applyItalic();
148
+ ev.preventDefault();
149
+ }
150
+ if (ev.key.toLowerCase() === "c") {
151
+ this.state.applyCode();
152
+ ev.preventDefault();
153
+ }
154
+ if (ev.key.toLowerCase() === "s") {
155
+ this.state.applyStrikethrough();
156
+ ev.preventDefault();
157
+ }
158
+ if (ev.key.toLowerCase() === "u") {
159
+ this.state.applyUnorderedList();
160
+ ev.preventDefault();
161
+ }
162
+ if (ev.key.toLowerCase() === "o") {
163
+ this.state.applyOrderedList();
164
+ ev.preventDefault();
165
+ }
166
+ if (ev.key.toLowerCase() === "l") {
167
+ this.state.applyLink();
168
+ ev.preventDefault();
169
+ }
170
+ }
171
+ if (ev.key === "Tab") {
172
+ this.state.applyIndent(ev.shiftKey);
173
+ ev.preventDefault();
174
+ }
175
+ },
176
+ }),
177
+ ]),
178
+ ],
179
+ ]);
180
+ }
181
+ };
@@ -0,0 +1 @@
1
+ export * from "./MarkdownEditor";
@@ -0,0 +1 @@
1
+ export * from "./MarkdownEditor";
@@ -0,0 +1,31 @@
1
+ import { Subscription } from "rxjs";
2
+ export declare class MarkdownEditorState {
3
+ subs: Subscription;
4
+ isEditing: boolean;
5
+ isEditingPrevious: boolean;
6
+ editorValue: string;
7
+ editorEl: HTMLTextAreaElement | undefined;
8
+ editorContainerEl: HTMLDivElement | undefined;
9
+ editValue: (markdown: string) => any;
10
+ selectionStart: number;
11
+ selectionEnd: number;
12
+ requestSelection: {
13
+ start: number;
14
+ end: number;
15
+ } | undefined;
16
+ constructor(editValue: (markdown: string) => any);
17
+ private selectedText;
18
+ private findSelectedLines;
19
+ private findSelectedWord;
20
+ destroy(): void;
21
+ setSelection(start: number, end: number): void;
22
+ applyHeading(level?: number): void;
23
+ applyBold(): void;
24
+ applyItalic(): void;
25
+ applyCode(): void;
26
+ applyStrikethrough(): void;
27
+ applyUnorderedList(): void;
28
+ applyOrderedList(): void;
29
+ applyLink(): void;
30
+ applyIndent(backward?: boolean): void;
31
+ }