@mgdis/mg-components 3.3.0 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (257) hide show
  1. package/dist/.storybook/utils.js +24 -0
  2. package/dist/cjs/{index-369388eb.js → index-179621c8.js} +108 -10
  3. package/dist/cjs/{index-bead7dbd.js → index-88560a66.js} +47 -48
  4. package/dist/cjs/loader.cjs.js +3 -17
  5. package/dist/cjs/mg-badge_24.cjs.entry.js +5687 -0
  6. package/dist/cjs/mg-components.cjs.js +3 -7
  7. package/dist/cjs/mg-modal.cjs.entry.js +12 -6
  8. package/dist/collection/collection-manifest.json +3 -1
  9. package/dist/collection/components/atoms/mg-badge/{mg-badge.stories.js → doc/mg-badge.stories.js} +10 -6
  10. package/dist/collection/components/atoms/mg-badge/mg-badge.css +0 -2
  11. package/dist/collection/components/atoms/mg-badge/mg-badge.js +15 -3
  12. package/dist/collection/components/atoms/mg-button/{mg-button.stories.js → doc/mg-button.stories.js} +16 -13
  13. package/dist/collection/components/atoms/mg-button/mg-button.conf.js +4 -0
  14. package/dist/collection/components/atoms/mg-button/mg-button.css +6 -30
  15. package/dist/collection/components/atoms/mg-button/mg-button.js +53 -22
  16. package/dist/collection/components/atoms/mg-character-left/doc/mg-character-left.stories.js +20 -0
  17. package/dist/collection/components/atoms/mg-character-left/mg-character-left.js +10 -47
  18. package/dist/collection/components/atoms/mg-icon/{mg-icon.stories.js → doc/mg-icon.stories.js} +12 -4
  19. package/dist/collection/components/atoms/mg-icon/mg-icon.conf.js +99 -10
  20. package/dist/collection/components/atoms/mg-icon/mg-icon.css +4 -0
  21. package/dist/collection/components/atoms/mg-icon/mg-icon.js +22 -6
  22. package/dist/collection/components/atoms/mg-input-title/doc/mg-input-title.stories.js +21 -0
  23. package/dist/collection/components/atoms/mg-tag/{mg-tag.stories.js → doc/mg-tag.stories.js} +10 -8
  24. package/dist/collection/components/atoms/mg-tag/mg-tag.js +19 -4
  25. package/dist/collection/components/atoms/mg-tooltip/doc/mg-tooltip.stories.js +58 -0
  26. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.conf.js +26 -0
  27. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js +71 -13
  28. package/dist/collection/components/molecules/inputs/MgInput.conf.js +1 -7
  29. package/dist/collection/components/molecules/inputs/MgInput.js +5 -15
  30. package/dist/collection/components/molecules/inputs/mg-input-checkbox/{mg-input-checkbox.stories.js → doc/mg-input-checkbox.stories.js} +3 -15
  31. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.css +22 -15
  32. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js +8 -21
  33. package/dist/collection/components/molecules/inputs/mg-input-date/{mg-input-date.stories.js → doc/mg-input-date.stories.js} +3 -12
  34. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.css +22 -20
  35. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js +19 -18
  36. package/dist/collection/components/molecules/inputs/mg-input-numeric/{mg-input-numeric.stories.js → doc/mg-input-numeric.stories.js} +9 -13
  37. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.css +23 -21
  38. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js +43 -19
  39. package/dist/collection/components/molecules/inputs/mg-input-password/{mg-input-password.stories.js → doc/mg-input-password.stories.js} +10 -12
  40. package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.css +22 -20
  41. package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.js +17 -22
  42. package/dist/collection/components/molecules/inputs/mg-input-radio/{mg-input-radio.stories.js → doc/mg-input-radio.stories.js} +3 -14
  43. package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.css +22 -15
  44. package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.js +8 -15
  45. package/dist/collection/components/molecules/inputs/mg-input-select/{mg-input-select.stories.js → doc/mg-input-select.stories.js} +10 -16
  46. package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.css +23 -20
  47. package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js +24 -31
  48. package/dist/collection/components/molecules/inputs/mg-input-text/{mg-input-text.stories.js → doc/mg-input-text.stories.js} +18 -25
  49. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.css +54 -30
  50. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js +42 -43
  51. package/dist/collection/components/molecules/inputs/mg-input-textarea/{mg-input-textarea.stories.js → doc/mg-input-textarea.stories.js} +11 -14
  52. package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.css +54 -24
  53. package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js +64 -37
  54. package/dist/collection/components/molecules/inputs/mg-input-toggle/doc/mg-input-toggle.stories.js +57 -0
  55. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.css +21 -11
  56. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js +25 -10
  57. package/dist/collection/components/molecules/mg-details/doc/mg-details.stories.js +25 -0
  58. package/dist/collection/components/molecules/mg-details/mg-details.css +14 -0
  59. package/dist/collection/components/molecules/mg-details/mg-details.js +141 -0
  60. package/dist/collection/components/molecules/mg-form/{mg-form.stories.js → doc/mg-form.stories.js} +9 -6
  61. package/dist/collection/components/molecules/mg-form/mg-form.css +5 -1
  62. package/dist/collection/components/molecules/mg-form/mg-form.js +53 -7
  63. package/dist/collection/components/molecules/mg-illustrated-message/doc/mg-illustrated-message.stories.js +22 -0
  64. package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.css +37 -0
  65. package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.js +74 -0
  66. package/dist/collection/components/molecules/mg-message/{mg-message.stories.js → doc/mg-message.stories.js} +10 -16
  67. package/dist/collection/components/molecules/mg-message/mg-message.js +15 -7
  68. package/dist/collection/components/molecules/mg-modal/doc/mg-modal.stories.js +43 -0
  69. package/dist/collection/components/molecules/mg-modal/mg-modal.css +5 -7
  70. package/dist/collection/components/molecules/mg-modal/mg-modal.js +10 -4
  71. package/dist/collection/components/molecules/mg-pagination/doc/mg-pagination.stories.js +20 -0
  72. package/dist/collection/components/molecules/mg-pagination/mg-pagination.js +17 -18
  73. package/dist/collection/components/molecules/mg-panel/doc/mg-panel.stories.js +29 -0
  74. package/dist/collection/components/molecules/mg-panel/mg-panel.css +4 -2
  75. package/dist/collection/components/molecules/mg-panel/mg-panel.js +12 -16
  76. package/dist/collection/components/molecules/mg-popover/{mg-popover.stories.js → doc/mg-popover.stories.js} +22 -16
  77. package/dist/collection/components/molecules/mg-popover/mg-popover.conf.js +20 -0
  78. package/dist/collection/components/molecules/mg-popover/mg-popover.css +1 -1
  79. package/dist/collection/components/molecules/mg-popover/mg-popover.js +43 -13
  80. package/dist/collection/components/molecules/mg-tabs/{mg-tabs.stories.js → doc/mg-tabs.stories.js} +20 -15
  81. package/dist/collection/components/molecules/mg-tabs/mg-tabs.conf.js +7 -0
  82. package/dist/collection/components/molecules/mg-tabs/mg-tabs.css +3 -0
  83. package/dist/collection/components/molecules/mg-tabs/mg-tabs.js +75 -29
  84. package/dist/collection/locales/index.js +33 -4
  85. package/dist/collection/stories/helpers.stories.js +41 -0
  86. package/dist/collection/stories/icons.stories.js +10 -2
  87. package/dist/collection/stories/typography.stories.js +8 -1
  88. package/dist/collection/utils/components.utils.js +10 -0
  89. package/dist/collection/utils/locale.utils.js +7 -4
  90. package/dist/collection/variables.css +10 -5
  91. package/dist/collection/variables.scss +10 -5
  92. package/dist/components/MgInput.js +6 -23
  93. package/dist/components/components.utils.js +11 -1
  94. package/dist/components/index.d.ts +25 -5
  95. package/dist/components/index.js +25 -0
  96. package/dist/components/index2.js +97 -8
  97. package/dist/components/locale.utils.js +7 -5
  98. package/dist/components/mg-badge2.js +16 -4
  99. package/dist/components/mg-button2.js +14 -17
  100. package/dist/components/mg-character-left2.js +4 -27
  101. package/dist/components/mg-details.d.ts +11 -0
  102. package/dist/components/mg-details.js +87 -0
  103. package/dist/components/mg-form.js +40 -8
  104. package/dist/components/mg-icon2.js +122 -17
  105. package/dist/components/mg-illustrated-message.d.ts +11 -0
  106. package/dist/components/mg-illustrated-message.js +68 -0
  107. package/dist/components/mg-input-checkbox.js +11 -27
  108. package/dist/components/mg-input-date.js +21 -25
  109. package/dist/components/mg-input-numeric.js +28 -26
  110. package/dist/components/mg-input-password.js +18 -28
  111. package/dist/components/mg-input-radio.js +10 -22
  112. package/dist/components/mg-input-select2.js +24 -35
  113. package/dist/components/mg-input-text2.js +38 -26
  114. package/dist/components/mg-input-textarea.js +43 -20
  115. package/dist/components/mg-input-toggle.js +27 -18
  116. package/dist/components/mg-message.js +16 -8
  117. package/dist/components/mg-modal.js +11 -5
  118. package/dist/components/mg-pagination.js +16 -22
  119. package/dist/components/mg-panel.js +9 -12
  120. package/dist/components/mg-popover.js +22 -12
  121. package/dist/components/mg-tabs.js +77 -22
  122. package/dist/components/mg-tag.js +20 -5
  123. package/dist/components/mg-tooltip2.js +74 -12
  124. package/dist/components/popper.js +6 -2
  125. package/dist/esm/{index-c346f52d.js → index-7efedd97.js} +107 -8
  126. package/dist/esm/{index-9e877561.js → index-bca81100.js} +48 -46
  127. package/dist/esm/loader.js +3 -17
  128. package/dist/esm/mg-badge_24.entry.js +5660 -0
  129. package/dist/esm/mg-components.js +3 -7
  130. package/dist/esm/mg-modal.entry.js +12 -6
  131. package/dist/index.js +1 -1
  132. package/dist/mg-components/mg-components.css +1 -1
  133. package/dist/mg-components/mg-components.esm.js +1 -1
  134. package/dist/mg-components/p-5f89600c.js +1 -0
  135. package/dist/mg-components/p-a2883dc7.entry.js +1 -0
  136. package/dist/mg-components/p-b14a3443.js +2 -0
  137. package/dist/mg-components/p-cffe0519.entry.js +1 -0
  138. package/dist/mg-components/variables.css +10 -5
  139. package/dist/mg-components/variables.scss +10 -5
  140. package/dist/types/components/atoms/mg-badge/{mg-badge.stories.d.ts → doc/mg-badge.stories.d.ts} +0 -0
  141. package/dist/types/components/atoms/mg-badge/mg-badge.d.ts +8 -1
  142. package/dist/types/components/atoms/mg-button/{mg-button.stories.d.ts → doc/mg-button.stories.d.ts} +6 -0
  143. package/dist/types/components/atoms/mg-button/mg-button.conf.d.ts +8 -0
  144. package/dist/types/components/atoms/mg-button/mg-button.d.ts +12 -1
  145. package/dist/types/{stories/tags.stories.d.ts → components/atoms/mg-character-left/doc/mg-character-left.stories.d.ts} +2 -1
  146. package/dist/types/components/atoms/mg-character-left/mg-character-left.d.ts +5 -13
  147. package/dist/types/components/atoms/mg-icon/{mg-icon.stories.d.ts → doc/mg-icon.stories.d.ts} +0 -0
  148. package/dist/types/components/atoms/mg-icon/mg-icon.d.ts +3 -3
  149. package/dist/types/components/atoms/mg-input-title/{mg-input-title.stories.d.ts → doc/mg-input-title.stories.d.ts} +0 -0
  150. package/dist/types/components/atoms/mg-tag/{mg-tag.stories.d.ts → doc/mg-tag.stories.d.ts} +0 -0
  151. package/dist/types/components/atoms/mg-tag/mg-tag.d.ts +8 -1
  152. package/dist/types/components/atoms/mg-tooltip/doc/mg-tooltip.stories.d.ts +24 -0
  153. package/dist/types/components/atoms/mg-tooltip/mg-tooltip.conf.d.ts +13 -0
  154. package/dist/types/components/atoms/mg-tooltip/mg-tooltip.d.ts +27 -2
  155. package/dist/types/components/molecules/inputs/MgInput.conf.d.ts +0 -6
  156. package/dist/types/components/molecules/inputs/MgInput.d.ts +2 -4
  157. package/dist/types/components/molecules/inputs/mg-input-checkbox/{mg-input-checkbox.stories.d.ts → doc/mg-input-checkbox.stories.d.ts} +0 -0
  158. package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.d.ts +5 -2
  159. package/dist/types/components/molecules/inputs/mg-input-date/{mg-input-date.stories.d.ts → doc/mg-input-date.stories.d.ts} +0 -0
  160. package/dist/types/components/molecules/inputs/mg-input-date/mg-input-date.d.ts +7 -1
  161. package/dist/types/components/molecules/inputs/mg-input-numeric/{mg-input-numeric.stories.d.ts → doc/mg-input-numeric.stories.d.ts} +6 -0
  162. package/dist/types/components/molecules/inputs/mg-input-numeric/mg-input-numeric.d.ts +8 -2
  163. package/dist/types/components/molecules/inputs/mg-input-password/{mg-input-password.stories.d.ts → doc/mg-input-password.stories.d.ts} +8 -0
  164. package/dist/types/components/molecules/inputs/mg-input-password/mg-input-password.d.ts +7 -2
  165. package/dist/types/components/molecules/inputs/mg-input-radio/{mg-input-radio.stories.d.ts → doc/mg-input-radio.stories.d.ts} +0 -0
  166. package/dist/types/components/molecules/inputs/mg-input-radio/mg-input-radio.d.ts +5 -1
  167. package/dist/types/components/molecules/inputs/mg-input-select/{mg-input-select.stories.d.ts → doc/mg-input-select.stories.d.ts} +11 -5
  168. package/dist/types/components/molecules/inputs/mg-input-select/mg-input-select.d.ts +7 -2
  169. package/dist/types/components/molecules/inputs/mg-input-text/{mg-input-text.stories.d.ts → doc/mg-input-text.stories.d.ts} +8 -0
  170. package/dist/types/components/molecules/inputs/mg-input-text/mg-input-text.d.ts +7 -7
  171. package/dist/types/components/molecules/inputs/mg-input-textarea/{mg-input-textarea.stories.d.ts → doc/mg-input-textarea.stories.d.ts} +8 -0
  172. package/dist/types/components/molecules/inputs/mg-input-textarea/mg-input-textarea.d.ts +14 -6
  173. package/dist/types/components/molecules/inputs/mg-input-toggle/{mg-input-toggle.stories.d.ts → doc/mg-input-toggle.stories.d.ts} +0 -0
  174. package/dist/types/components/molecules/inputs/mg-input-toggle/mg-input-toggle.d.ts +2 -0
  175. package/dist/types/components/molecules/mg-details/doc/mg-details.stories.d.ts +11 -0
  176. package/dist/types/components/molecules/mg-details/mg-details.d.ts +49 -0
  177. package/dist/types/components/molecules/mg-form/{mg-form.stories.d.ts → doc/mg-form.stories.d.ts} +0 -0
  178. package/dist/types/components/molecules/mg-form/mg-form.d.ts +14 -0
  179. package/dist/types/components/molecules/mg-illustrated-message/doc/mg-illustrated-message.stories.d.ts +6 -0
  180. package/dist/types/components/molecules/mg-illustrated-message/mg-illustrated-message.d.ts +28 -0
  181. package/dist/types/components/molecules/mg-message/{mg-message.stories.d.ts → doc/mg-message.stories.d.ts} +0 -0
  182. package/dist/types/components/molecules/mg-message/mg-message.d.ts +2 -0
  183. package/dist/types/components/molecules/mg-modal/{mg-modal.stories.d.ts → doc/mg-modal.stories.d.ts} +0 -0
  184. package/dist/types/components/molecules/mg-modal/mg-modal.d.ts +2 -0
  185. package/dist/types/components/molecules/mg-pagination/{mg-pagination.stories.d.ts → doc/mg-pagination.stories.d.ts} +0 -0
  186. package/dist/types/components/molecules/mg-pagination/mg-pagination.d.ts +8 -0
  187. package/dist/types/components/molecules/mg-panel/{mg-panel.stories.d.ts → doc/mg-panel.stories.d.ts} +0 -0
  188. package/dist/types/components/molecules/mg-panel/mg-panel.d.ts +5 -0
  189. package/dist/types/components/molecules/mg-popover/doc/mg-popover.stories.d.ts +28 -0
  190. package/dist/types/components/molecules/mg-popover/mg-popover.conf.d.ts +8 -0
  191. package/dist/types/components/molecules/mg-popover/mg-popover.d.ts +15 -2
  192. package/dist/types/components/molecules/mg-tabs/{mg-tabs.stories.d.ts → doc/mg-tabs.stories.d.ts} +0 -0
  193. package/dist/types/components/molecules/mg-tabs/mg-tabs.conf.d.ts +7 -1
  194. package/dist/types/components/molecules/mg-tabs/mg-tabs.d.ts +44 -0
  195. package/dist/types/components.d.ts +240 -147
  196. package/dist/types/home/runner/work/mg-components/mg-components/.stencil/.storybook/utils.d.ts +1 -0
  197. package/dist/types/locales/index.d.ts +109 -46
  198. package/dist/types/stories/{buttons.stories.d.ts → helpers.stories.d.ts} +1 -1
  199. package/dist/types/utils/components.utils.d.ts +8 -0
  200. package/dist/types/utils/locale.utils.d.ts +7 -3
  201. package/loader/index.js +1 -1
  202. package/package.json +16 -16
  203. package/readme.md +6 -35
  204. package/dist/cjs/css-shim-629916b0.js +0 -6
  205. package/dist/cjs/mg-badge_21.cjs.entry.js +0 -3358
  206. package/dist/cjs/mg-popover.cjs.entry.js +0 -161
  207. package/dist/cjs/popper-0c3964e7.js +0 -1786
  208. package/dist/cjs/shadow-css-546083ef.js +0 -390
  209. package/dist/collection/components/atoms/mg-character-left/mg-character-left.stories.js +0 -23
  210. package/dist/collection/components/atoms/mg-input-title/mg-input-title.stories.js +0 -21
  211. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.stories.js +0 -26
  212. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.stories.js +0 -78
  213. package/dist/collection/components/molecules/mg-modal/mg-modal.stories.js +0 -51
  214. package/dist/collection/components/molecules/mg-pagination/mg-pagination.stories.js +0 -24
  215. package/dist/collection/components/molecules/mg-panel/mg-panel.stories.js +0 -39
  216. package/dist/collection/stories/buttons.stories.js +0 -43
  217. package/dist/collection/stories/messages.stories.js +0 -44
  218. package/dist/collection/stories/tags.stories.js +0 -13
  219. package/dist/esm/css-shim-0993aa3b.js +0 -4
  220. package/dist/esm/mg-badge_21.entry.js +0 -3334
  221. package/dist/esm/mg-popover.entry.js +0 -157
  222. package/dist/esm/popper-8874fd6c.js +0 -1784
  223. package/dist/esm/shadow-css-dfa0587f.js +0 -388
  224. package/dist/esm-es5/css-shim-0993aa3b.js +0 -1
  225. package/dist/esm-es5/index-9e877561.js +0 -1
  226. package/dist/esm-es5/index-c346f52d.js +0 -1
  227. package/dist/esm-es5/index.js +0 -0
  228. package/dist/esm-es5/loader.js +0 -1
  229. package/dist/esm-es5/mg-badge_21.entry.js +0 -2
  230. package/dist/esm-es5/mg-components.js +0 -1
  231. package/dist/esm-es5/mg-modal.entry.js +0 -1
  232. package/dist/esm-es5/mg-popover.entry.js +0 -1
  233. package/dist/esm-es5/popper-8874fd6c.js +0 -1
  234. package/dist/esm-es5/shadow-css-dfa0587f.js +0 -12
  235. package/dist/mg-components/mg-components.js +0 -132
  236. package/dist/mg-components/p-136c8d6f.system.entry.js +0 -2
  237. package/dist/mg-components/p-3c14153d.js +0 -1
  238. package/dist/mg-components/p-50ea2036.system.js +0 -1
  239. package/dist/mg-components/p-55a22b35.system.js +0 -1
  240. package/dist/mg-components/p-5e796581.js +0 -12
  241. package/dist/mg-components/p-656b5efb.system.js +0 -1
  242. package/dist/mg-components/p-68d6f104.js +0 -1
  243. package/dist/mg-components/p-6d49ed95.js +0 -1
  244. package/dist/mg-components/p-6f173f62.system.entry.js +0 -1
  245. package/dist/mg-components/p-70177194.entry.js +0 -1
  246. package/dist/mg-components/p-8b2d8a2a.system.js +0 -13
  247. package/dist/mg-components/p-8cb61c3f.system.js +0 -1
  248. package/dist/mg-components/p-ace173b1.js +0 -1
  249. package/dist/mg-components/p-b7488a4c.entry.js +0 -1
  250. package/dist/mg-components/p-c1ffb2e1.entry.js +0 -1
  251. package/dist/mg-components/p-c90cc4bf.system.js +0 -1
  252. package/dist/mg-components/p-de1164fa.system.entry.js +0 -1
  253. package/dist/mg-components/p-e4a502b5.system.js +0 -1
  254. package/dist/types/components/atoms/mg-character-left/mg-character-left.stories.d.ts +0 -16
  255. package/dist/types/components/atoms/mg-tooltip/mg-tooltip.stories.d.ts +0 -11
  256. package/dist/types/components/molecules/mg-popover/mg-popover.stories.d.ts +0 -12
  257. package/dist/types/stories/messages.stories.d.ts +0 -13
@@ -1,390 +0,0 @@
1
- 'use strict';
2
-
3
- /*
4
- Stencil Client Platform v2.15.1 | MIT Licensed | https://stenciljs.com
5
- */
6
- /**
7
- * @license
8
- * Copyright Google Inc. All Rights Reserved.
9
- *
10
- * Use of this source code is governed by an MIT-style license that can be
11
- * found in the LICENSE file at https://angular.io/license
12
- *
13
- * This file is a port of shadowCSS from webcomponents.js to TypeScript.
14
- * https://github.com/webcomponents/webcomponentsjs/blob/4efecd7e0e/src/ShadowCSS/ShadowCSS.js
15
- * https://github.com/angular/angular/blob/master/packages/compiler/src/shadow_css.ts
16
- */
17
- const safeSelector = (selector) => {
18
- const placeholders = [];
19
- let index = 0;
20
- let content;
21
- // Replaces attribute selectors with placeholders.
22
- // The WS in [attr="va lue"] would otherwise be interpreted as a selector separator.
23
- selector = selector.replace(/(\[[^\]]*\])/g, (_, keep) => {
24
- const replaceBy = `__ph-${index}__`;
25
- placeholders.push(keep);
26
- index++;
27
- return replaceBy;
28
- });
29
- // Replaces the expression in `:nth-child(2n + 1)` with a placeholder.
30
- // WS and "+" would otherwise be interpreted as selector separators.
31
- content = selector.replace(/(:nth-[-\w]+)(\([^)]+\))/g, (_, pseudo, exp) => {
32
- const replaceBy = `__ph-${index}__`;
33
- placeholders.push(exp);
34
- index++;
35
- return pseudo + replaceBy;
36
- });
37
- const ss = {
38
- content,
39
- placeholders,
40
- };
41
- return ss;
42
- };
43
- const restoreSafeSelector = (placeholders, content) => {
44
- return content.replace(/__ph-(\d+)__/g, (_, index) => placeholders[+index]);
45
- };
46
- const _polyfillHost = '-shadowcsshost';
47
- const _polyfillSlotted = '-shadowcssslotted';
48
- // note: :host-context pre-processed to -shadowcsshostcontext.
49
- const _polyfillHostContext = '-shadowcsscontext';
50
- const _parenSuffix = ')(?:\\((' + '(?:\\([^)(]*\\)|[^)(]*)+?' + ')\\))?([^,{]*)';
51
- const _cssColonHostRe = new RegExp('(' + _polyfillHost + _parenSuffix, 'gim');
52
- const _cssColonHostContextRe = new RegExp('(' + _polyfillHostContext + _parenSuffix, 'gim');
53
- const _cssColonSlottedRe = new RegExp('(' + _polyfillSlotted + _parenSuffix, 'gim');
54
- const _polyfillHostNoCombinator = _polyfillHost + '-no-combinator';
55
- const _polyfillHostNoCombinatorRe = /-shadowcsshost-no-combinator([^\s]*)/;
56
- const _shadowDOMSelectorsRe = [/::shadow/g, /::content/g];
57
- const _selectorReSuffix = '([>\\s~+[.,{:][\\s\\S]*)?$';
58
- const _polyfillHostRe = /-shadowcsshost/gim;
59
- const _colonHostRe = /:host/gim;
60
- const _colonSlottedRe = /::slotted/gim;
61
- const _colonHostContextRe = /:host-context/gim;
62
- const _commentRe = /\/\*\s*[\s\S]*?\*\//g;
63
- const stripComments = (input) => {
64
- return input.replace(_commentRe, '');
65
- };
66
- const _commentWithHashRe = /\/\*\s*#\s*source(Mapping)?URL=[\s\S]+?\*\//g;
67
- const extractCommentsWithHash = (input) => {
68
- return input.match(_commentWithHashRe) || [];
69
- };
70
- const _ruleRe = /(\s*)([^;\{\}]+?)(\s*)((?:{%BLOCK%}?\s*;?)|(?:\s*;))/g;
71
- const _curlyRe = /([{}])/g;
72
- const _selectorPartsRe = /(^.*?[^\\])??((:+)(.*)|$)/;
73
- const OPEN_CURLY = '{';
74
- const CLOSE_CURLY = '}';
75
- const BLOCK_PLACEHOLDER = '%BLOCK%';
76
- const processRules = (input, ruleCallback) => {
77
- const inputWithEscapedBlocks = escapeBlocks(input);
78
- let nextBlockIndex = 0;
79
- return inputWithEscapedBlocks.escapedString.replace(_ruleRe, (...m) => {
80
- const selector = m[2];
81
- let content = '';
82
- let suffix = m[4];
83
- let contentPrefix = '';
84
- if (suffix && suffix.startsWith('{' + BLOCK_PLACEHOLDER)) {
85
- content = inputWithEscapedBlocks.blocks[nextBlockIndex++];
86
- suffix = suffix.substring(BLOCK_PLACEHOLDER.length + 1);
87
- contentPrefix = '{';
88
- }
89
- const cssRule = {
90
- selector,
91
- content,
92
- };
93
- const rule = ruleCallback(cssRule);
94
- return `${m[1]}${rule.selector}${m[3]}${contentPrefix}${rule.content}${suffix}`;
95
- });
96
- };
97
- const escapeBlocks = (input) => {
98
- const inputParts = input.split(_curlyRe);
99
- const resultParts = [];
100
- const escapedBlocks = [];
101
- let bracketCount = 0;
102
- let currentBlockParts = [];
103
- for (let partIndex = 0; partIndex < inputParts.length; partIndex++) {
104
- const part = inputParts[partIndex];
105
- if (part === CLOSE_CURLY) {
106
- bracketCount--;
107
- }
108
- if (bracketCount > 0) {
109
- currentBlockParts.push(part);
110
- }
111
- else {
112
- if (currentBlockParts.length > 0) {
113
- escapedBlocks.push(currentBlockParts.join(''));
114
- resultParts.push(BLOCK_PLACEHOLDER);
115
- currentBlockParts = [];
116
- }
117
- resultParts.push(part);
118
- }
119
- if (part === OPEN_CURLY) {
120
- bracketCount++;
121
- }
122
- }
123
- if (currentBlockParts.length > 0) {
124
- escapedBlocks.push(currentBlockParts.join(''));
125
- resultParts.push(BLOCK_PLACEHOLDER);
126
- }
127
- const strEscapedBlocks = {
128
- escapedString: resultParts.join(''),
129
- blocks: escapedBlocks,
130
- };
131
- return strEscapedBlocks;
132
- };
133
- const insertPolyfillHostInCssText = (selector) => {
134
- selector = selector
135
- .replace(_colonHostContextRe, _polyfillHostContext)
136
- .replace(_colonHostRe, _polyfillHost)
137
- .replace(_colonSlottedRe, _polyfillSlotted);
138
- return selector;
139
- };
140
- const convertColonRule = (cssText, regExp, partReplacer) => {
141
- // m[1] = :host(-context), m[2] = contents of (), m[3] rest of rule
142
- return cssText.replace(regExp, (...m) => {
143
- if (m[2]) {
144
- const parts = m[2].split(',');
145
- const r = [];
146
- for (let i = 0; i < parts.length; i++) {
147
- const p = parts[i].trim();
148
- if (!p)
149
- break;
150
- r.push(partReplacer(_polyfillHostNoCombinator, p, m[3]));
151
- }
152
- return r.join(',');
153
- }
154
- else {
155
- return _polyfillHostNoCombinator + m[3];
156
- }
157
- });
158
- };
159
- const colonHostPartReplacer = (host, part, suffix) => {
160
- return host + part.replace(_polyfillHost, '') + suffix;
161
- };
162
- const convertColonHost = (cssText) => {
163
- return convertColonRule(cssText, _cssColonHostRe, colonHostPartReplacer);
164
- };
165
- const colonHostContextPartReplacer = (host, part, suffix) => {
166
- if (part.indexOf(_polyfillHost) > -1) {
167
- return colonHostPartReplacer(host, part, suffix);
168
- }
169
- else {
170
- return host + part + suffix + ', ' + part + ' ' + host + suffix;
171
- }
172
- };
173
- const convertColonSlotted = (cssText, slotScopeId) => {
174
- const slotClass = '.' + slotScopeId + ' > ';
175
- const selectors = [];
176
- cssText = cssText.replace(_cssColonSlottedRe, (...m) => {
177
- if (m[2]) {
178
- const compound = m[2].trim();
179
- const suffix = m[3];
180
- const slottedSelector = slotClass + compound + suffix;
181
- let prefixSelector = '';
182
- for (let i = m[4] - 1; i >= 0; i--) {
183
- const char = m[5][i];
184
- if (char === '}' || char === ',') {
185
- break;
186
- }
187
- prefixSelector = char + prefixSelector;
188
- }
189
- const orgSelector = prefixSelector + slottedSelector;
190
- const addedSelector = `${prefixSelector.trimRight()}${slottedSelector.trim()}`;
191
- if (orgSelector.trim() !== addedSelector.trim()) {
192
- const updatedSelector = `${addedSelector}, ${orgSelector}`;
193
- selectors.push({
194
- orgSelector,
195
- updatedSelector,
196
- });
197
- }
198
- return slottedSelector;
199
- }
200
- else {
201
- return _polyfillHostNoCombinator + m[3];
202
- }
203
- });
204
- return {
205
- selectors,
206
- cssText,
207
- };
208
- };
209
- const convertColonHostContext = (cssText) => {
210
- return convertColonRule(cssText, _cssColonHostContextRe, colonHostContextPartReplacer);
211
- };
212
- const convertShadowDOMSelectors = (cssText) => {
213
- return _shadowDOMSelectorsRe.reduce((result, pattern) => result.replace(pattern, ' '), cssText);
214
- };
215
- const makeScopeMatcher = (scopeSelector) => {
216
- const lre = /\[/g;
217
- const rre = /\]/g;
218
- scopeSelector = scopeSelector.replace(lre, '\\[').replace(rre, '\\]');
219
- return new RegExp('^(' + scopeSelector + ')' + _selectorReSuffix, 'm');
220
- };
221
- const selectorNeedsScoping = (selector, scopeSelector) => {
222
- const re = makeScopeMatcher(scopeSelector);
223
- return !re.test(selector);
224
- };
225
- const injectScopingSelector = (selector, scopingSelector) => {
226
- return selector.replace(_selectorPartsRe, (_, before = '', _colonGroup, colon = '', after = '') => {
227
- return before + scopingSelector + colon + after;
228
- });
229
- };
230
- const applySimpleSelectorScope = (selector, scopeSelector, hostSelector) => {
231
- // In Android browser, the lastIndex is not reset when the regex is used in String.replace()
232
- _polyfillHostRe.lastIndex = 0;
233
- if (_polyfillHostRe.test(selector)) {
234
- const replaceBy = `.${hostSelector}`;
235
- return selector
236
- .replace(_polyfillHostNoCombinatorRe, (_, selector) => injectScopingSelector(selector, replaceBy))
237
- .replace(_polyfillHostRe, replaceBy + ' ');
238
- }
239
- return scopeSelector + ' ' + selector;
240
- };
241
- const applyStrictSelectorScope = (selector, scopeSelector, hostSelector) => {
242
- const isRe = /\[is=([^\]]*)\]/g;
243
- scopeSelector = scopeSelector.replace(isRe, (_, ...parts) => parts[0]);
244
- const className = '.' + scopeSelector;
245
- const _scopeSelectorPart = (p) => {
246
- let scopedP = p.trim();
247
- if (!scopedP) {
248
- return '';
249
- }
250
- if (p.indexOf(_polyfillHostNoCombinator) > -1) {
251
- scopedP = applySimpleSelectorScope(p, scopeSelector, hostSelector);
252
- }
253
- else {
254
- // remove :host since it should be unnecessary
255
- const t = p.replace(_polyfillHostRe, '');
256
- if (t.length > 0) {
257
- scopedP = injectScopingSelector(t, className);
258
- }
259
- }
260
- return scopedP;
261
- };
262
- const safeContent = safeSelector(selector);
263
- selector = safeContent.content;
264
- let scopedSelector = '';
265
- let startIndex = 0;
266
- let res;
267
- const sep = /( |>|\+|~(?!=))\s*/g;
268
- // If a selector appears before :host it should not be shimmed as it
269
- // matches on ancestor elements and not on elements in the host's shadow
270
- // `:host-context(div)` is transformed to
271
- // `-shadowcsshost-no-combinatordiv, div -shadowcsshost-no-combinator`
272
- // the `div` is not part of the component in the 2nd selectors and should not be scoped.
273
- // Historically `component-tag:host` was matching the component so we also want to preserve
274
- // this behavior to avoid breaking legacy apps (it should not match).
275
- // The behavior should be:
276
- // - `tag:host` -> `tag[h]` (this is to avoid breaking legacy apps, should not match anything)
277
- // - `tag :host` -> `tag [h]` (`tag` is not scoped because it's considered part of a
278
- // `:host-context(tag)`)
279
- const hasHost = selector.indexOf(_polyfillHostNoCombinator) > -1;
280
- // Only scope parts after the first `-shadowcsshost-no-combinator` when it is present
281
- let shouldScope = !hasHost;
282
- while ((res = sep.exec(selector)) !== null) {
283
- const separator = res[1];
284
- const part = selector.slice(startIndex, res.index).trim();
285
- shouldScope = shouldScope || part.indexOf(_polyfillHostNoCombinator) > -1;
286
- const scopedPart = shouldScope ? _scopeSelectorPart(part) : part;
287
- scopedSelector += `${scopedPart} ${separator} `;
288
- startIndex = sep.lastIndex;
289
- }
290
- const part = selector.substring(startIndex);
291
- shouldScope = shouldScope || part.indexOf(_polyfillHostNoCombinator) > -1;
292
- scopedSelector += shouldScope ? _scopeSelectorPart(part) : part;
293
- // replace the placeholders with their original values
294
- return restoreSafeSelector(safeContent.placeholders, scopedSelector);
295
- };
296
- const scopeSelector = (selector, scopeSelectorText, hostSelector, slotSelector) => {
297
- return selector
298
- .split(',')
299
- .map((shallowPart) => {
300
- if (slotSelector && shallowPart.indexOf('.' + slotSelector) > -1) {
301
- return shallowPart.trim();
302
- }
303
- if (selectorNeedsScoping(shallowPart, scopeSelectorText)) {
304
- return applyStrictSelectorScope(shallowPart, scopeSelectorText, hostSelector).trim();
305
- }
306
- else {
307
- return shallowPart.trim();
308
- }
309
- })
310
- .join(', ');
311
- };
312
- const scopeSelectors = (cssText, scopeSelectorText, hostSelector, slotSelector, commentOriginalSelector) => {
313
- return processRules(cssText, (rule) => {
314
- let selector = rule.selector;
315
- let content = rule.content;
316
- if (rule.selector[0] !== '@') {
317
- selector = scopeSelector(rule.selector, scopeSelectorText, hostSelector, slotSelector);
318
- }
319
- else if (rule.selector.startsWith('@media') ||
320
- rule.selector.startsWith('@supports') ||
321
- rule.selector.startsWith('@page') ||
322
- rule.selector.startsWith('@document')) {
323
- content = scopeSelectors(rule.content, scopeSelectorText, hostSelector, slotSelector);
324
- }
325
- const cssRule = {
326
- selector: selector.replace(/\s{2,}/g, ' ').trim(),
327
- content,
328
- };
329
- return cssRule;
330
- });
331
- };
332
- const scopeCssText = (cssText, scopeId, hostScopeId, slotScopeId, commentOriginalSelector) => {
333
- cssText = insertPolyfillHostInCssText(cssText);
334
- cssText = convertColonHost(cssText);
335
- cssText = convertColonHostContext(cssText);
336
- const slotted = convertColonSlotted(cssText, slotScopeId);
337
- cssText = slotted.cssText;
338
- cssText = convertShadowDOMSelectors(cssText);
339
- if (scopeId) {
340
- cssText = scopeSelectors(cssText, scopeId, hostScopeId, slotScopeId);
341
- }
342
- cssText = cssText.replace(/-shadowcsshost-no-combinator/g, `.${hostScopeId}`);
343
- cssText = cssText.replace(/>\s*\*\s+([^{, ]+)/gm, ' $1 ');
344
- return {
345
- cssText: cssText.trim(),
346
- slottedSelectors: slotted.selectors,
347
- };
348
- };
349
- const scopeCss = (cssText, scopeId, commentOriginalSelector) => {
350
- const hostScopeId = scopeId + '-h';
351
- const slotScopeId = scopeId + '-s';
352
- const commentsWithHash = extractCommentsWithHash(cssText);
353
- cssText = stripComments(cssText);
354
- const orgSelectors = [];
355
- if (commentOriginalSelector) {
356
- const processCommentedSelector = (rule) => {
357
- const placeholder = `/*!@___${orgSelectors.length}___*/`;
358
- const comment = `/*!@${rule.selector}*/`;
359
- orgSelectors.push({ placeholder, comment });
360
- rule.selector = placeholder + rule.selector;
361
- return rule;
362
- };
363
- cssText = processRules(cssText, (rule) => {
364
- if (rule.selector[0] !== '@') {
365
- return processCommentedSelector(rule);
366
- }
367
- else if (rule.selector.startsWith('@media') ||
368
- rule.selector.startsWith('@supports') ||
369
- rule.selector.startsWith('@page') ||
370
- rule.selector.startsWith('@document')) {
371
- rule.content = processRules(rule.content, processCommentedSelector);
372
- return rule;
373
- }
374
- return rule;
375
- });
376
- }
377
- const scoped = scopeCssText(cssText, scopeId, hostScopeId, slotScopeId);
378
- cssText = [scoped.cssText, ...commentsWithHash].join('\n');
379
- if (commentOriginalSelector) {
380
- orgSelectors.forEach(({ placeholder, comment }) => {
381
- cssText = cssText.replace(placeholder, comment);
382
- });
383
- }
384
- scoped.slottedSelectors.forEach((slottedSelector) => {
385
- cssText = cssText.replace(slottedSelector.orgSelector, slottedSelector.updatedSelector);
386
- });
387
- return cssText;
388
- };
389
-
390
- exports.scopeCss = scopeCss;
@@ -1,23 +0,0 @@
1
- import { h } from '@stencil/core';
2
- import { messages } from '../../../locales';
3
- export default {
4
- component: 'mg-character-left',
5
- title: 'Atoms/mg-character-left',
6
- argTypes: {
7
- template: {
8
- table: {
9
- defaultValue: { summary: messages.nbCharLeft },
10
- },
11
- },
12
- },
13
- };
14
- const Template = args => h("mg-character-left", Object.assign({}, args));
15
- export const MgCharacterLeft = Template.bind({});
16
- MgCharacterLeft.args = {
17
- identifier: 'identifier',
18
- characters: '',
19
- maxlength: 400,
20
- template: undefined,
21
- };
22
- export const CustomTemplate = Template.bind({});
23
- CustomTemplate.args = Object.assign(Object.assign({}, MgCharacterLeft.args), { maxlength: 100, template: 'Custom template with {counter} characters left.' });
@@ -1,21 +0,0 @@
1
- import { h } from '@stencil/core';
2
- export default {
3
- component: 'mg-input-title',
4
- title: 'Atoms/mg-input-title',
5
- };
6
- const Template = args => {
7
- // Extract slot so it won't be render as an attribute
8
- const slot = args.slot;
9
- delete args.slot;
10
- const isLegend = args.isLegend;
11
- delete args.isLegend;
12
- // return element
13
- return (h("mg-input-title", Object.assign({}, args, { "is-legend": isLegend }), slot));
14
- };
15
- export const MgInputTitle = Template.bind({});
16
- MgInputTitle.args = {
17
- slot: 'Label',
18
- identifier: 'identifier',
19
- required: true,
20
- isLegend: false,
21
- };
@@ -1,26 +0,0 @@
1
- import { h } from '@stencil/core';
2
- export default {
3
- component: 'mg-tooltip',
4
- title: 'Atoms/mg-tooltip',
5
- parameters: {
6
- layout: 'centered',
7
- },
8
- };
9
- const Template = args => (h("mg-tooltip", Object.assign({}, args),
10
- h("mg-icon", { icon: "info-circle" })));
11
- export const MgTooltip = Template.bind({});
12
- MgTooltip.args = {
13
- identifier: 'identifier',
14
- message: 'This is a tooltip message',
15
- placement: 'bottom',
16
- display: false,
17
- disabled: false,
18
- };
19
- const TemplateButton = args => (h("mg-tooltip", Object.assign({}, args),
20
- h("mg-button", null, "Action")));
21
- export const MgTooltipOnButton = TemplateButton.bind({});
22
- MgTooltipOnButton.args = Object.assign({}, MgTooltip.args);
23
- const TemplateSpan = args => (h("mg-tooltip", Object.assign({}, args),
24
- h("span", null, "any text")));
25
- export const MgTooltipOnSpan = TemplateSpan.bind({});
26
- MgTooltipOnSpan.args = Object.assign({}, MgTooltip.args);
@@ -1,78 +0,0 @@
1
- import { h } from '@stencil/core';
2
- export default {
3
- component: 'mg-input-toggle',
4
- title: 'Molecules/Inputs/mg-input-toggle',
5
- parameters: { actions: { handles: ['value-change', 'input-valid'] } },
6
- };
7
- const args = {
8
- // Global
9
- value: null,
10
- items: [
11
- { title: 'non', value: false },
12
- { title: 'oui', value: true },
13
- ],
14
- identifier: 'identifier',
15
- name: 'input-name',
16
- // Label
17
- label: 'Option',
18
- labelOnTop: false,
19
- labelHide: false,
20
- // toggle
21
- isIcon: false,
22
- isOnOff: false,
23
- // Input
24
- disabled: false,
25
- readonly: false,
26
- // Tooltip
27
- tooltip: 'This is a tooltip',
28
- // Help Text
29
- helpText: 'Help text with html <strong>bold</strong>, <em>italic</em>.',
30
- };
31
- /**
32
- * 1. camelCase arguments must be written in the template, for exemple labelOnTop must be placed in the template as label-on-top={args.labelOnTop}
33
- * 2. boolean arguments with a default true value must be added like display-character-left={args.displayCharacterLeft ? 'true' : 'false'}
34
- *
35
- * @param {any} args component arguments
36
- * @returns {HTMLElement} HTMLElement
37
- */
38
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
39
- const Template = (args) => {
40
- // Extract slot so it won't be render as an attribute
41
- const labelOnTop = args.labelOnTop;
42
- delete args.labelOnTop;
43
- const labelHide = args.labelHide;
44
- delete args.labelHide;
45
- const isIcon = args.isIcon;
46
- delete args.isIcon;
47
- const isOnOff = args.isOnOff;
48
- delete args.isOnOff;
49
- const helpText = args.helpText;
50
- delete args.helpText;
51
- // return element
52
- return (h("mg-input-toggle", Object.assign({}, args, { "label-on-top": labelOnTop, "label-hide": labelHide, "help-text": helpText, "is-icon": isIcon, "is-on-off": isOnOff }),
53
- h("span", { slot: "item-1" }, "Non"),
54
- h("span", { slot: "item-2" }, "Oui")));
55
- };
56
- export const MgInputToggle = Template.bind({});
57
- MgInputToggle.args = Object.assign({}, args);
58
- const TemplateIcon = args => {
59
- // Extract slot so it won't be render as an attribute
60
- const labelOnTop = args.labelOnTop;
61
- delete args.labelOnTop;
62
- const helpText = args.helpText;
63
- delete args.helpText;
64
- const labelHide = args.labelHide;
65
- delete args.labelHide;
66
- const isIcon = args.isIcon;
67
- delete args.isIcon;
68
- const isOnOff = args.isOnOff;
69
- delete args.isOnOff;
70
- // return element
71
- return (h("mg-input-toggle", Object.assign({}, args, { "label-on-top": labelOnTop, "label-hide": labelHide, "help-text": helpText, "is-icon": isIcon, "is-on-off": isOnOff }),
72
- h("span", { slot: "item-1" },
73
- h("mg-icon", { icon: "cross" })),
74
- h("span", { slot: "item-2" },
75
- h("mg-icon", { icon: "check" }))));
76
- };
77
- export const MgInputToggleWithIcon = TemplateIcon.bind({});
78
- MgInputToggleWithIcon.args = Object.assign(Object.assign({}, args), { isIcon: true, isOnOff: true });
@@ -1,51 +0,0 @@
1
- /* eslint-disable react/jsx-no-bind */
2
- import { h } from '@stencil/core';
3
- export default {
4
- component: 'mg-modal',
5
- title: 'Molecules/mg-modal',
6
- parameters: { actions: { handles: ['component-show', 'component-hide'] } },
7
- };
8
- /**
9
- * 1. camelCase arguments must be written in the template, for exemple labelOnTop must be placed in the template as label-on-top={args.labelOnTop}
10
- * 2. boolean arguments with a default true value must be added like display-character-left={args.displayCharacterLeft ? 'true' : 'false'}
11
- */
12
- const Template = args => {
13
- // Extract slot so it won't be render as an attribute
14
- const slotContent = args.slotContent;
15
- delete args.slotContent;
16
- const slotActions = args.slotActions;
17
- delete args.slotActions;
18
- const closeButton = args.closeButton;
19
- delete args.closeButton;
20
- const modalTitle = args.modalTitle;
21
- delete args.modalTitle;
22
- // return element
23
- return (h("div", null,
24
- h("mg-button", { controls: "identifier", haspopup: "dialog", onClick: () => {
25
- const mgModal = document.querySelector('mg-modal');
26
- const isHide = mgModal.hide === true;
27
- if (isHide) {
28
- mgModal.removeAttribute('hide'); // storybook first render is an attribute then we use property
29
- mgModal.hide = false;
30
- }
31
- else {
32
- mgModal.hide = true;
33
- }
34
- } }, "Open modal"),
35
- h("mg-modal", Object.assign({}, args, { "close-button": closeButton, "modal-title": modalTitle }),
36
- slotContent && h("span", { slot: "content", innerHTML: slotContent }),
37
- slotActions && h("span", { slot: "actions", innerHTML: slotActions }))));
38
- };
39
- export const MgModal = Template.bind({});
40
- MgModal.args = {
41
- slotContent: `<p slot="content">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>`,
42
- slotActions: ``,
43
- modalTitle: 'Modal title',
44
- identifier: 'identifier',
45
- closeButton: false,
46
- hide: true,
47
- };
48
- export const WithCloseButton = Template.bind({});
49
- WithCloseButton.args = Object.assign(Object.assign({}, MgModal.args), { closeButton: true });
50
- export const WithActions = Template.bind({});
51
- WithActions.args = Object.assign(Object.assign({}, MgModal.args), { closeButton: true, slotActions: `<div slot="actions" class="mg-group-elements mg-group-elements--align-right"><mg-button>Primary</mg-button><mg-button variant="secondary">Secondary</mg-button></div>` });
@@ -1,24 +0,0 @@
1
- import { h } from '@stencil/core';
2
- export default {
3
- component: 'mg-pagination',
4
- title: 'Molecules/mg-pagination',
5
- parameters: { actions: { handles: ['current-page-change'] } },
6
- };
7
- /**
8
- * 1. camelCase arguments must be written in the template, for exemple labelOnTop must be placed in the template as label-on-top={args.labelOnTop}
9
- * 2. boolean arguments with a default true value must be added like display-character-left={args.displayCharacterLeft ? 'true' : 'false'}
10
- */
11
- const Template = args => {
12
- // Extract slot so it won't be render as an attribute
13
- const totalPages = args.totalPages;
14
- delete args.totalPages;
15
- const currentPage = args.currentPage;
16
- delete args.currentPage;
17
- // return element
18
- return h("mg-pagination", Object.assign({}, args, { "total-pages": totalPages, "current-page": currentPage }));
19
- };
20
- export const MgPagination = Template.bind({});
21
- MgPagination.args = {
22
- totalPages: 5,
23
- currentPage: 1,
24
- };
@@ -1,39 +0,0 @@
1
- import { h } from '@stencil/core';
2
- export default {
3
- component: 'mg-panel',
4
- title: 'Molecules/mg-panel',
5
- parameters: { actions: { handles: ['title-change'] } },
6
- };
7
- /**
8
- * 1. camelCase arguments must be written in the template, for exemple labelOnTop must be placed in the template as label-on-top={args.labelOnTop}
9
- * 2. boolean arguments with a default true value must be added like display-character-left={args.displayCharacterLeft ? 'true' : 'false'}
10
- */
11
- const Template = args => {
12
- // Extract slot so it won't be render as an attribute
13
- const panelTitle = args.panelTitle;
14
- delete args.panelTitle;
15
- const titleEditable = args.titleEditable;
16
- delete args.titleEditable;
17
- const expandToggleDisabled = args.expandToggleDisabled;
18
- delete args.expandToggleDisabled;
19
- const titlePattern = args.titlePattern;
20
- delete args.titlePattern;
21
- const titlePatternErrorMessage = args.titlePatternErrorMessage;
22
- delete args.titlePatternErrorMessage;
23
- // return element
24
- return (h("mg-panel", Object.assign({}, args, { "panel-title": panelTitle, "title-editable": titleEditable, "expand-toggle-disabled": expandToggleDisabled, "title-pattern": titlePattern, "title-pattern-error-message": titlePatternErrorMessage }),
25
- h("div", null, "Content"),
26
- h("div", { slot: "header-right" },
27
- h("mg-button", { variant: "secondary" },
28
- h("mg-icon", { icon: "file-upload" }),
29
- " Upload"),
30
- h("mg-button", { "is-icon": true, variant: "secondary", label: "delete" },
31
- h("mg-icon", { icon: "trash" })))));
32
- };
33
- export const MgPanel = Template.bind({});
34
- MgPanel.args = {
35
- panelTitle: 'title',
36
- expanded: false,
37
- titleEditable: true,
38
- expandToggleDisabled: true,
39
- };