@memori.ai/ui 1.0.0-alpha

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 +105 -0
  2. package/dist/components/Alert/Alert.d.ts +18 -0
  3. package/dist/components/Alert/index.d.ts +2 -0
  4. package/dist/components/Button/Button.d.ts +27 -0
  5. package/dist/components/Button/index.d.ts +2 -0
  6. package/dist/components/ButtonBase/ButtonBase.d.ts +28 -0
  7. package/dist/components/ButtonBase/index.d.ts +3 -0
  8. package/dist/components/Card/Card.d.ts +13 -0
  9. package/dist/components/Card/index.d.ts +2 -0
  10. package/dist/components/Checkbox/Checkbox.d.ts +11 -0
  11. package/dist/components/Checkbox/index.d.ts +2 -0
  12. package/dist/components/ConfirmDialog/ConfirmDialog.d.ts +12 -0
  13. package/dist/components/ConfirmDialog/index.d.ts +2 -0
  14. package/dist/components/Drawer/Drawer.d.ts +32 -0
  15. package/dist/components/Drawer/index.d.ts +2 -0
  16. package/dist/components/Dropdown/Dropdown.d.ts +11 -0
  17. package/dist/components/Dropdown/index.d.ts +2 -0
  18. package/dist/components/Expandable/Expandable.d.ts +15 -0
  19. package/dist/components/Expandable/helpers.d.ts +3 -0
  20. package/dist/components/Expandable/index.d.ts +2 -0
  21. package/dist/components/InputBase/InputBase.d.ts +49 -0
  22. package/dist/components/InputBase/index.d.ts +3 -0
  23. package/dist/components/Modal/Modal.d.ts +16 -0
  24. package/dist/components/Modal/index.d.ts +2 -0
  25. package/dist/components/Select/Select.d.ts +16 -0
  26. package/dist/components/Select/index.d.ts +2 -0
  27. package/dist/components/Slider/Slider.d.ts +12 -0
  28. package/dist/components/Slider/index.d.ts +2 -0
  29. package/dist/components/Spin/Spin.d.ts +9 -0
  30. package/dist/components/Spin/index.d.ts +2 -0
  31. package/dist/components/Tooltip/Tooltip.d.ts +11 -0
  32. package/dist/components/Tooltip/index.d.ts +2 -0
  33. package/dist/i18n/I18nWrapper.d.ts +6 -0
  34. package/dist/icons/AI.d.ts +5 -0
  35. package/dist/icons/Alert.d.ts +5 -0
  36. package/dist/icons/ArrowUp.d.ts +5 -0
  37. package/dist/icons/Bug.d.ts +5 -0
  38. package/dist/icons/Chat.d.ts +5 -0
  39. package/dist/icons/ChevronDown.d.ts +5 -0
  40. package/dist/icons/ChevronLeft.d.ts +5 -0
  41. package/dist/icons/ChevronRight.d.ts +5 -0
  42. package/dist/icons/ChevronUp.d.ts +5 -0
  43. package/dist/icons/Clear.d.ts +5 -0
  44. package/dist/icons/Close.d.ts +6 -0
  45. package/dist/icons/Code.d.ts +5 -0
  46. package/dist/icons/Copy.d.ts +5 -0
  47. package/dist/icons/DeepThought.d.ts +5 -0
  48. package/dist/icons/Delete.d.ts +5 -0
  49. package/dist/icons/Document.d.ts +5 -0
  50. package/dist/icons/Download.d.ts +5 -0
  51. package/dist/icons/Edit.d.ts +5 -0
  52. package/dist/icons/Expand.d.ts +5 -0
  53. package/dist/icons/Eye.d.ts +5 -0
  54. package/dist/icons/EyeInvisible.d.ts +5 -0
  55. package/dist/icons/Facebook.d.ts +5 -0
  56. package/dist/icons/Feedback.d.ts +5 -0
  57. package/dist/icons/File.d.ts +5 -0
  58. package/dist/icons/FileExcel.d.ts +5 -0
  59. package/dist/icons/FilePdf.d.ts +5 -0
  60. package/dist/icons/FileWord.d.ts +5 -0
  61. package/dist/icons/Fullscreen.d.ts +5 -0
  62. package/dist/icons/FullscreenExit.d.ts +5 -0
  63. package/dist/icons/Group.d.ts +5 -0
  64. package/dist/icons/History.d.ts +6 -0
  65. package/dist/icons/Image.d.ts +4 -0
  66. package/dist/icons/Info.d.ts +5 -0
  67. package/dist/icons/Link.d.ts +5 -0
  68. package/dist/icons/Linkedin.d.ts +5 -0
  69. package/dist/icons/Loading.d.ts +6 -0
  70. package/dist/icons/Logout.d.ts +5 -0
  71. package/dist/icons/Mail.d.ts +5 -0
  72. package/dist/icons/MapMarker.d.ts +5 -0
  73. package/dist/icons/MenuHorizontal.d.ts +6 -0
  74. package/dist/icons/MenuVertical.d.ts +6 -0
  75. package/dist/icons/Message.d.ts +5 -0
  76. package/dist/icons/Microphone.d.ts +5 -0
  77. package/dist/icons/Minus.d.ts +5 -0
  78. package/dist/icons/MinusCircle.d.ts +5 -0
  79. package/dist/icons/PaperClip.d.ts +5 -0
  80. package/dist/icons/Picture.d.ts +5 -0
  81. package/dist/icons/Plus.d.ts +5 -0
  82. package/dist/icons/Preview.d.ts +4 -0
  83. package/dist/icons/Print.d.ts +6 -0
  84. package/dist/icons/QuestionHelp.d.ts +5 -0
  85. package/dist/icons/Refresh.d.ts +5 -0
  86. package/dist/icons/SelectIcon.d.ts +5 -0
  87. package/dist/icons/Send.d.ts +5 -0
  88. package/dist/icons/Setting.d.ts +5 -0
  89. package/dist/icons/Share.d.ts +5 -0
  90. package/dist/icons/Sound.d.ts +5 -0
  91. package/dist/icons/SoundDeactivated.d.ts +5 -0
  92. package/dist/icons/Telegram.d.ts +5 -0
  93. package/dist/icons/ThumbDown.d.ts +5 -0
  94. package/dist/icons/ThumbUp.d.ts +5 -0
  95. package/dist/icons/Translation.d.ts +5 -0
  96. package/dist/icons/Twitter.d.ts +5 -0
  97. package/dist/icons/Upload.d.ts +4 -0
  98. package/dist/icons/User.d.ts +5 -0
  99. package/dist/icons/Warning.d.ts +5 -0
  100. package/dist/icons/WhatsApp.d.ts +5 -0
  101. package/dist/index.d.ts +13 -0
  102. package/dist/memori-ai-ui.css +2 -0
  103. package/dist/memori-ai-ui.es.js +6400 -0
  104. package/dist/memori-ai-ui.umd.js +23 -0
  105. package/package.json +97 -0
  106. package/src/components/Alert/Alert.css +95 -0
  107. package/src/components/Alert/Alert.stories.tsx +156 -0
  108. package/src/components/Alert/Alert.test.tsx +122 -0
  109. package/src/components/Alert/Alert.tsx +124 -0
  110. package/src/components/Alert/__snapshots__/Alert.test.tsx.snap +67 -0
  111. package/src/components/Alert/index.tsx +2 -0
  112. package/src/components/Button/Button.css +173 -0
  113. package/src/components/Button/Button.stories.tsx +173 -0
  114. package/src/components/Button/Button.test.tsx +80 -0
  115. package/src/components/Button/Button.tsx +104 -0
  116. package/src/components/Button/__snapshots__/Button.test.tsx.snap +204 -0
  117. package/src/components/Button/index.tsx +2 -0
  118. package/src/components/ButtonBase/ButtonBase.stories.tsx +194 -0
  119. package/src/components/ButtonBase/ButtonBase.tsx +84 -0
  120. package/src/components/ButtonBase/index.tsx +3 -0
  121. package/src/components/ButtonBase/styles.module.css +135 -0
  122. package/src/components/Card/Card.css +67 -0
  123. package/src/components/Card/Card.stories.tsx +104 -0
  124. package/src/components/Card/Card.test.tsx +67 -0
  125. package/src/components/Card/Card.tsx +58 -0
  126. package/src/components/Card/__snapshots__/Card.test.tsx.snap +321 -0
  127. package/src/components/Card/index.tsx +2 -0
  128. package/src/components/Checkbox/Checkbox.css +114 -0
  129. package/src/components/Checkbox/Checkbox.stories.tsx +77 -0
  130. package/src/components/Checkbox/Checkbox.test.tsx +50 -0
  131. package/src/components/Checkbox/Checkbox.tsx +61 -0
  132. package/src/components/Checkbox/__snapshots__/Checkbox.test.tsx.snap +131 -0
  133. package/src/components/Checkbox/index.tsx +2 -0
  134. package/src/components/ConfirmDialog/ConfirmDialog.css +44 -0
  135. package/src/components/ConfirmDialog/ConfirmDialog.stories.tsx +235 -0
  136. package/src/components/ConfirmDialog/ConfirmDialog.test.tsx +129 -0
  137. package/src/components/ConfirmDialog/ConfirmDialog.tsx +73 -0
  138. package/src/components/ConfirmDialog/__snapshots__/ConfirmDialog.test.tsx.snap +11 -0
  139. package/src/components/ConfirmDialog/index.tsx +2 -0
  140. package/src/components/Details/Details.css +66 -0
  141. package/src/components/Details/Details.stories.tsx +67 -0
  142. package/src/components/Drawer/Drawer.css +210 -0
  143. package/src/components/Drawer/Drawer.stories.tsx +275 -0
  144. package/src/components/Drawer/Drawer.test.tsx +158 -0
  145. package/src/components/Drawer/Drawer.tsx +242 -0
  146. package/src/components/Drawer/__snapshots__/Drawer.test.tsx.snap +21 -0
  147. package/src/components/Drawer/index.tsx +2 -0
  148. package/src/components/Dropdown/Dropdown.css +177 -0
  149. package/src/components/Dropdown/Dropdown.stories.tsx +73 -0
  150. package/src/components/Dropdown/Dropdown.test.tsx +88 -0
  151. package/src/components/Dropdown/Dropdown.tsx +88 -0
  152. package/src/components/Dropdown/__snapshots__/Dropdown.test.tsx.snap +141 -0
  153. package/src/components/Dropdown/index.tsx +2 -0
  154. package/src/components/Expandable/Expandable.css +15 -0
  155. package/src/components/Expandable/Expandable.stories.tsx +196 -0
  156. package/src/components/Expandable/Expandable.test.tsx +143 -0
  157. package/src/components/Expandable/Expandable.tsx +122 -0
  158. package/src/components/Expandable/__snapshots__/Expandable.test.tsx.snap +199 -0
  159. package/src/components/Expandable/helpers.ts +16 -0
  160. package/src/components/Expandable/index.tsx +2 -0
  161. package/src/components/InputBase/InputBase.stories.tsx +237 -0
  162. package/src/components/InputBase/InputBase.tsx +105 -0
  163. package/src/components/InputBase/index.tsx +3 -0
  164. package/src/components/InputBase/styles.module.css +96 -0
  165. package/src/components/Modal/Modal.css +95 -0
  166. package/src/components/Modal/Modal.stories.tsx +184 -0
  167. package/src/components/Modal/Modal.test.tsx +129 -0
  168. package/src/components/Modal/Modal.tsx +124 -0
  169. package/src/components/Modal/__snapshots__/Modal.test.tsx.snap +17 -0
  170. package/src/components/Modal/index.tsx +2 -0
  171. package/src/components/Select/Select.css +134 -0
  172. package/src/components/Select/Select.stories.tsx +85 -0
  173. package/src/components/Select/Select.test.tsx +85 -0
  174. package/src/components/Select/Select.tsx +84 -0
  175. package/src/components/Select/__snapshots__/Select.test.tsx.snap +261 -0
  176. package/src/components/Select/index.tsx +2 -0
  177. package/src/components/Slider/Slider.css +194 -0
  178. package/src/components/Slider/Slider.stories.tsx +85 -0
  179. package/src/components/Slider/Slider.test.tsx +55 -0
  180. package/src/components/Slider/Slider.tsx +157 -0
  181. package/src/components/Slider/__snapshots__/Slider.test.tsx.snap +419 -0
  182. package/src/components/Slider/index.tsx +2 -0
  183. package/src/components/Spin/Spin.css +31 -0
  184. package/src/components/Spin/Spin.stories.tsx +65 -0
  185. package/src/components/Spin/Spin.test.tsx +47 -0
  186. package/src/components/Spin/Spin.tsx +34 -0
  187. package/src/components/Spin/__snapshots__/Spin.test.tsx.snap +193 -0
  188. package/src/components/Spin/index.tsx +2 -0
  189. package/src/components/Table/Table.css +130 -0
  190. package/src/components/Table/Table.stories.tsx +274 -0
  191. package/src/components/Tooltip/Tooltip.css +160 -0
  192. package/src/components/Tooltip/Tooltip.stories.tsx +136 -0
  193. package/src/components/Tooltip/Tooltip.test.tsx +110 -0
  194. package/src/components/Tooltip/Tooltip.tsx +46 -0
  195. package/src/components/Tooltip/__snapshots__/Tooltip.test.tsx.snap +163 -0
  196. package/src/components/Tooltip/index.tsx +2 -0
  197. package/src/components/definitions.stories.tsx +150 -0
  198. package/src/i18n/I18nWrapper.tsx +13 -0
  199. package/src/i18n/i18n.ts +34 -0
  200. package/src/icons/AI.tsx +38 -0
  201. package/src/icons/Alert.tsx +31 -0
  202. package/src/icons/ArrowUp.tsx +28 -0
  203. package/src/icons/Bug.tsx +81 -0
  204. package/src/icons/Chat.tsx +30 -0
  205. package/src/icons/ChevronDown.tsx +26 -0
  206. package/src/icons/ChevronLeft.tsx +28 -0
  207. package/src/icons/ChevronRight.tsx +28 -0
  208. package/src/icons/ChevronUp.tsx +24 -0
  209. package/src/icons/Clear.tsx +23 -0
  210. package/src/icons/Close.tsx +30 -0
  211. package/src/icons/Code.tsx +30 -0
  212. package/src/icons/Copy.tsx +30 -0
  213. package/src/icons/DeepThought.tsx +38 -0
  214. package/src/icons/Delete.tsx +23 -0
  215. package/src/icons/Document.tsx +52 -0
  216. package/src/icons/Download.tsx +23 -0
  217. package/src/icons/Edit.tsx +17 -0
  218. package/src/icons/Expand.tsx +23 -0
  219. package/src/icons/Eye.tsx +17 -0
  220. package/src/icons/EyeInvisible.tsx +24 -0
  221. package/src/icons/Facebook.tsx +23 -0
  222. package/src/icons/Feedback.tsx +27 -0
  223. package/src/icons/File.tsx +17 -0
  224. package/src/icons/FileExcel.tsx +23 -0
  225. package/src/icons/FilePdf.tsx +23 -0
  226. package/src/icons/FileWord.tsx +23 -0
  227. package/src/icons/Fullscreen.tsx +23 -0
  228. package/src/icons/FullscreenExit.tsx +23 -0
  229. package/src/icons/Group.tsx +30 -0
  230. package/src/icons/History.tsx +33 -0
  231. package/src/icons/Image.tsx +37 -0
  232. package/src/icons/Info.tsx +37 -0
  233. package/src/icons/Link.tsx +17 -0
  234. package/src/icons/Linkedin.tsx +23 -0
  235. package/src/icons/Loading.tsx +28 -0
  236. package/src/icons/Logout.tsx +33 -0
  237. package/src/icons/Mail.tsx +17 -0
  238. package/src/icons/MapMarker.tsx +26 -0
  239. package/src/icons/MenuHorizontal.tsx +29 -0
  240. package/src/icons/MenuVertical.tsx +29 -0
  241. package/src/icons/Message.tsx +23 -0
  242. package/src/icons/Microphone.tsx +23 -0
  243. package/src/icons/Minus.tsx +23 -0
  244. package/src/icons/MinusCircle.tsx +24 -0
  245. package/src/icons/PaperClip.tsx +23 -0
  246. package/src/icons/Picture.tsx +23 -0
  247. package/src/icons/Plus.tsx +18 -0
  248. package/src/icons/Preview.tsx +31 -0
  249. package/src/icons/Print.tsx +37 -0
  250. package/src/icons/QuestionHelp.tsx +34 -0
  251. package/src/icons/Refresh.tsx +30 -0
  252. package/src/icons/SelectIcon.tsx +28 -0
  253. package/src/icons/Send.tsx +17 -0
  254. package/src/icons/Setting.tsx +23 -0
  255. package/src/icons/Share.tsx +23 -0
  256. package/src/icons/Sound.tsx +23 -0
  257. package/src/icons/SoundDeactivated.tsx +27 -0
  258. package/src/icons/Telegram.tsx +26 -0
  259. package/src/icons/ThumbDown.tsx +29 -0
  260. package/src/icons/ThumbUp.tsx +29 -0
  261. package/src/icons/Translation.tsx +24 -0
  262. package/src/icons/Twitter.tsx +23 -0
  263. package/src/icons/Upload.tsx +34 -0
  264. package/src/icons/User.tsx +17 -0
  265. package/src/icons/Warning.tsx +27 -0
  266. package/src/icons/WhatsApp.tsx +24 -0
  267. package/src/icons/icons.stories.css +5 -0
  268. package/src/icons/icons.stories.tsx +110 -0
  269. package/src/icons/loading.css +14 -0
  270. package/src/index.ts +15 -0
  271. package/src/styles/utils.css +17 -0
  272. package/src/styles.css +4 -0
  273. package/src/theme/variables.css +110 -0
  274. package/src/vite-env.d.ts +6 -0
@@ -0,0 +1,31 @@
1
+ .memori-spin {
2
+ position: relative;
3
+ }
4
+
5
+ .memori-spin--spinner {
6
+ position: absolute;
7
+ z-index: 100;
8
+ top: 0;
9
+ left: 0;
10
+ display: none;
11
+ width: 100%;
12
+ height: 100%;
13
+ align-items: center;
14
+ justify-content: center;
15
+ background: rgb(255 255 255 / 80%);
16
+ }
17
+
18
+ .memori-spin--spinning .memori-spin--spinner {
19
+ display: flex;
20
+ }
21
+
22
+ .memori-spin--spinner svg {
23
+ width: 30%;
24
+ max-width: 5rem;
25
+ height: 30%;
26
+ max-height: 5rem;
27
+ }
28
+
29
+ .memori-spin--primary svg {
30
+ fill: var(--memori-primary);
31
+ }
@@ -0,0 +1,65 @@
1
+ import React from 'react'
2
+ import type { Meta, StoryObj } from '@storybook/react'
3
+ import Spin from './Spin'
4
+
5
+ const meta = {
6
+ title: 'UI/Spin',
7
+ component: Spin,
8
+ tags: ['autodocs'],
9
+ argTypes: {
10
+ spinning: {
11
+ control: {
12
+ type: 'boolean',
13
+ },
14
+ },
15
+ primary: {
16
+ control: {
17
+ type: 'boolean',
18
+ },
19
+ },
20
+ className: {
21
+ control: {
22
+ type: 'text',
23
+ },
24
+ },
25
+ },
26
+ parameters: {
27
+ controls: { expanded: true },
28
+ },
29
+ render: args => (
30
+ <Spin {...args}>
31
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
32
+ <h2>Suspendisse a sodales nulla, sed semper nisi.</h2>
33
+ <p>Proin tincidunt enim in felis aliquet, a ultricies purus bibendum.</p>
34
+ <ul>
35
+ <li>Quisque in ultrices lectus.</li>
36
+ <li>Quisque in ultrices lectus.</li>
37
+ <li>Quisque in ultrices lectus.</li>
38
+ </ul>
39
+ <p>Nulla at urna diam.</p>
40
+ </Spin>
41
+ ),
42
+ } satisfies Meta<typeof Spin>
43
+
44
+ export default meta
45
+
46
+ type Story = StoryObj<typeof meta>
47
+
48
+ export const Default: Story = {
49
+ args: {
50
+ spinning: false,
51
+ },
52
+ }
53
+
54
+ export const Spinning: Story = {
55
+ args: {
56
+ spinning: true,
57
+ },
58
+ }
59
+
60
+ export const Primary: Story = {
61
+ args: {
62
+ spinning: true,
63
+ primary: true,
64
+ },
65
+ }
@@ -0,0 +1,47 @@
1
+ import React from 'react'
2
+ import { describe, expect, it } from 'vitest'
3
+ import { render } from '@testing-library/react'
4
+ import Spin from './Spin'
5
+
6
+ const content = (
7
+ <>
8
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
9
+ <h2>Suspendisse a sodales nulla, sed semper nisi.</h2>
10
+ <p>Proin tincidunt enim in felis aliquet, a ultricies purus bibendum.</p>
11
+ <ul>
12
+ <li>Quisque in ultrices lectus.</li>
13
+ <li>Quisque in ultrices lectus.</li>
14
+ <li>Quisque in ultrices lectus.</li>
15
+ </ul>
16
+ <p>Nulla at urna diam.</p>
17
+ </>
18
+ )
19
+
20
+ describe('Spin', () => {
21
+ it('renders Spin unchanged', () => {
22
+ const { container } = render(<Spin>{content}</Spin>)
23
+ expect(container).toMatchSnapshot()
24
+ })
25
+
26
+ it('renders Spin spinning unchanged', () => {
27
+ const { container } = render(<Spin spinning>{content}</Spin>)
28
+ expect(container).toMatchSnapshot()
29
+ })
30
+
31
+ it('renders Spin with custom className unchanged', () => {
32
+ const { container } = render(<Spin className="lorem-ipsum">{content}</Spin>)
33
+ expect(container).toMatchSnapshot()
34
+ })
35
+
36
+ it('renders Spin spinning primary unchanged', () => {
37
+ const { container } = render(
38
+ <Spin
39
+ spinning
40
+ primary
41
+ >
42
+ {content}
43
+ </Spin>,
44
+ )
45
+ expect(container).toMatchSnapshot()
46
+ })
47
+ })
@@ -0,0 +1,34 @@
1
+ import type { FC, JSX } from 'react'
2
+ import React from 'react'
3
+ import cx from 'classnames'
4
+ import Loading from '../../icons/Loading'
5
+
6
+ import './Spin.css'
7
+
8
+ export interface Props {
9
+ spinning?: boolean
10
+ className?: string
11
+ primary?: boolean
12
+ children?: JSX.Element | React.ReactNode
13
+ }
14
+
15
+ const Spin: FC<Props> = ({
16
+ spinning = false,
17
+ primary = false,
18
+ className,
19
+ children,
20
+ }: Props) => (
21
+ <div
22
+ className={cx('memori-spin', className, {
23
+ 'memori-spin--spinning': spinning,
24
+ 'memori-spin--primary': primary,
25
+ })}
26
+ >
27
+ {children}
28
+ <div className="memori-spin--spinner">
29
+ <Loading loading />
30
+ </div>
31
+ </div>
32
+ )
33
+
34
+ export default Spin
@@ -0,0 +1,193 @@
1
+ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
+
3
+ exports[`Spin > renders Spin spinning primary unchanged 1`] = `
4
+ <div>
5
+ <div
6
+ class="memori-spin memori-spin--spinning memori-spin--primary"
7
+ >
8
+ <p>
9
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit.
10
+ </p>
11
+ <h2>
12
+ Suspendisse a sodales nulla, sed semper nisi.
13
+ </h2>
14
+ <p>
15
+ Proin tincidunt enim in felis aliquet, a ultricies purus bibendum.
16
+ </p>
17
+ <ul>
18
+ <li>
19
+ Quisque in ultrices lectus.
20
+ </li>
21
+ <li>
22
+ Quisque in ultrices lectus.
23
+ </li>
24
+ <li>
25
+ Quisque in ultrices lectus.
26
+ </li>
27
+ </ul>
28
+ <p>
29
+ Nulla at urna diam.
30
+ </p>
31
+ <div
32
+ class="memori-spin--spinner"
33
+ >
34
+ <svg
35
+ aria-hidden="true"
36
+ class="memori-loading-icon"
37
+ focusable="false"
38
+ role="img"
39
+ viewBox="0 0 1024 1024"
40
+ xmlns="http://www.w3.org/2000/svg"
41
+ >
42
+ <path
43
+ d="M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z"
44
+ />
45
+ </svg>
46
+ </div>
47
+ </div>
48
+ </div>
49
+ `;
50
+
51
+ exports[`Spin > renders Spin spinning unchanged 1`] = `
52
+ <div>
53
+ <div
54
+ class="memori-spin memori-spin--spinning"
55
+ >
56
+ <p>
57
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit.
58
+ </p>
59
+ <h2>
60
+ Suspendisse a sodales nulla, sed semper nisi.
61
+ </h2>
62
+ <p>
63
+ Proin tincidunt enim in felis aliquet, a ultricies purus bibendum.
64
+ </p>
65
+ <ul>
66
+ <li>
67
+ Quisque in ultrices lectus.
68
+ </li>
69
+ <li>
70
+ Quisque in ultrices lectus.
71
+ </li>
72
+ <li>
73
+ Quisque in ultrices lectus.
74
+ </li>
75
+ </ul>
76
+ <p>
77
+ Nulla at urna diam.
78
+ </p>
79
+ <div
80
+ class="memori-spin--spinner"
81
+ >
82
+ <svg
83
+ aria-hidden="true"
84
+ class="memori-loading-icon"
85
+ focusable="false"
86
+ role="img"
87
+ viewBox="0 0 1024 1024"
88
+ xmlns="http://www.w3.org/2000/svg"
89
+ >
90
+ <path
91
+ d="M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z"
92
+ />
93
+ </svg>
94
+ </div>
95
+ </div>
96
+ </div>
97
+ `;
98
+
99
+ exports[`Spin > renders Spin unchanged 1`] = `
100
+ <div>
101
+ <div
102
+ class="memori-spin"
103
+ >
104
+ <p>
105
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit.
106
+ </p>
107
+ <h2>
108
+ Suspendisse a sodales nulla, sed semper nisi.
109
+ </h2>
110
+ <p>
111
+ Proin tincidunt enim in felis aliquet, a ultricies purus bibendum.
112
+ </p>
113
+ <ul>
114
+ <li>
115
+ Quisque in ultrices lectus.
116
+ </li>
117
+ <li>
118
+ Quisque in ultrices lectus.
119
+ </li>
120
+ <li>
121
+ Quisque in ultrices lectus.
122
+ </li>
123
+ </ul>
124
+ <p>
125
+ Nulla at urna diam.
126
+ </p>
127
+ <div
128
+ class="memori-spin--spinner"
129
+ >
130
+ <svg
131
+ aria-hidden="true"
132
+ class="memori-loading-icon"
133
+ focusable="false"
134
+ role="img"
135
+ viewBox="0 0 1024 1024"
136
+ xmlns="http://www.w3.org/2000/svg"
137
+ >
138
+ <path
139
+ d="M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z"
140
+ />
141
+ </svg>
142
+ </div>
143
+ </div>
144
+ </div>
145
+ `;
146
+
147
+ exports[`Spin > renders Spin with custom className unchanged 1`] = `
148
+ <div>
149
+ <div
150
+ class="memori-spin lorem-ipsum"
151
+ >
152
+ <p>
153
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit.
154
+ </p>
155
+ <h2>
156
+ Suspendisse a sodales nulla, sed semper nisi.
157
+ </h2>
158
+ <p>
159
+ Proin tincidunt enim in felis aliquet, a ultricies purus bibendum.
160
+ </p>
161
+ <ul>
162
+ <li>
163
+ Quisque in ultrices lectus.
164
+ </li>
165
+ <li>
166
+ Quisque in ultrices lectus.
167
+ </li>
168
+ <li>
169
+ Quisque in ultrices lectus.
170
+ </li>
171
+ </ul>
172
+ <p>
173
+ Nulla at urna diam.
174
+ </p>
175
+ <div
176
+ class="memori-spin--spinner"
177
+ >
178
+ <svg
179
+ aria-hidden="true"
180
+ class="memori-loading-icon"
181
+ focusable="false"
182
+ role="img"
183
+ viewBox="0 0 1024 1024"
184
+ xmlns="http://www.w3.org/2000/svg"
185
+ >
186
+ <path
187
+ d="M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z"
188
+ />
189
+ </svg>
190
+ </div>
191
+ </div>
192
+ </div>
193
+ `;
@@ -0,0 +1,2 @@
1
+ import Spin from './Spin'
2
+ export { Spin }
@@ -0,0 +1,130 @@
1
+ table.memori--table {
2
+ --memori-table-spacing: 1rem;
3
+ --memori-table-border-color: rgb(237 240 243);
4
+ --memori-table-bg-color: rgb(246 248 249);
5
+
6
+ margin: 1rem 0;
7
+ font-size: 1rem;
8
+ }
9
+
10
+ table.memori--table.memori--table--compact {
11
+ --memori-table-spacing: 0.5rem;
12
+
13
+ font-size: 0.875rem;
14
+ }
15
+
16
+ @media (width <= 767px) {
17
+ table.memori--table {
18
+ --memori-table-spacing: 0.5rem;
19
+
20
+ font-size: 0.875rem;
21
+ }
22
+
23
+ table.memori--table.memori--table--compact {
24
+ font-size: 0.75rem;
25
+ }
26
+ }
27
+
28
+ :where(table) {
29
+ width: 100%;
30
+ border-collapse: collapse;
31
+ border-spacing: 0;
32
+ text-indent: 0;
33
+ }
34
+
35
+ .memori--responsive-table-wrapper {
36
+ width: 100%;
37
+ max-width: 800px;
38
+ overflow-x: auto;
39
+ }
40
+
41
+ .memori--responsive-table-wrapper > br {
42
+ display: none;
43
+ }
44
+
45
+ table.memori--table th,
46
+ table.memori--table td {
47
+ padding: calc(var(--memori-table-spacing) / 2) var(--memori-table-spacing);
48
+ border-bottom: 1px solid var(--memori-table-border-color);
49
+ text-align: left;
50
+ text-align: start;
51
+ }
52
+
53
+ table.memori--table thead th {
54
+ padding: var(--memori-table-spacing) var(--memori-table-spacing);
55
+ background-color: var(--memori-table-bg-color);
56
+ }
57
+
58
+ table.memori--table tfoot th,
59
+ table.memori--table tfoot td {
60
+ border-top: 1px solid var(--memori-table-border-color);
61
+ border-bottom: 0;
62
+ }
63
+
64
+ table.memori--table[role='grid'] tbody tr:nth-child(odd) {
65
+ background-color: var(--memori-table-bg-color);
66
+ }
67
+
68
+ .memori--table--pagination {
69
+ display: flex;
70
+ align-items: center;
71
+ justify-content: flex-end;
72
+ margin-bottom: 1rem;
73
+ }
74
+
75
+ .memori--table--pagination--pages {
76
+ display: flex;
77
+ align-items: center;
78
+ margin-right: 1rem;
79
+ }
80
+
81
+ .memori--table--pagination--pages--current {
82
+ padding: 0 0.5rem;
83
+ font-variant-numeric: tabular-nums;
84
+ }
85
+
86
+ .memori--table--pagination--pages button.memori-button.memori-button--circle {
87
+ padding: 0.25rem;
88
+ }
89
+
90
+ .memori--table--pagination--pages button.memori-button[disabled] {
91
+ opacity: 0.3;
92
+ }
93
+
94
+ .memori--table--pagination ul.memori-select--options {
95
+ right: 0;
96
+ }
97
+
98
+ @media (width <= 600px) {
99
+ .memori--table--pagination--pages {
100
+ margin-right: auto;
101
+ }
102
+
103
+ .memori--table--pagination--pages--current {
104
+ padding: 0 0.25rem;
105
+ }
106
+
107
+ .memori--table--pagination .memori-select button.memori-select--button {
108
+ padding: 0.25rem 2rem 0.25rem 0.5rem;
109
+ font-size: 0.875rem;
110
+ }
111
+
112
+ .memori--table--pagination .memori-select ul.memori-select--options {
113
+ min-width: fit-content;
114
+ }
115
+ }
116
+
117
+ table.memori--table th.memori--table--column-centered,
118
+ table.memori--table td.memori--table--column-centered {
119
+ text-align: center;
120
+ }
121
+
122
+ table.memori--table th.memori--table--column-right,
123
+ table.memori--table td.memori--table--column-right {
124
+ text-align: right;
125
+ text-align: end;
126
+ }
127
+
128
+ .memori--table--date {
129
+ white-space: nowrap;
130
+ }