@darajs/ui-components 0.4.8

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 (278) hide show
  1. package/LICENSE +201 -0
  2. package/dist/accordion/accordion-item.d.ts +24 -0
  3. package/dist/accordion/accordion-item.d.ts.map +1 -0
  4. package/dist/accordion/accordion-item.js +92 -0
  5. package/dist/accordion/accordion-item.js.map +1 -0
  6. package/dist/accordion/accordion.d.ts +32 -0
  7. package/dist/accordion/accordion.d.ts.map +1 -0
  8. package/dist/accordion/accordion.js +87 -0
  9. package/dist/accordion/accordion.js.map +1 -0
  10. package/dist/badge/badge.d.ts +20 -0
  11. package/dist/badge/badge.d.ts.map +1 -0
  12. package/dist/badge/badge.js +42 -0
  13. package/dist/badge/badge.js.map +1 -0
  14. package/dist/button/button.d.ts +35 -0
  15. package/dist/button/button.d.ts.map +1 -0
  16. package/dist/button/button.js +169 -0
  17. package/dist/button/button.js.map +1 -0
  18. package/dist/button-bar/button-bar.d.ts +19 -0
  19. package/dist/button-bar/button-bar.d.ts.map +1 -0
  20. package/dist/button-bar/button-bar.js +124 -0
  21. package/dist/button-bar/button-bar.js.map +1 -0
  22. package/dist/carousel/carousel.d.ts +23 -0
  23. package/dist/carousel/carousel.d.ts.map +1 -0
  24. package/dist/carousel/carousel.js +178 -0
  25. package/dist/carousel/carousel.js.map +1 -0
  26. package/dist/chat/chat.d.ts +28 -0
  27. package/dist/chat/chat.d.ts.map +1 -0
  28. package/dist/chat/chat.js +182 -0
  29. package/dist/chat/chat.js.map +1 -0
  30. package/dist/chat/message.d.ts +28 -0
  31. package/dist/chat/message.d.ts.map +1 -0
  32. package/dist/chat/message.js +220 -0
  33. package/dist/chat/message.js.map +1 -0
  34. package/dist/checkbox/checkbox-group.d.ts +35 -0
  35. package/dist/checkbox/checkbox-group.d.ts.map +1 -0
  36. package/dist/checkbox/checkbox-group.js +116 -0
  37. package/dist/checkbox/checkbox-group.js.map +1 -0
  38. package/dist/checkbox/checkbox.d.ts +27 -0
  39. package/dist/checkbox/checkbox.d.ts.map +1 -0
  40. package/dist/checkbox/checkbox.js +164 -0
  41. package/dist/checkbox/checkbox.js.map +1 -0
  42. package/dist/checkbox/tri-state-checkbox.d.ts +22 -0
  43. package/dist/checkbox/tri-state-checkbox.d.ts.map +1 -0
  44. package/dist/checkbox/tri-state-checkbox.js +87 -0
  45. package/dist/checkbox/tri-state-checkbox.js.map +1 -0
  46. package/dist/code-viewer/code-viewer.d.ts +31 -0
  47. package/dist/code-viewer/code-viewer.d.ts.map +1 -0
  48. package/dist/code-viewer/code-viewer.js +115 -0
  49. package/dist/code-viewer/code-viewer.js.map +1 -0
  50. package/dist/combo-box/combo-box.d.ts +39 -0
  51. package/dist/combo-box/combo-box.d.ts.map +1 -0
  52. package/dist/combo-box/combo-box.js +176 -0
  53. package/dist/combo-box/combo-box.js.map +1 -0
  54. package/dist/component-select-list/component-select-list.d.ts +27 -0
  55. package/dist/component-select-list/component-select-list.d.ts.map +1 -0
  56. package/dist/component-select-list/component-select-list.js +131 -0
  57. package/dist/component-select-list/component-select-list.js.map +1 -0
  58. package/dist/constants.d.ts +33 -0
  59. package/dist/constants.d.ts.map +1 -0
  60. package/dist/constants.js +47 -0
  61. package/dist/constants.js.map +1 -0
  62. package/dist/context-menu/context-menu.d.ts +24 -0
  63. package/dist/context-menu/context-menu.d.ts.map +1 -0
  64. package/dist/context-menu/context-menu.js +116 -0
  65. package/dist/context-menu/context-menu.js.map +1 -0
  66. package/dist/datepicker/datepicker-select.d.ts +48 -0
  67. package/dist/datepicker/datepicker-select.d.ts.map +1 -0
  68. package/dist/datepicker/datepicker-select.js +219 -0
  69. package/dist/datepicker/datepicker-select.js.map +1 -0
  70. package/dist/datepicker/datepicker.d.ts +56 -0
  71. package/dist/datepicker/datepicker.d.ts.map +1 -0
  72. package/dist/datepicker/datepicker.js +669 -0
  73. package/dist/datepicker/datepicker.js.map +1 -0
  74. package/dist/dropzone/dropzone.d.ts +21 -0
  75. package/dist/dropzone/dropzone.d.ts.map +1 -0
  76. package/dist/dropzone/dropzone.js +80 -0
  77. package/dist/dropzone/dropzone.js.map +1 -0
  78. package/dist/error-boundary/error-boundary.d.ts +33 -0
  79. package/dist/error-boundary/error-boundary.d.ts.map +1 -0
  80. package/dist/error-boundary/error-boundary.js +72 -0
  81. package/dist/error-boundary/error-boundary.js.map +1 -0
  82. package/dist/filter/categorical-filter.d.ts +26 -0
  83. package/dist/filter/categorical-filter.d.ts.map +1 -0
  84. package/dist/filter/categorical-filter.js +153 -0
  85. package/dist/filter/categorical-filter.js.map +1 -0
  86. package/dist/filter/datetime-filter.d.ts +28 -0
  87. package/dist/filter/datetime-filter.d.ts.map +1 -0
  88. package/dist/filter/datetime-filter.js +174 -0
  89. package/dist/filter/datetime-filter.js.map +1 -0
  90. package/dist/filter/numeric-filter.d.ts +24 -0
  91. package/dist/filter/numeric-filter.d.ts.map +1 -0
  92. package/dist/filter/numeric-filter.js +148 -0
  93. package/dist/filter/numeric-filter.js.map +1 -0
  94. package/dist/hierarchy-selector/hierarchy-selector.d.ts +31 -0
  95. package/dist/hierarchy-selector/hierarchy-selector.d.ts.map +1 -0
  96. package/dist/hierarchy-selector/hierarchy-selector.js +65 -0
  97. package/dist/hierarchy-selector/hierarchy-selector.js.map +1 -0
  98. package/dist/hierarchy-selector/node/branch.d.ts +47 -0
  99. package/dist/hierarchy-selector/node/branch.d.ts.map +1 -0
  100. package/dist/hierarchy-selector/node/branch.js +132 -0
  101. package/dist/hierarchy-selector/node/branch.js.map +1 -0
  102. package/dist/index.d.ts +57 -0
  103. package/dist/index.d.ts.map +1 -0
  104. package/dist/index.js +55 -0
  105. package/dist/index.js.map +1 -0
  106. package/dist/input/input.d.ts +44 -0
  107. package/dist/input/input.d.ts.map +1 -0
  108. package/dist/input/input.js +91 -0
  109. package/dist/input/input.js.map +1 -0
  110. package/dist/jest-setup.d.ts +18 -0
  111. package/dist/jest-setup.d.ts.map +1 -0
  112. package/dist/jest-setup.js +18 -0
  113. package/dist/jest-setup.js.map +1 -0
  114. package/dist/markdown/markdown.d.ts +18 -0
  115. package/dist/markdown/markdown.d.ts.map +1 -0
  116. package/dist/markdown/markdown.js +356 -0
  117. package/dist/markdown/markdown.js.map +1 -0
  118. package/dist/modal/modal.d.ts +37 -0
  119. package/dist/modal/modal.d.ts.map +1 -0
  120. package/dist/modal/modal.js +121 -0
  121. package/dist/modal/modal.js.map +1 -0
  122. package/dist/multiselect/multiselect.d.ts +31 -0
  123. package/dist/multiselect/multiselect.d.ts.map +1 -0
  124. package/dist/multiselect/multiselect.js +231 -0
  125. package/dist/multiselect/multiselect.js.map +1 -0
  126. package/dist/numeric-input/input-stepper.d.ts +33 -0
  127. package/dist/numeric-input/input-stepper.d.ts.map +1 -0
  128. package/dist/numeric-input/input-stepper.js +54 -0
  129. package/dist/numeric-input/input-stepper.js.map +1 -0
  130. package/dist/numeric-input/numeric-input.d.ts +42 -0
  131. package/dist/numeric-input/numeric-input.d.ts.map +1 -0
  132. package/dist/numeric-input/numeric-input.js +234 -0
  133. package/dist/numeric-input/numeric-input.js.map +1 -0
  134. package/dist/progress-bar/progress-bar.d.ts +23 -0
  135. package/dist/progress-bar/progress-bar.d.ts.map +1 -0
  136. package/dist/progress-bar/progress-bar.js +90 -0
  137. package/dist/progress-bar/progress-bar.js.map +1 -0
  138. package/dist/radio/radio-group.d.ts +19 -0
  139. package/dist/radio/radio-group.d.ts.map +1 -0
  140. package/dist/radio/radio-group.js +160 -0
  141. package/dist/radio/radio-group.js.map +1 -0
  142. package/dist/search-bar/search-bar.d.ts +34 -0
  143. package/dist/search-bar/search-bar.d.ts.map +1 -0
  144. package/dist/search-bar/search-bar.js +39 -0
  145. package/dist/search-bar/search-bar.js.map +1 -0
  146. package/dist/sectioned-list/sectioned-list.d.ts +29 -0
  147. package/dist/sectioned-list/sectioned-list.d.ts.map +1 -0
  148. package/dist/sectioned-list/sectioned-list.js +205 -0
  149. package/dist/sectioned-list/sectioned-list.js.map +1 -0
  150. package/dist/select/select.d.ts +54 -0
  151. package/dist/select/select.d.ts.map +1 -0
  152. package/dist/select/select.js +143 -0
  153. package/dist/select/select.js.map +1 -0
  154. package/dist/shared/chevron-button.d.ts +13 -0
  155. package/dist/shared/chevron-button.d.ts.map +1 -0
  156. package/dist/shared/chevron-button.js +35 -0
  157. package/dist/shared/chevron-button.js.map +1 -0
  158. package/dist/shared/dropdown-list.d.ts +34 -0
  159. package/dist/shared/dropdown-list.d.ts.map +1 -0
  160. package/dist/shared/dropdown-list.js +33 -0
  161. package/dist/shared/dropdown-list.js.map +1 -0
  162. package/dist/shared/list-item.d.ts +35 -0
  163. package/dist/shared/list-item.d.ts.map +1 -0
  164. package/dist/shared/list-item.js +69 -0
  165. package/dist/shared/list-item.js.map +1 -0
  166. package/dist/slider/slider-inputs.d.ts +36 -0
  167. package/dist/slider/slider-inputs.d.ts.map +1 -0
  168. package/dist/slider/slider-inputs.js +88 -0
  169. package/dist/slider/slider-inputs.js.map +1 -0
  170. package/dist/slider/slider.d.ts +53 -0
  171. package/dist/slider/slider.d.ts.map +1 -0
  172. package/dist/slider/slider.js +273 -0
  173. package/dist/slider/slider.js.map +1 -0
  174. package/dist/spinner/spinner.d.ts +19 -0
  175. package/dist/spinner/spinner.d.ts.map +1 -0
  176. package/dist/spinner/spinner.js +144 -0
  177. package/dist/spinner/spinner.js.map +1 -0
  178. package/dist/switch/sun-icon.d.ts +3 -0
  179. package/dist/switch/sun-icon.d.ts.map +1 -0
  180. package/dist/switch/sun-icon.js +24 -0
  181. package/dist/switch/sun-icon.js.map +1 -0
  182. package/dist/switch/switch.d.ts +16 -0
  183. package/dist/switch/switch.d.ts.map +1 -0
  184. package/dist/switch/switch.js +92 -0
  185. package/dist/switch/switch.js.map +1 -0
  186. package/dist/table/cells/action-cell.d.ts +34 -0
  187. package/dist/table/cells/action-cell.d.ts.map +1 -0
  188. package/dist/table/cells/action-cell.js +68 -0
  189. package/dist/table/cells/action-cell.js.map +1 -0
  190. package/dist/table/cells/datetime-cell.d.ts +12 -0
  191. package/dist/table/cells/datetime-cell.d.ts.map +1 -0
  192. package/dist/table/cells/datetime-cell.js +36 -0
  193. package/dist/table/cells/datetime-cell.js.map +1 -0
  194. package/dist/table/cells/edit-cell-utils.d.ts +32 -0
  195. package/dist/table/cells/edit-cell-utils.d.ts.map +1 -0
  196. package/dist/table/cells/edit-cell-utils.js +2 -0
  197. package/dist/table/cells/edit-cell-utils.js.map +1 -0
  198. package/dist/table/cells/edit-input-cell.d.ts +10 -0
  199. package/dist/table/cells/edit-input-cell.d.ts.map +1 -0
  200. package/dist/table/cells/edit-input-cell.js +61 -0
  201. package/dist/table/cells/edit-input-cell.js.map +1 -0
  202. package/dist/table/cells/edit-select-cell.d.ts +12 -0
  203. package/dist/table/cells/edit-select-cell.d.ts.map +1 -0
  204. package/dist/table/cells/edit-select-cell.js +55 -0
  205. package/dist/table/cells/edit-select-cell.js.map +1 -0
  206. package/dist/table/filters.d.ts +46 -0
  207. package/dist/table/filters.d.ts.map +1 -0
  208. package/dist/table/filters.js +226 -0
  209. package/dist/table/filters.js.map +1 -0
  210. package/dist/table/headers/select-header.d.ts +14 -0
  211. package/dist/table/headers/select-header.d.ts.map +1 -0
  212. package/dist/table/headers/select-header.js +41 -0
  213. package/dist/table/headers/select-header.js.map +1 -0
  214. package/dist/table/options-menu.d.ts +25 -0
  215. package/dist/table/options-menu.d.ts.map +1 -0
  216. package/dist/table/options-menu.js +123 -0
  217. package/dist/table/options-menu.js.map +1 -0
  218. package/dist/table/render-row.d.ts +25 -0
  219. package/dist/table/render-row.d.ts.map +1 -0
  220. package/dist/table/render-row.js +163 -0
  221. package/dist/table/render-row.js.map +1 -0
  222. package/dist/table/table.d.ts +95 -0
  223. package/dist/table/table.d.ts.map +1 -0
  224. package/dist/table/table.js +422 -0
  225. package/dist/table/table.js.map +1 -0
  226. package/dist/table/types.d.ts +30 -0
  227. package/dist/table/types.d.ts.map +1 -0
  228. package/dist/table/types.js +2 -0
  229. package/dist/table/types.js.map +1 -0
  230. package/dist/tabs/tabs.d.ts +22 -0
  231. package/dist/tabs/tabs.d.ts.map +1 -0
  232. package/dist/tabs/tabs.js +91 -0
  233. package/dist/tabs/tabs.js.map +1 -0
  234. package/dist/textarea/textarea.d.ts +47 -0
  235. package/dist/textarea/textarea.d.ts.map +1 -0
  236. package/dist/textarea/textarea.js +121 -0
  237. package/dist/textarea/textarea.js.map +1 -0
  238. package/dist/tooltip/tooltip.d.ts +48 -0
  239. package/dist/tooltip/tooltip.d.ts.map +1 -0
  240. package/dist/tooltip/tooltip.js +116 -0
  241. package/dist/tooltip/tooltip.js.map +1 -0
  242. package/dist/types.d.ts +94 -0
  243. package/dist/types.d.ts.map +1 -0
  244. package/dist/types.js +2 -0
  245. package/dist/types.js.map +1 -0
  246. package/dist/utils/chevron.d.ts +34 -0
  247. package/dist/utils/chevron.d.ts.map +1 -0
  248. package/dist/utils/chevron.js +38 -0
  249. package/dist/utils/chevron.js.map +1 -0
  250. package/dist/utils/index.d.ts +22 -0
  251. package/dist/utils/index.d.ts.map +1 -0
  252. package/dist/utils/index.js +22 -0
  253. package/dist/utils/index.js.map +1 -0
  254. package/dist/utils/label.d.ts +3 -0
  255. package/dist/utils/label.d.ts.map +1 -0
  256. package/dist/utils/label.js +24 -0
  257. package/dist/utils/label.js.map +1 -0
  258. package/dist/utils/list-styles.d.ts +8 -0
  259. package/dist/utils/list-styles.d.ts.map +1 -0
  260. package/dist/utils/list-styles.js +43 -0
  261. package/dist/utils/list-styles.js.map +1 -0
  262. package/dist/utils/match-width-to-reference.d.ts +24 -0
  263. package/dist/utils/match-width-to-reference.d.ts.map +1 -0
  264. package/dist/utils/match-width-to-reference.js +30 -0
  265. package/dist/utils/match-width-to-reference.js.map +1 -0
  266. package/dist/utils/syncKbdHighlightIdx.d.ts +23 -0
  267. package/dist/utils/syncKbdHighlightIdx.d.ts.map +1 -0
  268. package/dist/utils/syncKbdHighlightIdx.js +41 -0
  269. package/dist/utils/syncKbdHighlightIdx.js.map +1 -0
  270. package/dist/utils/use-infinite-loader.d.ts +32 -0
  271. package/dist/utils/use-infinite-loader.d.ts.map +1 -0
  272. package/dist/utils/use-infinite-loader.js +119 -0
  273. package/dist/utils/use-infinite-loader.js.map +1 -0
  274. package/dist/utils/use-on-click-outside.d.ts +3 -0
  275. package/dist/utils/use-on-click-outside.d.ts.map +1 -0
  276. package/dist/utils/use-on-click-outside.js +36 -0
  277. package/dist/utils/use-on-click-outside.js.map +1 -0
  278. package/package.json +106 -0
@@ -0,0 +1,356 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ import * as React from 'react';
14
+ import ReactMarkdown from 'react-markdown';
15
+ import remarkGfm from 'remark-gfm';
16
+ import styled, { useTheme } from '@darajs/styled-components';
17
+ import CodeViewer, { CodeComponentThemes } from '../code-viewer/code-viewer';
18
+ const CustomMarkdownWrapper = styled.div `
19
+ /*
20
+ * Apply some base styles to the markdown content so it looks good by default
21
+ * Inspired by https://tailwindcss.com/docs/typography-plugin
22
+ */
23
+ code {
24
+ font-size: 0.9rem;
25
+ }
26
+
27
+ p {
28
+ margin-top: 1.25rem;
29
+ margin-bottom: 1.25rem;
30
+ line-height: 1.5rem;
31
+
32
+ code {
33
+ padding: 0.1rem;
34
+ background-color: ${(props) => props.theme.colors.grey1};
35
+ border: 1px solid ${(props) => props.theme.colors.grey3};
36
+ border-radius: 0.25rem;
37
+ }
38
+ }
39
+
40
+ p,
41
+ tr {
42
+ math {
43
+ padding: 0;
44
+ font-size: 1.25rem;
45
+ }
46
+ }
47
+
48
+ /* stylelint-disable-next-line */
49
+ math {
50
+ padding: 0.5rem;
51
+ font-size: 1.5rem;
52
+ }
53
+
54
+ a {
55
+ color: ${(props) => props.theme.colors.primary};
56
+ word-break: break-word;
57
+ }
58
+
59
+ blockquote {
60
+ quotes: '\\201C' '\\201D' '\\2018' '\\2019';
61
+
62
+ margin-top: 1.5rem;
63
+ margin-bottom: 1.5rem;
64
+ padding-left: 1rem;
65
+
66
+ font-weight: 500;
67
+ font-style: italic;
68
+ color: ${(props) => props.theme.colors.grey6};
69
+
70
+ border-left: 0.25rem solid ${(props) => props.theme.colors.grey3};
71
+
72
+ p:first-of-type::before {
73
+ content: open-quote;
74
+ }
75
+
76
+ p:last-of-type::after {
77
+ content: close-quote;
78
+ }
79
+ }
80
+
81
+ h1 {
82
+ margin-top: 2rem;
83
+ margin-bottom: 1rem;
84
+
85
+ font-size: 2.5rem;
86
+ font-weight: 800;
87
+ line-height: 1.1;
88
+ }
89
+
90
+ h2 {
91
+ margin-top: 2rem;
92
+ margin-bottom: 1rem;
93
+
94
+ font-size: 2rem;
95
+ font-weight: 800;
96
+ line-height: 1.3;
97
+ }
98
+
99
+ h3 {
100
+ margin-top: 1.6rem;
101
+ margin-bottom: 0.6rem;
102
+
103
+ font-size: 1.25rem;
104
+ font-weight: 800;
105
+ line-height: 1.25;
106
+ }
107
+
108
+ h4 {
109
+ margin-top: 1.5rem;
110
+ margin-bottom: 0.5rem;
111
+ line-height: 1.5;
112
+ }
113
+
114
+ img,
115
+ figure,
116
+ video {
117
+ margin-top: 1.5rem;
118
+ margin-bottom: 1.5rem;
119
+
120
+ * {
121
+ margin-top: 0;
122
+ margin-bottom: 0;
123
+ }
124
+ }
125
+
126
+ figcaption {
127
+ margin-top: 0.875rem;
128
+ font-size: 0.875rem;
129
+ line-height: 1.5rem;
130
+ color: ${(props) => props.theme.colors.grey5};
131
+ }
132
+
133
+ h2 code {
134
+ font-size: 0.875rem;
135
+ }
136
+
137
+ h3 code {
138
+ font-size: 0.9rem;
139
+ }
140
+
141
+ pre:first-child {
142
+ margin-top: 0;
143
+ }
144
+
145
+ pre:last-child {
146
+ margin-bottom: 0;
147
+ }
148
+
149
+ /* don't apply default styles if the pre block has the pretty code display */
150
+ /* stylelint-disable-next-line */
151
+ pre:not(.prism-code):not(:has(.prism-code)) {
152
+ overflow-x: auto;
153
+
154
+ margin-top: 1.7rem;
155
+ margin-bottom: 1.7rem;
156
+ padding: 0 0.5em;
157
+
158
+ font-size: 0.9rem;
159
+ line-height: 1.7;
160
+
161
+ background-color: ${(props) => props.theme.colors.blue2};
162
+ border: 1px solid ${(props) => props.theme.colors.blue3};
163
+ border-radius: 0.375rem;
164
+
165
+ div {
166
+ background-color: ${(props) => props.theme.colors.blue2} !important;
167
+
168
+ span {
169
+ background-color: ${(props) => props.theme.colors.blue2};
170
+ }
171
+ }
172
+ }
173
+
174
+ hr + *,
175
+ h2 + *,
176
+ h3 + *,
177
+ h4 + * {
178
+ margin-top: 0;
179
+ }
180
+
181
+ ol,
182
+ ul {
183
+ margin-top: 1.25rem;
184
+ margin-bottom: 1.25rem;
185
+ padding-left: 1.625rem;
186
+
187
+ li {
188
+ margin-top: 0.5rem;
189
+ margin-bottom: 0.5rem;
190
+ padding-left: 0.375rem;
191
+ line-height: 1.5rem;
192
+
193
+ code {
194
+ padding: 0.1em;
195
+ background-color: ${(props) => props.theme.colors.grey1};
196
+ border: 1px solid ${(props) => props.theme.colors.grey3};
197
+ border-radius: 0.25rem;
198
+ }
199
+
200
+ p {
201
+ margin-top: 0.75rem;
202
+ margin-bottom: 0.75rem;
203
+ }
204
+
205
+ *:first-child {
206
+ margin-top: 1.25rem;
207
+ }
208
+
209
+ *:last-child {
210
+ margin-bottom: 1.25rem;
211
+ }
212
+ }
213
+ }
214
+
215
+ ol > li::marker {
216
+ font-weight: 400;
217
+ color: ${(props) => props.theme.colors.text};
218
+ }
219
+
220
+ ul > li::marker {
221
+ color: ${(props) => props.theme.colors.grey4};
222
+ }
223
+
224
+ hr {
225
+ margin-top: 3rem;
226
+ margin-bottom: 3rem;
227
+ }
228
+
229
+ table {
230
+ table-layout: auto;
231
+ border-collapse: collapse;
232
+
233
+ width: 100%;
234
+ margin-top: 2rem;
235
+ margin-bottom: 2rem;
236
+
237
+ font-size: 0.875rem;
238
+ line-height: 1.7;
239
+
240
+ thead {
241
+ border-bottom: 1px solid ${(props) => props.theme.colors.grey3};
242
+
243
+ th {
244
+ padding-right: 0.5rem;
245
+ padding-bottom: 0.5rem;
246
+ padding-left: 0.5rem;
247
+
248
+ font-weight: 600;
249
+ text-align: start;
250
+ vertical-align: bottom;
251
+ }
252
+
253
+ th:first-child {
254
+ padding-left: 0;
255
+ }
256
+
257
+ th:last-child {
258
+ padding-right: 0;
259
+ }
260
+ }
261
+
262
+ tfoot {
263
+ border-top: 1px solid ${(props) => props.theme.colors.grey2};
264
+
265
+ td {
266
+ text-align: start;
267
+ vertical-align: top;
268
+ }
269
+ }
270
+
271
+ tbody {
272
+ tr {
273
+ border-bottom: 1px solid ${(props) => props.theme.colors.grey2};
274
+
275
+ &:last-child {
276
+ border-bottom: 0;
277
+ }
278
+ }
279
+
280
+ td {
281
+ padding: 0.5rem;
282
+ text-align: start;
283
+ vertical-align: baseline;
284
+
285
+ &:first-child {
286
+ padding-left: 0;
287
+ }
288
+
289
+ &:last-child {
290
+ padding-right: 0;
291
+ }
292
+ }
293
+ }
294
+ }
295
+
296
+ /* Remove top margin for first-child */
297
+ h1:first-child,
298
+ h2:first-child,
299
+ h3:first-child,
300
+ h4:first-child,
301
+ blockquote:first-child,
302
+ ol:first-child,
303
+ ul:first-child,
304
+ li:first-child,
305
+ p:first-child,
306
+ img:first-child,
307
+ figure:first-child,
308
+ video:first-child,
309
+ hr:first-child {
310
+ margin-top: 0;
311
+ }
312
+
313
+ /* Remove bottom margin for last-child */
314
+ h1:last-child,
315
+ h2:last-child,
316
+ h3:last-child,
317
+ h4:last-child,
318
+ blockquote:last-child,
319
+ ol:last-child,
320
+ ul:last-child,
321
+ li:last-child,
322
+ p:last-child,
323
+ img:last-child,
324
+ figure:last-child,
325
+ video:last-child,
326
+ hr:last-child {
327
+ margin-bottom: 0;
328
+ }
329
+ `;
330
+ function CodeDisplay(props) {
331
+ const theme = useTheme();
332
+ const { children } = props, rest = __rest(props, ["children"]);
333
+ const match = /language-(\w+)/.exec(props.className || '');
334
+ const parsed = React.useMemo(() => {
335
+ return String(children).trim().replace(/\n\n/g, '\n');
336
+ }, [children]);
337
+ // if the code block doesn't specify the language, e.g. ``` without lang or inline `code` block
338
+ if (!match) {
339
+ return _jsx("code", Object.assign({}, rest, { children: parsed }));
340
+ }
341
+ // assume language is supported - we could check for grammar support but if unsupported
342
+ // prism will just render without syntax highlighting which is fine
343
+ return (_jsx(CodeViewer, { value: parsed, language: match[1], style: { border: `1px solid ${theme.colors.grey2}`, borderRadius: '0.25rem' }, codeTheme:
344
+ // opposite theme
345
+ theme.themeType === 'dark' ? CodeComponentThemes.DARK : CodeComponentThemes.LIGHT }));
346
+ }
347
+ /**
348
+ * A component for rendering markdown
349
+ */
350
+ function Markdown(props) {
351
+ var _a;
352
+ const { markdown, className, style } = props, reactMarkdownProps = __rest(props, ["markdown", "className", "style"]);
353
+ return (_jsx(CustomMarkdownWrapper, { className: className, style: style, children: _jsx(ReactMarkdown, Object.assign({}, reactMarkdownProps, { components: Object.assign({ code: CodeDisplay }, reactMarkdownProps.components), remarkPlugins: (_a = reactMarkdownProps.remarkPlugins) !== null && _a !== void 0 ? _a : [remarkGfm], children: markdown })) }));
354
+ }
355
+ export default Markdown;
356
+ //# sourceMappingURL=markdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/markdown/markdown.tsx"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,aAAsC,MAAM,gBAAgB,CAAC;AACpE,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,UAAU,EAAE,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAa7E,MAAM,qBAAqB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;gCAgBR,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;gCACnC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;iBAoBlD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO;;;;;;;;;;;;;iBAarC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;;qCAEf,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA4DvD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BA+BxB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;4BACnC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;;;;gCAI/B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;;;oCAG/B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;oCA0BnC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;oCACnC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;;iBAqBtD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI;;;;iBAIlC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;uCAoBb,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;;;oCAsBtC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;;;;;;;;;;2CAU5B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwD7E,CAAC;AAEF,SAAS,WAAW,CAChB,KAA0F;IAE1F,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,EAAE,QAAQ,KAAc,KAAK,EAAd,IAAI,UAAK,KAAK,EAA7B,YAAqB,CAAQ,CAAC;IACpC,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAE3D,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAC9B,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,+FAA+F;IAC/F,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,+BAAU,IAAI,cAAG,MAAM,IAAQ,CAAC;IAC3C,CAAC;IAED,uFAAuF;IACvF,mEAAmE;IACnE,OAAO,CACH,KAAC,UAAU,IACP,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAa,EAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,aAAa,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,EAC7E,SAAS;QACL,iBAAiB;QACjB,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,GAEvF,CACL,CAAC;AACN,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ,CAAC,KAAoB;;IAClC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,KAA4B,KAAK,EAA5B,kBAAkB,UAAK,KAAK,EAA7D,kCAAqD,CAAQ,CAAC;IAEpE,OAAO,CACH,KAAC,qBAAqB,IAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,YACrD,KAAC,aAAa,oBACN,kBAAkB,IACtB,UAAU,kBACN,IAAI,EAAE,WAAW,IAEd,kBAAkB,CAAC,UAAU,GAEpC,aAAa,EAAE,MAAA,kBAAkB,CAAC,aAAa,mCAAI,CAAC,SAAS,CAAC,YAE7D,QAAQ,IACG,GACI,CAC3B,CAAC;AACN,CAAC;AAED,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,37 @@
1
+ import * as React from 'react';
2
+ /** Modal footer component, that arranges the buttons to each side and adds space around them */
3
+ declare const ModalFooter: import("styled-components").StyledComponent<"div", import("@darajs/styled-components").DefaultTheme, {}, never>;
4
+ interface ModalHeaderProps {
5
+ flexDirection?: string;
6
+ }
7
+ /** Arranges the modal header and adds some space below it */
8
+ declare const ModalHeader: import("styled-components").StyledComponent<"div", import("@darajs/styled-components").DefaultTheme, ModalHeaderProps, never>;
9
+ export interface ModalProps {
10
+ /** The content of the modal should be passed as children */
11
+ children: React.ReactNode;
12
+ /** Standard react className property */
13
+ className?: string;
14
+ /** Component Id */
15
+ id?: string;
16
+ /**
17
+ * An optional event listener for if an external event (e.g. esc key) tries to close the modal, it's up to the
18
+ * parent component to decide whether to close the modal
19
+ */
20
+ onAttemptClose?: () => void | Promise<void>;
21
+ /** Handler that's called when the modal has finished closing and has unmounted */
22
+ onClosed?: () => void | Promise<void>;
23
+ /** Whether to render the modal content or not */
24
+ render: boolean;
25
+ /** Native react style property */
26
+ style?: React.CSSProperties;
27
+ }
28
+ /**
29
+ * A simple modal component, accepts children and a render property. It handles attaching the modal to the body of the
30
+ * document and transitioning it in and out of view as required
31
+ *
32
+ * @param {ModalProps} props - the component props
33
+ */
34
+ declare function Modal(props: ModalProps): JSX.Element;
35
+ export default Modal;
36
+ export { ModalFooter, ModalHeader };
37
+ //# sourceMappingURL=modal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modal.d.ts","sourceRoot":"","sources":["../../src/modal/modal.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAmD/B,gGAAgG;AAChG,QAAA,MAAM,WAAW,iHAKhB,CAAC;AAEF,UAAU,gBAAgB;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,6DAA6D;AAC7D,QAAA,MAAM,WAAW,+HAOhB,CAAC;AAEF,MAAM,WAAW,UAAU;IACvB,4DAA4D;IAC5D,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,kFAAkF;IAClF,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,iDAAiD;IACjD,MAAM,EAAE,OAAO,CAAC;IAChB,kCAAkC;IAClC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC/B;AAED;;;;;GAKG;AACH,iBAAS,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,GAAG,CAAC,OAAO,CAqD7C;AAED,eAAe,KAAK,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC"}
@@ -0,0 +1,121 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * Copyright 2023 Impulse Innovations Limited
4
+ *
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ */
18
+ import { useEffect, useState } from 'react';
19
+ import ReactDOM from 'react-dom';
20
+ import styled from '@darajs/styled-components';
21
+ import { Key } from '../constants';
22
+ const Background = styled.div `
23
+ position: fixed;
24
+ z-index: 2000;
25
+ top: 0;
26
+ left: 0;
27
+
28
+ display: flex;
29
+ align-items: center;
30
+ justify-content: center;
31
+
32
+ width: 100%;
33
+ height: 100%;
34
+
35
+ opacity: ${(props) => (props.render ? 1 : 0)};
36
+ background-color: ${(props) => props.theme.colors.modalBg};
37
+
38
+ transition: opacity ease-in 0.1s;
39
+ `;
40
+ const ModalWrapper = styled.div `
41
+ overflow: hidden;
42
+ display: inline-flex;
43
+ flex-direction: column;
44
+
45
+ min-width: 20rem;
46
+ max-width: 80vw;
47
+ min-height: 10rem;
48
+ max-height: 80vh;
49
+ margin-top: ${(props) => (props.render ? 0 : '-50px')};
50
+ padding: 1.75rem;
51
+
52
+ font-size: ${(props) => props.theme.font.size};
53
+
54
+ background-color: ${(props) => props.theme.colors.grey1};
55
+ border-radius: 0.25rem;
56
+ box-shadow: ${(props) => props.theme.shadow.medium};
57
+
58
+ transition: margin-top ease-in 0.1s;
59
+ `;
60
+ /** Modal footer component, that arranges the buttons to each side and adds space around them */
61
+ const ModalFooter = styled.div `
62
+ display: flex;
63
+ flex: 0 0 auto;
64
+ justify-content: space-between;
65
+ margin-top: 1rem;
66
+ `;
67
+ /** Arranges the modal header and adds some space below it */
68
+ const ModalHeader = styled.div `
69
+ display: flex;
70
+ flex: 0 0 auto;
71
+ flex-direction: ${(props) => props.flexDirection || 'column'};
72
+ justify-content: space-between;
73
+
74
+ margin-bottom: 1rem;
75
+ `;
76
+ /**
77
+ * A simple modal component, accepts children and a render property. It handles attaching the modal to the body of the
78
+ * document and transitioning it in and out of view as required
79
+ *
80
+ * @param {ModalProps} props - the component props
81
+ */
82
+ function Modal(props) {
83
+ var _a;
84
+ const [mounted, setMounted] = useState(false);
85
+ const [renderModal, setRenderModal] = useState(false);
86
+ // Internal state is updated using the useEffect to delay it to the next tick. This allows for the components css
87
+ // animations to work correctly
88
+ useEffect(() => {
89
+ setRenderModal(props.render);
90
+ }, [props.render]);
91
+ useEffect(() => {
92
+ if (renderModal) {
93
+ const keyHandler = (e) => {
94
+ if (e.key === Key.ESCAPE && props.onAttemptClose) {
95
+ props.onAttemptClose();
96
+ }
97
+ };
98
+ document.addEventListener('keydown', keyHandler);
99
+ return () => {
100
+ document.removeEventListener('keydown', keyHandler);
101
+ };
102
+ }
103
+ // eslint-disable-next-line react-hooks/exhaustive-deps
104
+ }, [renderModal, props.onAttemptClose]);
105
+ if (!props.render && !mounted) {
106
+ return null;
107
+ }
108
+ const onTransitionEnd = () => {
109
+ setMounted(props.render);
110
+ if (!props.render && props.onClosed) {
111
+ props.onClosed();
112
+ }
113
+ };
114
+ const stopPropagation = (e) => {
115
+ e.stopPropagation();
116
+ };
117
+ return ReactDOM.createPortal(_jsx(Background, { id: props.id, onClick: props.onAttemptClose, onTransitionEnd: onTransitionEnd, render: renderModal, children: _jsx(ModalWrapper, { className: `cl-modal-content ${(_a = props.className) !== null && _a !== void 0 ? _a : ''}`, onClick: stopPropagation, render: renderModal, style: props.style, children: props.children }) }), document.body);
118
+ }
119
+ export default Modal;
120
+ export { ModalFooter, ModalHeader };
121
+ //# sourceMappingURL=modal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modal.js","sourceRoot":"","sources":["../../src/modal/modal.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { InteractiveComponentProps, Item } from '../types';
2
+ export interface MultiSelectProps extends InteractiveComponentProps<Array<Item>> {
3
+ /** Whether to open the select dropdown on load or not, defaults to false */
4
+ initialIsOpen?: boolean;
5
+ /** The items to pick from the list. Each should have a label and a value */
6
+ items: Array<Item>;
7
+ /** An optional property for the maximum number of rows of items to show. Defaults to 3 */
8
+ maxRows?: number;
9
+ /** An optional max-width property in pixels or a percentage of parent. Defaults to 100% */
10
+ maxWidth?: string;
11
+ /** An optional onSelect handler for listening to changes in the selected item */
12
+ onSelect?: (item: Array<Item>) => void | Promise<void>;
13
+ /** An optional handler when the search term is changed */
14
+ onTermChange?: (term: string) => void | Promise<void>;
15
+ /** An optional placeholder for the input field to display when nothing is selected, defaults to '' */
16
+ placeholder?: string;
17
+ /** Set the selected items to a specific value, will put the component in controlled mode */
18
+ selectedItems?: Item[];
19
+ /** Font size in rem to show in the Select */
20
+ size?: number;
21
+ }
22
+ /**
23
+ * A multiselect select combobox component, accepts a list of items to select from and an onSelect handler to listen for
24
+ * changes. Renders currently selected items as list of tags which have a cross for removing them. Component will expand
25
+ * vertically to fit all selected items.
26
+ *
27
+ * @param {MultiSelectProps} props - the component props
28
+ */
29
+ declare function MultiSelect({ maxWidth, maxRows, ...props }: MultiSelectProps): JSX.Element;
30
+ export default MultiSelect;
31
+ //# sourceMappingURL=multiselect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiselect.d.ts","sourceRoot":"","sources":["../../src/multiselect/multiselect.tsx"],"names":[],"mappings":"AA2BA,OAAO,EAAE,yBAAyB,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AA2K3D,MAAM,WAAW,gBAAiB,SAAQ,yBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5E,4EAA4E;IAC5E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,4EAA4E;IAC5E,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACnB,0FAA0F;IAC1F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,0DAA0D;IAC1D,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,sGAAsG;IACtG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4FAA4F;IAC5F,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC;IACvB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,iBAAS,WAAW,CAAC,EAAE,QAAiB,EAAE,OAAW,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CA4IhG;AAED,eAAe,WAAW,CAAC"}