@intlayer/design-system 2.0.2

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 (252) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +30 -0
  3. package/dist/.vite/manifest.json +953 -0
  4. package/dist/MarkDownRender-BeQGOIow.cjs +14 -0
  5. package/dist/MarkDownRender-gURA8GAt.js +315 -0
  6. package/dist/StringWrapper-CW70GPXq.js +28 -0
  7. package/dist/StringWrapper-DUDqtkwz.cjs +1 -0
  8. package/dist/check-BLEiR8OY.js +12 -0
  9. package/dist/check-rhNgx2ZQ.cjs +6 -0
  10. package/dist/components/Accordion/Accordion.cjs.js +8 -0
  11. package/dist/components/Accordion/Accordion.d.ts +10 -0
  12. package/dist/components/Accordion/Accordion.es.js +48 -0
  13. package/dist/components/Accordion/index.cjs.js +1 -0
  14. package/dist/components/Accordion/index.d.ts +1 -0
  15. package/dist/components/Accordion/index.es.js +5 -0
  16. package/dist/components/Avatar/index.cjs.js +6 -0
  17. package/dist/components/Avatar/index.d.ts +9 -0
  18. package/dist/components/Avatar/index.es.js +71 -0
  19. package/dist/components/Button/index.cjs.js +6 -0
  20. package/dist/components/Button/index.d.ts +22 -0
  21. package/dist/components/Button/index.es.js +306 -0
  22. package/dist/components/Container/index.cjs.js +7 -0
  23. package/dist/components/Container/index.d.ts +23 -0
  24. package/dist/components/Container/index.es.js +152 -0
  25. package/dist/components/ContentEditor/ContentEditor.cjs.js +5 -0
  26. package/dist/components/ContentEditor/ContentEditor.d.ts +8 -0
  27. package/dist/components/ContentEditor/ContentEditor.es.js +75 -0
  28. package/dist/components/ContentEditor/index.cjs.js +1 -0
  29. package/dist/components/ContentEditor/index.d.ts +1 -0
  30. package/dist/components/ContentEditor/index.es.js +5 -0
  31. package/dist/components/ContentSelector/ContentSelector.cjs.js +1 -0
  32. package/dist/components/ContentSelector/ContentSelector.d.ts +11 -0
  33. package/dist/components/ContentSelector/ContentSelector.es.js +14 -0
  34. package/dist/components/ContentSelector/index.cjs.js +1 -0
  35. package/dist/components/ContentSelector/index.d.ts +1 -0
  36. package/dist/components/ContentSelector/index.es.js +5 -0
  37. package/dist/components/DictionaryEditor/DictionaryEditor.cjs.js +1 -0
  38. package/dist/components/DictionaryEditor/DictionaryEditor.d.ts +20 -0
  39. package/dist/components/DictionaryEditor/DictionaryEditor.es.js +25 -0
  40. package/dist/components/DictionaryEditor/ItemLayout.cjs.js +1 -0
  41. package/dist/components/DictionaryEditor/ItemLayout.d.ts +16 -0
  42. package/dist/components/DictionaryEditor/ItemLayout.es.js +81 -0
  43. package/dist/components/DictionaryEditor/NodeWrapper/ArrayWrapper.cjs.js +1 -0
  44. package/dist/components/DictionaryEditor/NodeWrapper/ArrayWrapper.d.ts +9 -0
  45. package/dist/components/DictionaryEditor/NodeWrapper/ArrayWrapper.es.js +10 -0
  46. package/dist/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.cjs.js +1 -0
  47. package/dist/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.d.ts +9 -0
  48. package/dist/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.es.js +9 -0
  49. package/dist/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.cjs.js +1 -0
  50. package/dist/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.d.ts +9 -0
  51. package/dist/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.es.js +9 -0
  52. package/dist/components/DictionaryEditor/NodeWrapper/StringWrapper.cjs.js +1 -0
  53. package/dist/components/DictionaryEditor/NodeWrapper/StringWrapper.d.ts +8 -0
  54. package/dist/components/DictionaryEditor/NodeWrapper/StringWrapper.es.js +9 -0
  55. package/dist/components/DictionaryEditor/NodeWrapper/TranslationWrapper.cjs.js +1 -0
  56. package/dist/components/DictionaryEditor/NodeWrapper/TranslationWrapper.d.ts +9 -0
  57. package/dist/components/DictionaryEditor/NodeWrapper/TranslationWrapper.es.js +7 -0
  58. package/dist/components/DictionaryEditor/NodeWrapper/index.cjs.js +1 -0
  59. package/dist/components/DictionaryEditor/NodeWrapper/index.d.ts +19 -0
  60. package/dist/components/DictionaryEditor/NodeWrapper/index.es.js +9 -0
  61. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.cjs.js +1 -0
  62. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.d.ts +10 -0
  63. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.es.js +40 -0
  64. package/dist/components/DictionaryEditor/index.cjs.js +1 -0
  65. package/dist/components/DictionaryEditor/index.d.ts +1 -0
  66. package/dist/components/DictionaryEditor/index.es.js +5 -0
  67. package/dist/components/DropDown/index.cjs.js +5 -0
  68. package/dist/components/DropDown/index.d.ts +3 -0
  69. package/dist/components/DropDown/index.es.js +50 -0
  70. package/dist/components/DropDown/types.cjs.js +1 -0
  71. package/dist/components/DropDown/types.d.ts +15 -0
  72. package/dist/components/DropDown/types.es.js +1 -0
  73. package/dist/components/Footer/index.cjs.js +1 -0
  74. package/dist/components/Footer/index.d.ts +17 -0
  75. package/dist/components/Footer/index.es.js +64 -0
  76. package/dist/components/Headers/index.cjs.js +1 -0
  77. package/dist/components/Headers/index.d.ts +5 -0
  78. package/dist/components/Headers/index.es.js +35 -0
  79. package/dist/components/IDE/CodeRender.cjs.js +11 -0
  80. package/dist/components/IDE/CodeRender.d.ts +10 -0
  81. package/dist/components/IDE/CodeRender.es.js +833 -0
  82. package/dist/components/IDE/IDE.cjs.js +1 -0
  83. package/dist/components/IDE/IDE.d.ts +10 -0
  84. package/dist/components/IDE/IDE.es.js +124 -0
  85. package/dist/components/IDE/MarkDownRender.cjs.js +1 -0
  86. package/dist/components/IDE/MarkDownRender.d.ts +8 -0
  87. package/dist/components/IDE/MarkDownRender.es.js +7 -0
  88. package/dist/components/IDE/index.cjs.js +1 -0
  89. package/dist/components/IDE/index.d.ts +2 -0
  90. package/dist/components/IDE/index.es.js +7 -0
  91. package/dist/components/Loader/index.cjs.js +1 -0
  92. package/dist/components/Loader/index.d.ts +6 -0
  93. package/dist/components/Loader/index.es.js +21 -0
  94. package/dist/components/Loader/spinner.cjs.js +1 -0
  95. package/dist/components/Loader/spinner.d.ts +7 -0
  96. package/dist/components/Loader/spinner.es.js +22 -0
  97. package/dist/components/LocaleSwitcherDropDown/LocaleSwitcher.cjs.js +6 -0
  98. package/dist/components/LocaleSwitcherDropDown/LocaleSwitcher.d.ts +11 -0
  99. package/dist/components/LocaleSwitcherDropDown/LocaleSwitcher.es.js +571 -0
  100. package/dist/components/LocaleSwitcherDropDown/index.cjs.js +1 -0
  101. package/dist/components/LocaleSwitcherDropDown/index.d.ts +1 -0
  102. package/dist/components/LocaleSwitcherDropDown/index.es.js +5 -0
  103. package/dist/components/Logo/LogoCircle.cjs.js +1 -0
  104. package/dist/components/Logo/LogoCircle.d.ts +4 -0
  105. package/dist/components/Logo/LogoCircle.es.js +12 -0
  106. package/dist/components/Logo/LogoNoFrame.cjs.js +1 -0
  107. package/dist/components/Logo/LogoNoFrame.d.ts +4 -0
  108. package/dist/components/Logo/LogoNoFrame.es.js +28 -0
  109. package/dist/components/Logo/LogoSquare.cjs.js +1 -0
  110. package/dist/components/Logo/LogoSquare.d.ts +4 -0
  111. package/dist/components/Logo/LogoSquare.es.js +12 -0
  112. package/dist/components/Logo/LogoSquircle.cjs.js +1 -0
  113. package/dist/components/Logo/LogoSquircle.d.ts +4 -0
  114. package/dist/components/Logo/LogoSquircle.es.js +17 -0
  115. package/dist/components/Logo/LogoTextOnly.cjs.js +1 -0
  116. package/dist/components/Logo/LogoTextOnly.d.ts +4 -0
  117. package/dist/components/Logo/LogoTextOnly.es.js +28 -0
  118. package/dist/components/Logo/LogoWithTextBelowCircle.cjs.js +1 -0
  119. package/dist/components/Logo/LogoWithTextBelowCircle.d.ts +4 -0
  120. package/dist/components/Logo/LogoWithTextBelowCircle.es.js +30 -0
  121. package/dist/components/Logo/LogoWithTextBelowNoFrame.cjs.js +1 -0
  122. package/dist/components/Logo/LogoWithTextBelowNoFrame.d.ts +4 -0
  123. package/dist/components/Logo/LogoWithTextBelowNoFrame.es.js +28 -0
  124. package/dist/components/Logo/LogoWithTextBelowSquircle.cjs.js +1 -0
  125. package/dist/components/Logo/LogoWithTextBelowSquircle.d.ts +4 -0
  126. package/dist/components/Logo/LogoWithTextBelowSquircle.es.js +17 -0
  127. package/dist/components/Logo/LogoWithTextCircle.cjs.js +1 -0
  128. package/dist/components/Logo/LogoWithTextCircle.d.ts +4 -0
  129. package/dist/components/Logo/LogoWithTextCircle.es.js +51 -0
  130. package/dist/components/Logo/LogoWithTextNoFrame.cjs.js +1 -0
  131. package/dist/components/Logo/LogoWithTextNoFrame.d.ts +4 -0
  132. package/dist/components/Logo/LogoWithTextNoFrame.es.js +28 -0
  133. package/dist/components/Logo/LogoWithTextSquircle.cjs.js +1 -0
  134. package/dist/components/Logo/LogoWithTextSquircle.d.ts +4 -0
  135. package/dist/components/Logo/LogoWithTextSquircle.es.js +17 -0
  136. package/dist/components/Logo/index.cjs.js +1 -0
  137. package/dist/components/Logo/index.d.ts +20 -0
  138. package/dist/components/Logo/index.es.js +65 -0
  139. package/dist/components/MarkDownRender/index.cjs.js +1 -0
  140. package/dist/components/MarkDownRender/index.d.ts +8 -0
  141. package/dist/components/MarkDownRender/index.es.js +84 -0
  142. package/dist/components/MaxHeightSmoother/index.cjs.js +6 -0
  143. package/dist/components/MaxHeightSmoother/index.d.ts +11 -0
  144. package/dist/components/MaxHeightSmoother/index.es.js +52 -0
  145. package/dist/components/MaxWidthSmoother/index.cjs.js +6 -0
  146. package/dist/components/MaxWidthSmoother/index.d.ts +11 -0
  147. package/dist/components/MaxWidthSmoother/index.es.js +39 -0
  148. package/dist/components/Modal/index.cjs.js +1 -0
  149. package/dist/components/Modal/index.d.ts +9 -0
  150. package/dist/components/Modal/index.es.js +64 -0
  151. package/dist/components/Navbar/Burger.cjs.js +1 -0
  152. package/dist/components/Navbar/Burger.d.ts +7 -0
  153. package/dist/components/Navbar/Burger.es.js +84 -0
  154. package/dist/components/Navbar/DesktopNavbar.cjs.js +7 -0
  155. package/dist/components/Navbar/DesktopNavbar.d.ts +10 -0
  156. package/dist/components/Navbar/DesktopNavbar.es.js +76 -0
  157. package/dist/components/Navbar/MobileNavbar.cjs.js +9 -0
  158. package/dist/components/Navbar/MobileNavbar.d.ts +12 -0
  159. package/dist/components/Navbar/MobileNavbar.es.js +199 -0
  160. package/dist/components/Navbar/index.cjs.js +1 -0
  161. package/dist/components/Navbar/index.d.ts +20 -0
  162. package/dist/components/Navbar/index.es.js +25 -0
  163. package/dist/components/Navbar/useNavigation.cjs.js +1 -0
  164. package/dist/components/Navbar/useNavigation.d.ts +5 -0
  165. package/dist/components/Navbar/useNavigation.es.js +39 -0
  166. package/dist/components/Popover/index.cjs.js +1 -0
  167. package/dist/components/Popover/index.d.ts +8 -0
  168. package/dist/components/Popover/index.es.js +48 -0
  169. package/dist/components/PressableDiv/PressableDiv.cjs.js +1 -0
  170. package/dist/components/PressableDiv/PressableDiv.d.ts +10 -0
  171. package/dist/components/PressableDiv/PressableDiv.es.js +62 -0
  172. package/dist/components/PressableDiv/index.cjs.js +1 -0
  173. package/dist/components/PressableDiv/index.d.ts +1 -0
  174. package/dist/components/PressableDiv/index.es.js +5 -0
  175. package/dist/components/ProfileDropDown/index.cjs.js +6 -0
  176. package/dist/components/ProfileDropDown/index.d.ts +6 -0
  177. package/dist/components/ProfileDropDown/index.es.js +37 -0
  178. package/dist/components/RedirectionButton/RedirectionButton.cjs.js +6 -0
  179. package/dist/components/RedirectionButton/RedirectionButton.d.ts +8 -0
  180. package/dist/components/RedirectionButton/RedirectionButton.es.js +42 -0
  181. package/dist/components/RedirectionButton/index.cjs.js +1 -0
  182. package/dist/components/RedirectionButton/index.d.ts +1 -0
  183. package/dist/components/RedirectionButton/index.es.js +5 -0
  184. package/dist/components/RightDrawer/RightDrawer.cjs.js +8 -0
  185. package/dist/components/RightDrawer/RightDrawer.d.ts +16 -0
  186. package/dist/components/RightDrawer/RightDrawer.es.js +118 -0
  187. package/dist/components/RightDrawer/index.cjs.js +1 -0
  188. package/dist/components/RightDrawer/index.d.ts +2 -0
  189. package/dist/components/RightDrawer/index.es.js +8 -0
  190. package/dist/components/RightDrawer/useRightDrawerStore.cjs.js +1 -0
  191. package/dist/components/RightDrawer/useRightDrawerStore.d.ts +8 -0
  192. package/dist/components/RightDrawer/useRightDrawerStore.es.js +15 -0
  193. package/dist/components/ThemeSwitcherDropDown/DesktopThemeSwitcher.cjs.js +1 -0
  194. package/dist/components/ThemeSwitcherDropDown/DesktopThemeSwitcher.d.ts +10 -0
  195. package/dist/components/ThemeSwitcherDropDown/DesktopThemeSwitcher.es.js +69 -0
  196. package/dist/components/ThemeSwitcherDropDown/MobileThemeSwitcher.cjs.js +1 -0
  197. package/dist/components/ThemeSwitcherDropDown/MobileThemeSwitcher.d.ts +10 -0
  198. package/dist/components/ThemeSwitcherDropDown/MobileThemeSwitcher.es.js +65 -0
  199. package/dist/components/ThemeSwitcherDropDown/index.cjs.js +1 -0
  200. package/dist/components/ThemeSwitcherDropDown/index.d.ts +3 -0
  201. package/dist/components/ThemeSwitcherDropDown/index.es.js +9 -0
  202. package/dist/components/ThemeSwitcherDropDown/types.cjs.js +1 -0
  203. package/dist/components/ThemeSwitcherDropDown/types.d.ts +5 -0
  204. package/dist/components/ThemeSwitcherDropDown/types.es.js +5 -0
  205. package/dist/components/index.cjs.js +1 -0
  206. package/dist/components/index.d.ts +22 -0
  207. package/dist/components/index.es.js +61 -0
  208. package/dist/createLucideIcon-DlZEiEGq.js +80 -0
  209. package/dist/createLucideIcon-ZOnO-fn6.cjs +21 -0
  210. package/dist/hooks/index.cjs.js +1 -0
  211. package/dist/hooks/index.d.ts +5 -0
  212. package/dist/hooks/index.es.js +13 -0
  213. package/dist/hooks/useDevice.cjs.js +1 -0
  214. package/dist/hooks/useDevice.d.ts +8 -0
  215. package/dist/hooks/useDevice.es.js +48 -0
  216. package/dist/hooks/useGetElementOrWindow.cjs.js +1 -0
  217. package/dist/hooks/useGetElementOrWindow.d.ts +1 -0
  218. package/dist/hooks/useGetElementOrWindow.es.js +11 -0
  219. package/dist/hooks/useIsMounted.cjs.js +1 -0
  220. package/dist/hooks/useIsMounted.d.ts +1 -0
  221. package/dist/hooks/useIsMounted.es.js +11 -0
  222. package/dist/hooks/useScrollBlockage/index.cjs.js +1 -0
  223. package/dist/hooks/useScrollBlockage/index.d.ts +14 -0
  224. package/dist/hooks/useScrollBlockage/index.es.js +24 -0
  225. package/dist/hooks/useScrollBlockage/useScrollBlockageStore.cjs.js +1 -0
  226. package/dist/hooks/useScrollBlockage/useScrollBlockageStore.d.ts +12 -0
  227. package/dist/hooks/useScrollBlockage/useScrollBlockageStore.es.js +40 -0
  228. package/dist/hooks/useScrollDetection.cjs.js +1 -0
  229. package/dist/hooks/useScrollDetection.d.ts +13 -0
  230. package/dist/hooks/useScrollDetection.es.js +41 -0
  231. package/dist/index-B2ncVbtX.cjs +1 -0
  232. package/dist/index-D-PWvdb-.js +91 -0
  233. package/dist/intlayer-editor/src/client/renderContentEditor.d.ts +14 -0
  234. package/dist/jsx-runtime-D6agescH.cjs +30 -0
  235. package/dist/jsx-runtime-Tw_Kw2GZ.js +638 -0
  236. package/dist/localeList-CaRF-907.js +300 -0
  237. package/dist/localeList-DlUgKn8J.cjs +1 -0
  238. package/dist/motion-BuKul-u9.cjs +1 -0
  239. package/dist/motion-CP5YERk7.js +4517 -0
  240. package/dist/styled-components.browser.esm-D6kkzXl4.js +1085 -0
  241. package/dist/styled-components.browser.esm-GqWwDlfY.cjs +58 -0
  242. package/dist/sun-BQYZHcpc.cjs +16 -0
  243. package/dist/sun-BrKC5Qwg.js +49 -0
  244. package/dist/utils/capitalize.cjs.js +1 -0
  245. package/dist/utils/capitalize.d.ts +1 -0
  246. package/dist/utils/capitalize.es.js +5 -0
  247. package/dist/utils/cn.cjs.js +1 -0
  248. package/dist/utils/cn.d.ts +3 -0
  249. package/dist/utils/cn.es.js +2338 -0
  250. package/dist/x-BKwnSvvj.js +15 -0
  251. package/dist/x-DIXoN4xe.cjs +6 -0
  252. package/package.json +84 -0
@@ -0,0 +1,15 @@
1
+ "use client";
2
+ import { c as e } from "./createLucideIcon-DlZEiEGq.js";
3
+ /**
4
+ * @license lucide-react v0.376.0 - ISC
5
+ *
6
+ * This source code is licensed under the ISC license.
7
+ * See the LICENSE file in the root directory of this source tree.
8
+ */
9
+ const c = e("X", [
10
+ ["path", { d: "M18 6 6 18", key: "1bl5f8" }],
11
+ ["path", { d: "m6 6 12 12", key: "d8bk6v" }]
12
+ ]);
13
+ export {
14
+ c as X
15
+ };
@@ -0,0 +1,6 @@
1
+ "use client";"use strict";const e=require("./createLucideIcon-ZOnO-fn6.cjs");/**
2
+ * @license lucide-react v0.376.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const c=e.createLucideIcon("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);exports.X=c;
package/package.json ADDED
@@ -0,0 +1,84 @@
1
+ {
2
+ "name": "@intlayer/design-system",
3
+ "version": "2.0.2",
4
+ "private": false,
5
+ "type": "module",
6
+ "exports": {
7
+ ".": {
8
+ "import": "./dist/components/index.es.js",
9
+ "require": "./dist/components/index.cjs.js",
10
+ "types": "./dist/components/index.d.ts"
11
+ },
12
+ "./hooks": {
13
+ "import": "./dist/hooks/index.es.js",
14
+ "require": "./dist/hooks/index.cjs.js",
15
+ "types": "./dist/hooks/index.d.ts"
16
+ },
17
+ "./tailwind-config": {
18
+ "import": "./tailwind.config.ts",
19
+ "require": "./tailwind.config.ts",
20
+ "types": "./tailwind.config.ts"
21
+ }
22
+ },
23
+ "files": [
24
+ "dist"
25
+ ],
26
+ "dependencies": {
27
+ "@emotion/is-prop-valid": "^1.2.2",
28
+ "@tailwindcss/aspect-ratio": "^0.4.2",
29
+ "framer-motion": "^11.2.12",
30
+ "markdown-to-jsx": "^7.4.7",
31
+ "react-copy-to-clipboard": "^5.1.0",
32
+ "react-markdown": "^9.0.1",
33
+ "tailwindcss-animate": "^1.0.7",
34
+ "@intlayer/config": "^2.0.2",
35
+ "@intlayer/core": "^2.0.2"
36
+ },
37
+ "devDependencies": {
38
+ "@types/react": "^18.3.3",
39
+ "@types/react-copy-to-clipboard": "^5.0.7",
40
+ "@types/react-dom": "^18.3.0",
41
+ "@types/react-syntax-highlighter": "^15.5.13",
42
+ "@typescript-eslint/eslint-plugin": "^7.14.1",
43
+ "@typescript-eslint/parser": "^7.14.1",
44
+ "@vitejs/plugin-react": "^4.3.1",
45
+ "clsx": "^2.1.1",
46
+ "eslint": "^8.57.0",
47
+ "eslint-plugin-react-hooks": "^4.6.2",
48
+ "eslint-plugin-react-refresh": "^0.4.7",
49
+ "glob": "^10.4.2",
50
+ "lucide-react": "^0.376.0",
51
+ "react-syntax-highlighter": "^15.5.0",
52
+ "rehype-raw": "^7.0.0",
53
+ "remark-gfm": "^4.0.0",
54
+ "rollup-plugin-preserve-directives": "^0.4.0",
55
+ "styled-components": "^6.1.11",
56
+ "tailwind-merge": "^2.3.0",
57
+ "tailwindcss": "^3.4.4",
58
+ "twin.macro": "^3.4.1",
59
+ "typescript": "^5.5.2",
60
+ "vite": "^5.3.1",
61
+ "vite-plugin-babel-macros": "^1.0.6",
62
+ "vite-plugin-dts": "^3.9.1",
63
+ "@utils/ts-config": "^1.0.2"
64
+ },
65
+ "peerDependencies": {
66
+ "react": "^18.2.0",
67
+ "react-dom": "^18.2.0",
68
+ "react-syntax-highlighter": "^15.5.0",
69
+ "rehype-raw": "^7.0.0",
70
+ "remark-gfm": "^4.0.0",
71
+ "zustand": "^4.5.2"
72
+ },
73
+ "babelMacros": {
74
+ "twin": {
75
+ "preset": "styled-components"
76
+ }
77
+ },
78
+ "scripts": {
79
+ "build": "vite build",
80
+ "dev": "vite build --watch",
81
+ "lint": "eslint src --ext js,jsx",
82
+ "preview": "vite preview"
83
+ }
84
+ }