@mgdis/mg-components 4.2.1 → 5.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 (105) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/{mg-badge_23.cjs.entry.js → mg-badge_27.cjs.entry.js} +2590 -121
  3. package/dist/cjs/mg-components.cjs.js +1 -1
  4. package/dist/collection/collection-manifest.json +2 -0
  5. package/dist/collection/components/atoms/mg-badge/mg-badge.js +1 -3
  6. package/dist/collection/components/atoms/mg-button/doc/mg-button.stories.js +1 -2
  7. package/dist/collection/components/atoms/mg-button/mg-button.css +113 -67
  8. package/dist/collection/components/atoms/mg-button/mg-button.js +89 -64
  9. package/dist/collection/components/atoms/mg-card/doc/mg-card.stories.js +18 -0
  10. package/dist/collection/components/atoms/mg-card/mg-card.css +7 -0
  11. package/dist/collection/components/atoms/mg-card/mg-card.js +26 -0
  12. package/dist/collection/components/atoms/mg-divider/doc/mg-divider.stories.js +18 -0
  13. package/dist/collection/components/atoms/mg-divider/mg-divider.css +9 -0
  14. package/dist/collection/components/atoms/mg-divider/mg-divider.js +57 -0
  15. package/dist/collection/components/atoms/mg-icon/mg-icon.conf.js +3 -0
  16. package/dist/collection/components/atoms/mg-input-title/mg-input-title.js +1 -3
  17. package/dist/collection/components/atoms/mg-tooltip/doc/mg-tooltip.stories.js +0 -5
  18. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.conf.js +0 -20
  19. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.css +1 -1
  20. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js +6 -7
  21. package/dist/collection/components/molecules/inputs/MgInput.js +1 -3
  22. package/dist/collection/components/molecules/mg-details/doc/mg-details.stories.js +1 -0
  23. package/dist/collection/components/molecules/mg-details/mg-details.css +29 -0
  24. package/dist/collection/components/molecules/mg-details/mg-details.js +26 -4
  25. package/dist/collection/components/molecules/mg-form/mg-form.js +2 -3
  26. package/dist/collection/components/molecules/mg-illustrated-message/doc/mg-illustrated-message.stories.js +2 -1
  27. package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.css +15 -7
  28. package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.js +27 -2
  29. package/dist/collection/components/molecules/mg-modal/doc/mg-modal.stories.js +1 -1
  30. package/dist/collection/components/molecules/mg-modal/mg-modal.css +2 -1
  31. package/dist/collection/components/molecules/mg-modal/mg-modal.js +53 -7
  32. package/dist/collection/components/molecules/mg-pagination/mg-pagination.js +4 -3
  33. package/dist/collection/components/molecules/mg-panel/doc/mg-panel.stories.js +1 -1
  34. package/dist/collection/components/molecules/mg-panel/mg-panel.css +12 -20
  35. package/dist/collection/components/molecules/mg-panel/mg-panel.js +2 -4
  36. package/dist/collection/components/molecules/mg-popover/doc/mg-popover.stories.js +0 -5
  37. package/dist/collection/components/molecules/mg-popover/mg-popover.css +3 -3
  38. package/dist/collection/components/molecules/mg-popover/mg-popover.js +10 -10
  39. package/dist/collection/components/molecules/mg-tabs/mg-tabs.js +1 -3
  40. package/dist/collection/utils/components.utils.js +10 -6
  41. package/dist/collection/variables.css +22 -1
  42. package/dist/components/MgInput.js +1 -3
  43. package/dist/components/components.utils.js +11 -7
  44. package/dist/components/index.d.ts +2 -0
  45. package/dist/components/index.js +2 -0
  46. package/dist/components/mg-badge2.js +1 -3
  47. package/dist/components/mg-button2.js +63 -13
  48. package/dist/components/mg-card.d.ts +11 -0
  49. package/dist/components/mg-card.js +42 -0
  50. package/dist/components/mg-details.js +8 -3
  51. package/dist/components/mg-divider.d.ts +11 -0
  52. package/dist/components/mg-divider.js +51 -0
  53. package/dist/components/mg-form.js +2 -3
  54. package/dist/components/mg-icon2.js +3 -0
  55. package/dist/components/mg-illustrated-message.js +12 -4
  56. package/dist/components/mg-input-title2.js +1 -3
  57. package/dist/components/mg-modal.js +54 -8
  58. package/dist/components/mg-pagination.js +4 -3
  59. package/dist/components/mg-panel.js +3 -5
  60. package/dist/components/mg-popover.js +11 -10
  61. package/dist/components/mg-tabs.js +1 -3
  62. package/dist/components/mg-tooltip2.js +7 -10
  63. package/dist/esm/loader.js +1 -1
  64. package/dist/esm/{mg-badge_23.entry.js → mg-badge_27.entry.js} +2538 -73
  65. package/dist/esm/mg-components.js +1 -1
  66. package/dist/mg-components/mg-components.css +1 -1
  67. package/dist/mg-components/mg-components.esm.js +1 -1
  68. package/dist/mg-components/p-e131701a.entry.js +1 -0
  69. package/dist/mg-components/variables.css +22 -1
  70. package/dist/types/components/atoms/mg-button/doc/mg-button.stories.d.ts +2 -2
  71. package/dist/types/components/atoms/mg-button/mg-button.conf.d.ts +5 -1
  72. package/dist/types/components/atoms/mg-button/mg-button.d.ts +25 -17
  73. package/dist/types/components/atoms/mg-card/doc/mg-card.stories.d.ts +6 -0
  74. package/dist/types/components/atoms/mg-card/mg-card.d.ts +11 -0
  75. package/dist/types/components/atoms/mg-divider/doc/mg-divider.stories.d.ts +6 -0
  76. package/dist/types/components/atoms/mg-divider/mg-divider.d.ts +15 -0
  77. package/dist/types/components/atoms/mg-tooltip/doc/mg-tooltip.stories.d.ts +0 -6
  78. package/dist/types/components/atoms/mg-tooltip/mg-tooltip.conf.d.ts +0 -8
  79. package/dist/types/components/atoms/mg-tooltip/mg-tooltip.d.ts +1 -1
  80. package/dist/types/components/molecules/mg-details/mg-details.d.ts +4 -0
  81. package/dist/types/components/molecules/mg-illustrated-message/mg-illustrated-message.d.ts +4 -0
  82. package/dist/types/components/molecules/mg-modal/mg-modal.d.ts +8 -0
  83. package/dist/types/components/molecules/mg-pagination/mg-pagination.d.ts +1 -0
  84. package/dist/types/components/molecules/mg-popover/doc/mg-popover.stories.d.ts +0 -6
  85. package/dist/types/components/molecules/mg-popover/mg-popover.d.ts +1 -1
  86. package/dist/types/components.d.ts +64 -31
  87. package/dist/types/utils/components.utils.d.ts +7 -3
  88. package/package.json +4 -3
  89. package/dist/cjs/index-179621c8.js +0 -244
  90. package/dist/cjs/mg-modal.cjs.entry.js +0 -130
  91. package/dist/cjs/mg-popover.cjs.entry.js +0 -171
  92. package/dist/cjs/popper-11d5f714.js +0 -1801
  93. package/dist/collection/components/molecules/mg-popover/mg-popover.conf.js +0 -20
  94. package/dist/collection/variables.scss +0 -212
  95. package/dist/esm/index-7efedd97.js +0 -238
  96. package/dist/esm/mg-modal.entry.js +0 -126
  97. package/dist/esm/mg-popover.entry.js +0 -167
  98. package/dist/esm/popper-f860750c.js +0 -1799
  99. package/dist/mg-components/p-25452f60.entry.js +0 -1
  100. package/dist/mg-components/p-5f89600c.js +0 -1
  101. package/dist/mg-components/p-a20fc541.entry.js +0 -1
  102. package/dist/mg-components/p-e08bc19a.entry.js +0 -1
  103. package/dist/mg-components/p-ec26fc38.js +0 -1
  104. package/dist/mg-components/variables.scss +0 -212
  105. package/dist/types/components/molecules/mg-popover/mg-popover.conf.d.ts +0 -8
@@ -15,5 +15,5 @@ const patchBrowser = () => {
15
15
  };
16
16
 
17
17
  patchBrowser().then(options => {
18
- return index.bootstrapLazy([["mg-badge_23.cjs",[[1,"mg-panel",{"identifier":[1],"panelTitle":[1025,"panel-title"],"titlePattern":[1025,"title-pattern"],"titlePatternErrorMessage":[1025,"title-pattern-error-message"],"expanded":[1028],"expandToggleDisabled":[1028,"expand-toggle-disabled"],"titleEditable":[4,"title-editable"],"classList":[32],"isEditing":[32],"updatedPanelTitle":[32]}],[1,"mg-pagination",{"identifier":[1],"label":[1025],"totalPages":[2,"total-pages"],"currentPage":[1538,"current-page"]}],[1,"mg-input-textarea",{"value":[1537],"identifier":[1],"name":[1],"label":[1],"labelOnTop":[4,"label-on-top"],"labelHide":[4,"label-hide"],"placeholder":[1],"maxlength":[2],"required":[4],"readonly":[4],"disabled":[4],"mgWidth":[8,"mg-width"],"pattern":[1],"patternErrorMessage":[1,"pattern-error-message"],"rows":[2],"tooltip":[1],"displayCharacterLeft":[4,"display-character-left"],"helpText":[1,"help-text"],"valid":[1028],"invalid":[1028],"resizable":[1],"classList":[32],"errorMessage":[32],"displayError":[64]}],[1,"mg-input-checkbox",{"value":[1040],"identifier":[1],"name":[1],"label":[1],"labelOnTop":[4,"label-on-top"],"labelHide":[4,"label-hide"],"inputVerticalList":[4,"input-vertical-list"],"required":[4],"readonly":[4],"disabled":[4],"tooltip":[1],"helpText":[1,"help-text"],"valid":[1028],"invalid":[1028],"classList":[32],"errorMessage":[32],"checkboxItems":[32],"displayError":[64]}],[1,"mg-input-date",{"value":[1537],"identifier":[1],"name":[1],"label":[1],"labelOnTop":[4,"label-on-top"],"labelHide":[4,"label-hide"],"required":[4],"readonly":[4],"disabled":[4],"tooltip":[1],"helpText":[1,"help-text"],"valid":[1028],"invalid":[1028],"min":[1],"max":[1],"classList":[32],"errorMessage":[32],"displayError":[64]}],[1,"mg-input-numeric",{"value":[1537],"identifier":[1],"name":[1],"label":[1],"labelOnTop":[4,"label-on-top"],"labelHide":[4,"label-hide"],"placeholder":[1],"required":[4],"readonly":[4],"disabled":[4],"mgWidth":[8,"mg-width"],"tooltip":[1],"helpText":[1,"help-text"],"type":[1],"currency":[1],"max":[2],"min":[2],"integerLength":[2,"integer-length"],"decimalLength":[2,"decimal-length"],"valid":[1028],"invalid":[1028],"classList":[32],"errorMessage":[32],"hasFocus":[32],"displayError":[64]}],[1,"mg-input-password",{"value":[1537],"identifier":[1],"name":[1],"label":[1],"labelOnTop":[4,"label-on-top"],"labelHide":[4,"label-hide"],"placeholder":[1],"required":[4],"readonly":[4],"disabled":[4],"mgWidth":[8,"mg-width"],"tooltip":[1],"helpText":[1,"help-text"],"valid":[1028],"invalid":[1028],"classList":[32],"errorMessage":[32],"displayError":[64]}],[1,"mg-input-radio",{"value":[1032],"items":[16],"identifier":[1],"name":[1],"label":[1],"labelOnTop":[4,"label-on-top"],"labelHide":[4,"label-hide"],"inputVerticalList":[4,"input-vertical-list"],"required":[4],"readonly":[4],"disabled":[4],"tooltip":[1],"helpText":[1,"help-text"],"valid":[1028],"invalid":[1028],"classList":[32],"errorMessage":[32],"options":[32],"displayError":[64]}],[1,"mg-input-toggle",{"value":[1032],"items":[16],"identifier":[1],"name":[1],"label":[1],"labelOnTop":[4,"label-on-top"],"labelHide":[4,"label-hide"],"isOnOff":[4,"is-on-off"],"isIcon":[4,"is-icon"],"readonly":[4],"disabled":[4],"tooltip":[1],"helpText":[1,"help-text"],"classList":[32],"options":[32],"checked":[32]}],[1,"mg-message",{"identifier":[1],"delay":[2],"variant":[1],"closeButton":[1028,"close-button"],"hide":[1028],"classList":[32],"hasActions":[32]}],[1,"mg-tabs",{"identifier":[1],"label":[1],"size":[1],"items":[16],"activeTab":[1538,"active-tab"],"tabs":[32],"classList":[32]}],[1,"mg-details",{"toggleClosed":[1,"toggle-closed"],"toggleOpened":[1,"toggle-opened"],"expanded":[1028]}],[1,"mg-form",{"identifier":[1],"name":[1],"readonly":[4],"disabled":[4],"valid":[1028],"invalid":[1028],"classList":[32],"displayError":[64]}],[1,"mg-illustrated-message",{"size":[1]}],[1,"mg-tag",{"variant":[1],"outline":[4],"classList":[32]}],[1,"mg-input-text",{"value":[1537],"identifier":[1],"name":[1],"label":[1],"type":[1],"icon":[1],"labelOnTop":[4,"label-on-top"],"labelHide":[4,"label-hide"],"placeholder":[1],"maxlength":[2],"required":[4],"readonly":[4],"disabled":[4],"mgWidth":[8,"mg-width"],"pattern":[1],"patternErrorMessage":[1,"pattern-error-message"],"tooltip":[1],"displayCharacterLeft":[4,"display-character-left"],"helpText":[1,"help-text"],"valid":[1028],"invalid":[1028],"classList":[32],"errorMessage":[32],"setFocus":[64],"displayError":[64]}],[1,"mg-input-select",{"value":[1032],"items":[16],"identifier":[1],"name":[1],"label":[1],"labelOnTop":[4,"label-on-top"],"labelHide":[4,"label-hide"],"placeholder":[1025],"placeholderHide":[4,"placeholder-hide"],"placeholderDisabled":[4,"placeholder-disabled"],"required":[4],"readonly":[4],"disabled":[4],"mgWidth":[8,"mg-width"],"tooltip":[1],"helpText":[1,"help-text"],"valid":[1028],"invalid":[1028],"classList":[32],"errorMessage":[32],"options":[32],"valueExist":[32],"readonlyValue":[32],"displayError":[64]}],[1,"mg-badge",{"value":[1032],"label":[1],"variant":[1],"outline":[4],"classList":[32]}],[2,"mg-character-left",{"identifier":[1],"characters":[1],"maxlength":[2]}],[6,"mg-button",{"variant":[1],"identifier":[1],"label":[1],"type":[1],"form":[1025],"disabled":[1028],"isIcon":[4,"is-icon"],"disableOnClick":[4,"disable-on-click"],"expanded":[4],"controls":[1],"haspopup":[8],"loading":[32],"classList":[32]}],[6,"mg-input-title",{"identifier":[1],"required":[4],"isLegend":[4,"is-legend"],"tagName":[32]}],[6,"mg-tooltip",{"identifier":[1],"message":[1],"placement":[1],"display":[1028],"disabled":[1028]}],[1,"mg-icon",{"icon":[1],"size":[1],"variant":[1],"spin":[4],"classList":[32]}]]],["mg-modal.cjs",[[1,"mg-modal",{"identifier":[1],"modalTitle":[1,"modal-title"],"closeButton":[1028,"close-button"],"hide":[1028],"hasActions":[32],"hasContent":[32],"classList":[32]},[[8,"keydown","handleKeyDown"]]]]],["mg-popover.cjs",[[6,"mg-popover",{"identifier":[1],"placement":[1],"closeButton":[4,"close-button"],"display":[1028],"disabled":[1028]}]]]], options);
18
+ return index.bootstrapLazy([["mg-badge_27.cjs",[[1,"mg-panel",{"identifier":[1],"panelTitle":[1025,"panel-title"],"titlePattern":[1025,"title-pattern"],"titlePatternErrorMessage":[1025,"title-pattern-error-message"],"expanded":[1028],"expandToggleDisabled":[1028,"expand-toggle-disabled"],"titleEditable":[4,"title-editable"],"classList":[32],"isEditing":[32],"updatedPanelTitle":[32]}],[1,"mg-pagination",{"identifier":[1],"label":[1025],"totalPages":[2,"total-pages"],"currentPage":[1538,"current-page"]}],[1,"mg-input-textarea",{"value":[1537],"identifier":[1],"name":[1],"label":[1],"labelOnTop":[4,"label-on-top"],"labelHide":[4,"label-hide"],"placeholder":[1],"maxlength":[2],"required":[4],"readonly":[4],"disabled":[4],"mgWidth":[8,"mg-width"],"pattern":[1],"patternErrorMessage":[1,"pattern-error-message"],"rows":[2],"tooltip":[1],"displayCharacterLeft":[4,"display-character-left"],"helpText":[1,"help-text"],"valid":[1028],"invalid":[1028],"resizable":[1],"classList":[32],"errorMessage":[32],"displayError":[64]}],[1,"mg-input-checkbox",{"value":[1040],"identifier":[1],"name":[1],"label":[1],"labelOnTop":[4,"label-on-top"],"labelHide":[4,"label-hide"],"inputVerticalList":[4,"input-vertical-list"],"required":[4],"readonly":[4],"disabled":[4],"tooltip":[1],"helpText":[1,"help-text"],"valid":[1028],"invalid":[1028],"classList":[32],"errorMessage":[32],"checkboxItems":[32],"displayError":[64]}],[1,"mg-input-date",{"value":[1537],"identifier":[1],"name":[1],"label":[1],"labelOnTop":[4,"label-on-top"],"labelHide":[4,"label-hide"],"required":[4],"readonly":[4],"disabled":[4],"tooltip":[1],"helpText":[1,"help-text"],"valid":[1028],"invalid":[1028],"min":[1],"max":[1],"classList":[32],"errorMessage":[32],"displayError":[64]}],[1,"mg-input-numeric",{"value":[1537],"identifier":[1],"name":[1],"label":[1],"labelOnTop":[4,"label-on-top"],"labelHide":[4,"label-hide"],"placeholder":[1],"required":[4],"readonly":[4],"disabled":[4],"mgWidth":[8,"mg-width"],"tooltip":[1],"helpText":[1,"help-text"],"type":[1],"currency":[1],"max":[2],"min":[2],"integerLength":[2,"integer-length"],"decimalLength":[2,"decimal-length"],"valid":[1028],"invalid":[1028],"classList":[32],"errorMessage":[32],"hasFocus":[32],"displayError":[64]}],[1,"mg-input-password",{"value":[1537],"identifier":[1],"name":[1],"label":[1],"labelOnTop":[4,"label-on-top"],"labelHide":[4,"label-hide"],"placeholder":[1],"required":[4],"readonly":[4],"disabled":[4],"mgWidth":[8,"mg-width"],"tooltip":[1],"helpText":[1,"help-text"],"valid":[1028],"invalid":[1028],"classList":[32],"errorMessage":[32],"displayError":[64]}],[1,"mg-input-radio",{"value":[1032],"items":[16],"identifier":[1],"name":[1],"label":[1],"labelOnTop":[4,"label-on-top"],"labelHide":[4,"label-hide"],"inputVerticalList":[4,"input-vertical-list"],"required":[4],"readonly":[4],"disabled":[4],"tooltip":[1],"helpText":[1,"help-text"],"valid":[1028],"invalid":[1028],"classList":[32],"errorMessage":[32],"options":[32],"displayError":[64]}],[1,"mg-input-toggle",{"value":[1032],"items":[16],"identifier":[1],"name":[1],"label":[1],"labelOnTop":[4,"label-on-top"],"labelHide":[4,"label-hide"],"isOnOff":[4,"is-on-off"],"isIcon":[4,"is-icon"],"readonly":[4],"disabled":[4],"tooltip":[1],"helpText":[1,"help-text"],"classList":[32],"options":[32],"checked":[32]}],[1,"mg-message",{"identifier":[1],"delay":[2],"variant":[1],"closeButton":[1028,"close-button"],"hide":[1028],"classList":[32],"hasActions":[32]}],[1,"mg-modal",{"identifier":[1],"modalTitle":[1,"modal-title"],"closeButton":[1028,"close-button"],"hide":[1028],"hasActions":[32],"hasContent":[32],"classList":[32]},[[8,"keydown","handleKeyDown"]]],[1,"mg-popover",{"identifier":[1],"placement":[1],"closeButton":[4,"close-button"],"display":[1028],"disabled":[1028]}],[1,"mg-tabs",{"identifier":[1],"label":[1],"size":[1],"items":[16],"activeTab":[1538,"active-tab"],"tabs":[32],"classList":[32]}],[1,"mg-details",{"toggleClosed":[1,"toggle-closed"],"toggleOpened":[1,"toggle-opened"],"hideSummary":[4,"hide-summary"],"expanded":[1028]}],[1,"mg-card"],[1,"mg-divider",{"size":[1]}],[1,"mg-form",{"identifier":[1],"name":[1],"readonly":[4],"disabled":[4],"valid":[1028],"invalid":[1028],"classList":[32],"displayError":[64]}],[1,"mg-illustrated-message",{"size":[1],"direction":[1]}],[1,"mg-tag",{"variant":[1],"outline":[4],"classList":[32]}],[1,"mg-input-text",{"value":[1537],"identifier":[1],"name":[1],"label":[1],"type":[1],"icon":[1],"labelOnTop":[4,"label-on-top"],"labelHide":[4,"label-hide"],"placeholder":[1],"maxlength":[2],"required":[4],"readonly":[4],"disabled":[4],"mgWidth":[8,"mg-width"],"pattern":[1],"patternErrorMessage":[1,"pattern-error-message"],"tooltip":[1],"displayCharacterLeft":[4,"display-character-left"],"helpText":[1,"help-text"],"valid":[1028],"invalid":[1028],"classList":[32],"errorMessage":[32],"setFocus":[64],"displayError":[64]}],[1,"mg-input-select",{"value":[1032],"items":[16],"identifier":[1],"name":[1],"label":[1],"labelOnTop":[4,"label-on-top"],"labelHide":[4,"label-hide"],"placeholder":[1025],"placeholderHide":[4,"placeholder-hide"],"placeholderDisabled":[4,"placeholder-disabled"],"required":[4],"readonly":[4],"disabled":[4],"mgWidth":[8,"mg-width"],"tooltip":[1],"helpText":[1,"help-text"],"valid":[1028],"invalid":[1028],"classList":[32],"errorMessage":[32],"options":[32],"valueExist":[32],"readonlyValue":[32],"displayError":[64]}],[1,"mg-badge",{"value":[1032],"label":[1],"variant":[1],"outline":[4],"classList":[32]}],[2,"mg-character-left",{"identifier":[1],"characters":[1],"maxlength":[2]}],[1,"mg-button",{"variant":[1],"identifier":[1],"label":[1],"type":[1],"fullWidth":[1028,"full-width"],"form":[1025],"disabled":[1028],"isIcon":[4,"is-icon"],"disableOnClick":[4,"disable-on-click"],"loading":[32],"classList":[32]}],[6,"mg-input-title",{"identifier":[1],"required":[4],"isLegend":[4,"is-legend"],"tagName":[32]}],[1,"mg-tooltip",{"identifier":[1],"message":[1],"placement":[1],"display":[1028],"disabled":[1028]}],[1,"mg-icon",{"icon":[1],"size":[1],"variant":[1],"spin":[4],"classList":[32]}]]]], options);
19
19
  });
@@ -2,7 +2,9 @@
2
2
  "entries": [
3
3
  "./components/atoms/mg-badge/mg-badge.js",
4
4
  "./components/atoms/mg-button/mg-button.js",
5
+ "./components/atoms/mg-card/mg-card.js",
5
6
  "./components/atoms/mg-character-left/mg-character-left.js",
7
+ "./components/atoms/mg-divider/mg-divider.js",
6
8
  "./components/atoms/mg-icon/mg-icon.js",
7
9
  "./components/atoms/mg-input-title/mg-input-title.js",
8
10
  "./components/atoms/mg-tag/mg-tag.js",
@@ -24,9 +24,7 @@ export class MgBadge {
24
24
  }
25
25
  validateLabel(newValue) {
26
26
  if (typeof newValue !== 'string' || newValue.trim() === '') {
27
- // TODO: throw new Error on next major (5.0.0)
28
- // throw new Error('<mg-badge> prop "label" is required.');
29
- console.error('<mg-badge> prop "label" is required.');
27
+ throw new Error('<mg-badge> prop "label" is required.');
30
28
  }
31
29
  }
32
30
  validateVariant(newValue, oldValue) {
@@ -36,9 +36,8 @@ MgButton.args = {
36
36
  disabled: false,
37
37
  disableOnClick: false,
38
38
  isIcon: false,
39
- expanded: false,
40
- controls: undefined,
41
39
  type: undefined,
40
+ fullWidth: undefined,
42
41
  };
43
42
  export const IsIcon = Template.bind({});
44
43
  IsIcon.args = Object.assign(Object.assign({}, MgButton.args), { isIcon: true, slot: h("mg-icon", { icon: Object.keys(icons)[0] }) });
@@ -1,110 +1,154 @@
1
1
  /* Variables */
2
2
  /* Mixins */
3
- /* Styles */
4
- .mg-button {
5
- position: relative;
6
- display: inline-flex;
7
- align-items: center;
8
- column-gap: 0.6rem;
9
- padding: calc((var(--default-size) - 0.2rem - var(--font-size) * var(--line-height)) / 2) 1.1rem;
10
- min-height: var(--default-size);
11
- box-sizing: border-box;
12
- border-top-right-radius: var(--mg-button-border-radius-top-right, var(--mg-button-border-radius));
13
- border-top-left-radius: var(--mg-button-border-radius-top-left, var(--mg-button-border-radius));
14
- border-bottom-right-radius: var(--mg-button-border-radius-bottom-right, var(--mg-button-border-radius));
15
- border-bottom-left-radius: var(--mg-button-border-radius-bottom-left, var(--mg-button-border-radius));
16
- cursor: pointer;
17
- background-image: none;
18
- border-top-width: var(--mg-button-border-top-width, 0.1rem);
19
- border-right-width: var(--mg-button-border-right-width, 0.1rem);
20
- border-bottom-width: var(--mg-button-border-bottom-width, 0.1rem);
21
- border-left-width: var(--mg-button-border-left-width, 0.1rem);
22
- border-style: solid;
23
- font-family: inherit;
24
- text-decoration: none;
25
- font-weight: normal;
26
- text-align: left;
27
- touch-action: manipulation;
3
+ :host {
4
+ display: inline-block;
5
+ vertical-align: middle;
6
+ max-width: 100%;
28
7
  }
29
- .mg-button[disabled], .mg-button[aria-disabled=true], .mg-button.disabled {
30
- opacity: var(--mg-button-disabled-opacity);
31
- cursor: default;
8
+
9
+ :host(:focus-visible) {
10
+ outline: 0;
32
11
  }
33
- .mg-button.mg-button--icon {
34
- padding: 0;
35
- justify-content: center;
36
- width: var(--default-size);
37
- height: var(--default-size);
38
- border-top-right-radius: var(--mg-button-border-radius-top-right, var(--mg-button-icon-border-radius));
39
- border-top-left-radius: var(--mg-button-border-radius-top-left, var(--mg-button-icon-border-radius));
40
- border-bottom-right-radius: var(--mg-button-border-radius-bottom-right, var(--mg-button-icon-border-radius));
41
- border-bottom-left-radius: var(--mg-button-border-radius-bottom-left, var(--mg-button-icon-border-radius));
42
- font-size: var(--font-size);
43
- line-height: var(--font-size);
12
+ :host(:focus-visible) .mg-button:not(.mg-button--disabled) {
13
+ outline-color: -webkit-focus-ring-color;
14
+ outline-style: auto;
15
+ outline-width: 0.2rem;
44
16
  }
17
+
18
+ :host(:hover) .mg-button--flat:not(.mg-button--disabled),
19
+ :host(:focus) .mg-button--flat:not(.mg-button--disabled),
20
+ :host(:active) .mg-button--flat:not(.mg-button--disabled) {
21
+ background: hsla(var(--color-dark), 0.1);
22
+ }
23
+
24
+ :host([full-width]) {
25
+ display: block;
26
+ }
27
+
45
28
  .mg-button.mg-button--primary {
46
29
  border-color: hsl(var(--mg-button-primary-border-color, var(--mg-button-primary-color-h), var(--mg-button-primary-color-s), calc(var(--mg-button-primary-color-l) - var(--mg-button-border-variation) * 10%)));
47
30
  color: hsl(var(--mg-button-primary-font-color));
48
31
  background: linear-gradient(to bottom, hsl(var(--mg-button-primary-color-h), var(--mg-button-primary-color-s), var(--mg-button-primary-color-l)), hsl(var(--mg-button-primary-color-h), var(--mg-button-primary-color-s), calc(var(--mg-button-primary-color-l) - var(--mg-button-gradient) * 10%)));
49
32
  }
50
- .mg-button.mg-button--primary:hover:not([disabled], [aria-disabled=true], .disabled), .mg-button.mg-button--primary:focus:not([disabled], [aria-disabled=true], .disabled), .mg-button.mg-button--primary:active:not([disabled], [aria-disabled=true], .disabled) {
33
+
34
+ :host(:hover) .mg-button--primary:not(.mg-button--disabled),
35
+ :host(:focus) .mg-button--primary:not(.mg-button--disabled),
36
+ :host(:active) .mg-button--primary:not(.mg-button--disabled) {
51
37
  background: hsl(var(--mg-button-primary-color-h), var(--mg-button-primary-color-s), var(--mg-button-primary-color-l));
52
38
  }
39
+
53
40
  .mg-button.mg-button--secondary {
54
41
  border-color: hsl(var(--mg-button-secondary-border-color, var(--mg-button-secondary-color-h), var(--mg-button-secondary-color-s), calc(var(--mg-button-secondary-color-l) - var(--mg-button-border-variation) * 10%)));
55
42
  color: hsl(var(--mg-button-secondary-font-color));
56
43
  background: linear-gradient(to bottom, hsl(var(--mg-button-secondary-color-h), var(--mg-button-secondary-color-s), var(--mg-button-secondary-color-l)), hsl(var(--mg-button-secondary-color-h), var(--mg-button-secondary-color-s), calc(var(--mg-button-secondary-color-l) - var(--mg-button-gradient) * 10%)));
57
44
  }
58
- .mg-button.mg-button--secondary:hover:not([disabled], [aria-disabled=true], .disabled), .mg-button.mg-button--secondary:focus:not([disabled], [aria-disabled=true], .disabled), .mg-button.mg-button--secondary:active:not([disabled], [aria-disabled=true], .disabled) {
45
+
46
+ :host(:hover) .mg-button--secondary:not(.mg-button--disabled),
47
+ :host(:focus) .mg-button--secondary:not(.mg-button--disabled),
48
+ :host(:active) .mg-button--secondary:not(.mg-button--disabled) {
59
49
  background: hsl(var(--mg-button-secondary-color-h), var(--mg-button-secondary-color-s), var(--mg-button-secondary-color-l));
60
50
  }
51
+
61
52
  .mg-button.mg-button--danger {
62
53
  border-color: hsl(var(--mg-button-danger-border-color, var(--color-danger-h), var(--color-danger-s), calc(var(--color-danger-l) - var(--mg-button-border-variation) * 10%)));
63
54
  color: hsl(var(--color-neutral));
64
55
  background: linear-gradient(to bottom, hsl(var(--color-danger-h), var(--color-danger-s), var(--color-danger-l)), hsl(var(--color-danger-h), var(--color-danger-s), calc(var(--color-danger-l) - var(--mg-button-gradient) * 10%)));
65
56
  }
66
- .mg-button.mg-button--danger:hover:not([disabled], [aria-disabled=true], .disabled), .mg-button.mg-button--danger:focus:not([disabled], [aria-disabled=true], .disabled), .mg-button.mg-button--danger:active:not([disabled], [aria-disabled=true], .disabled) {
57
+
58
+ :host(:hover) .mg-button--danger:not(.mg-button--disabled),
59
+ :host(:focus) .mg-button--danger:not(.mg-button--disabled),
60
+ :host(:active) .mg-button--danger:not(.mg-button--disabled) {
67
61
  background: hsl(var(--color-danger-h), var(--color-danger-s), var(--color-danger-l));
68
62
  }
63
+
69
64
  .mg-button.mg-button--danger-alt {
70
65
  border-color: hsl(var(--mg-button-danger-alt-border-color, var(--color-neutral-h), var(--color-neutral-s), calc(var(--color-neutral-l) - var(--mg-button-border-variation) * 10%)));
71
66
  color: hsl(var(--color-danger));
72
67
  background: linear-gradient(to bottom, hsl(var(--color-neutral-h), var(--color-neutral-s), var(--color-neutral-l)), hsl(var(--color-neutral-h), var(--color-neutral-s), calc(var(--color-neutral-l) - var(--mg-button-gradient) * 10%)));
73
68
  }
74
- .mg-button.mg-button--danger-alt:hover:not([disabled], [aria-disabled=true], .disabled), .mg-button.mg-button--danger-alt:focus:not([disabled], [aria-disabled=true], .disabled), .mg-button.mg-button--danger-alt:active:not([disabled], [aria-disabled=true], .disabled) {
69
+
70
+ :host(:hover) .mg-button--danger-alt:not(.mg-button--disabled),
71
+ :host(:focus) .mg-button--danger-alt:not(.mg-button--disabled),
72
+ :host(:active) .mg-button--danger-alt:not(.mg-button--disabled) {
75
73
  background: hsl(var(--color-neutral-h), var(--color-neutral-s), var(--color-neutral-l));
76
74
  }
75
+
77
76
  .mg-button.mg-button--info {
78
77
  border-color: hsl(var(--mg-button-info-border-color, var(--color-info-h), var(--color-info-s), calc(var(--color-info-l) - var(--mg-button-border-variation) * 10%)));
79
78
  color: hsl(var(--color-neutral));
80
79
  background: linear-gradient(to bottom, hsl(var(--color-info-h), var(--color-info-s), var(--color-info-l)), hsl(var(--color-info-h), var(--color-info-s), calc(var(--color-info-l) - var(--mg-button-gradient) * 10%)));
81
80
  }
82
- .mg-button.mg-button--info:hover:not([disabled], [aria-disabled=true], .disabled), .mg-button.mg-button--info:focus:not([disabled], [aria-disabled=true], .disabled), .mg-button.mg-button--info:active:not([disabled], [aria-disabled=true], .disabled) {
81
+
82
+ :host(:hover) .mg-button--info:not(.mg-button--disabled),
83
+ :host(:focus) .mg-button--info:not(.mg-button--disabled),
84
+ :host(:active) .mg-button--info:not(.mg-button--disabled) {
83
85
  background: hsl(var(--color-info-h), var(--color-info-s), var(--color-info-l));
84
86
  }
87
+
85
88
  .mg-button.mg-button--success {
86
89
  border-color: hsl(var(--mg-button-success-border-color, var(--color-success-h), var(--color-success-s), calc(var(--color-success-l) - var(--mg-button-border-variation) * 10%)));
87
90
  color: hsl(var(--color-dark));
88
91
  background: linear-gradient(to bottom, hsl(var(--color-success-h), var(--color-success-s), var(--color-success-l)), hsl(var(--color-success-h), var(--color-success-s), calc(var(--color-success-l) - var(--mg-button-gradient) * 10%)));
89
92
  }
90
- .mg-button.mg-button--success:hover:not([disabled], [aria-disabled=true], .disabled), .mg-button.mg-button--success:focus:not([disabled], [aria-disabled=true], .disabled), .mg-button.mg-button--success:active:not([disabled], [aria-disabled=true], .disabled) {
93
+
94
+ :host(:hover) .mg-button--success:not(.mg-button--disabled),
95
+ :host(:focus) .mg-button--success:not(.mg-button--disabled),
96
+ :host(:active) .mg-button--success:not(.mg-button--disabled) {
91
97
  background: hsl(var(--color-success-h), var(--color-success-s), var(--color-success-l));
92
98
  }
99
+
100
+ /* Styles */
101
+ .mg-button {
102
+ position: relative;
103
+ display: inline-flex;
104
+ align-items: center;
105
+ column-gap: 0.6rem;
106
+ padding: calc((var(--default-size) - 0.2rem - var(--font-size) * var(--line-height)) / 2) 1.1rem;
107
+ min-height: var(--default-size);
108
+ box-sizing: border-box;
109
+ border-top-right-radius: var(--mg-button-border-radius-top-right, var(--mg-button-border-radius));
110
+ border-top-left-radius: var(--mg-button-border-radius-top-left, var(--mg-button-border-radius));
111
+ border-bottom-right-radius: var(--mg-button-border-radius-bottom-right, var(--mg-button-border-radius));
112
+ border-bottom-left-radius: var(--mg-button-border-radius-bottom-left, var(--mg-button-border-radius));
113
+ cursor: pointer;
114
+ background-image: none;
115
+ border-top-width: var(--mg-button-border-top-width, 0.1rem);
116
+ border-right-width: var(--mg-button-border-right-width, 0.1rem);
117
+ border-bottom-width: var(--mg-button-border-bottom-width, 0.1rem);
118
+ border-left-width: var(--mg-button-border-left-width, 0.1rem);
119
+ border-style: solid;
120
+ text-decoration: none;
121
+ font-family: inherit;
122
+ font-weight: var(--mg-button-font-weight, normal);
123
+ text-align: left;
124
+ font-size: var(--font-size);
125
+ touch-action: manipulation;
126
+ }
127
+ .mg-button.mg-button--disabled {
128
+ opacity: var(--mg-button-disabled-opacity);
129
+ cursor: default;
130
+ }
131
+ .mg-button.mg-button--icon {
132
+ padding: 0;
133
+ justify-content: center;
134
+ width: var(--default-size);
135
+ height: var(--default-size);
136
+ border-top-right-radius: var(--mg-button-border-radius-top-right, var(--mg-button-icon-border-radius));
137
+ border-top-left-radius: var(--mg-button-border-radius-top-left, var(--mg-button-icon-border-radius));
138
+ border-bottom-right-radius: var(--mg-button-border-radius-bottom-right, var(--mg-button-icon-border-radius));
139
+ border-bottom-left-radius: var(--mg-button-border-radius-bottom-left, var(--mg-button-icon-border-radius));
140
+ font-size: var(--font-size);
141
+ line-height: var(--font-size);
142
+ }
93
143
  .mg-button.mg-button--flat {
94
144
  background: none;
95
145
  border: none;
96
146
  }
97
- .mg-button.mg-button--flat:hover:not([disabled], [aria-disabled=true], .disabled), .mg-button.mg-button--flat:focus:not([disabled], [aria-disabled=true], .disabled), .mg-button.mg-button--flat:active:not([disabled], [aria-disabled=true], .disabled) {
98
- background: hsla(var(--color-dark), 0.1);
99
- }
100
- .mg-button mg-icon:only-child,
101
- .mg-button ::slotted(mg-icon) {
102
- display: inline-flex;
103
- flex-shrink: 0;
104
- line-height: 1;
105
- margin: auto 0;
147
+ .mg-button.mg-button--full-width {
148
+ display: flex;
149
+ justify-content: center;
106
150
  }
107
- .mg-button.mg-button--loading > mg-icon {
151
+ .mg-button.mg-button--loading > mg-icon:first-of-type {
108
152
  position: absolute;
109
153
  left: 50%;
110
154
  top: 50%;
@@ -113,19 +157,21 @@
113
157
  .mg-button.mg-button--loading .mg-button__content {
114
158
  opacity: 0;
115
159
  }
116
-
117
- .mg-button__content {
160
+ .mg-button mg-icon:only-child,
161
+ .mg-button ::slotted(mg-icon) {
162
+ display: inline-flex;
163
+ flex-shrink: 0;
164
+ line-height: 1;
165
+ margin: auto 0;
166
+ }
167
+ .mg-button slot,
168
+ .mg-button ::slotted(*:not(mg-icon)) {
169
+ text-decoration: none;
170
+ font-family: inherit;
171
+ font-weight: var(--mg-button-font-weight, normal);
172
+ text-align: left;
173
+ font-size: var(--font-size);
118
174
  display: flex;
119
175
  align-items: center;
120
176
  column-gap: 0.6rem;
121
- }
122
-
123
- mg-button {
124
- display: inline-block;
125
- }
126
-
127
- .mg-button,
128
- mg-button {
129
- vertical-align: middle;
130
- max-width: 100%;
131
177
  }
@@ -1,4 +1,4 @@
1
- import { h } from '@stencil/core';
1
+ import { h, Host } from '@stencil/core';
2
2
  import { variants } from './mg-button.conf';
3
3
  import { ClassList } from '../../../utils/components.utils';
4
4
  export class MgButton {
@@ -7,10 +7,17 @@ export class MgButton {
7
7
  * Internal *
8
8
  ************/
9
9
  this.onClickElementFn = null;
10
+ this.classDisabled = 'mg-button--disabled';
11
+ this.classLoading = 'mg-button--loading';
12
+ this.classFullWidth = 'mg-button--full-width';
10
13
  /**
11
14
  * Define button variant
12
15
  */
13
16
  this.variant = variants[0]; // Primary
17
+ /**
18
+ * Set button to full-width
19
+ */
20
+ this.fullWidth = false;
14
21
  /**
15
22
  * Define if button is round.
16
23
  * Used for icon button.
@@ -41,11 +48,38 @@ export class MgButton {
41
48
  if (this.disabled)
42
49
  event.stopPropagation();
43
50
  // Used to prevent multi-click.
44
- if (this.disableOnClick && !this.disabled) {
51
+ else if (this.disableOnClick) {
45
52
  this.loading = true;
46
53
  this.disabled = true;
47
54
  }
48
55
  };
56
+ /**
57
+ * Handle onKeyDown event
58
+ *
59
+ * @param {KeyboardEvent} event keyboard event
60
+ * @returns {void}
61
+ */
62
+ this.handleKeydown = (event) => {
63
+ if (!this.disabled && event.key === ' ') {
64
+ event.preventDefault();
65
+ }
66
+ else if (!this.disabled && ['Enter', 'NumpadEnter', 'Space'].includes(event.key)) {
67
+ event.preventDefault();
68
+ this.element.dispatchEvent(new MouseEvent('click', { bubbles: true }));
69
+ }
70
+ };
71
+ /**
72
+ * Handle onKeyUp event
73
+ *
74
+ * @param {KeyboardEvent} event keyboard event
75
+ * @returns {void}
76
+ */
77
+ this.handleKeyup = (event) => {
78
+ if (!this.disabled && event.key === ' ') {
79
+ event.preventDefault();
80
+ this.element.dispatchEvent(new MouseEvent('click', { bubbles: true }));
81
+ }
82
+ };
49
83
  }
50
84
  validateVariant(newValue, oldValue) {
51
85
  if (!variants.includes(newValue)) {
@@ -58,6 +92,17 @@ export class MgButton {
58
92
  this.classList.add(`mg-button--${newValue}`);
59
93
  }
60
94
  }
95
+ validateFullWidth(newValue) {
96
+ if (newValue && this.isIcon) {
97
+ throw new Error('<mg-button> prop "fullWidth" cannot be used with prop "isIcon".');
98
+ }
99
+ else if (newValue) {
100
+ this.classList.add(this.classFullWidth);
101
+ }
102
+ else {
103
+ this.classList.delete(this.classFullWidth);
104
+ }
105
+ }
61
106
  disabledHandler(isDisabled) {
62
107
  // Remove loading when enable
63
108
  // Will be set back onclick
@@ -66,14 +111,21 @@ export class MgButton {
66
111
  }
67
112
  // Manage if onclick
68
113
  this.element.onclick = isDisabled ? undefined : this.onClickElementFn;
114
+ // apply style
115
+ if (isDisabled) {
116
+ this.classList.add(this.classDisabled);
117
+ }
118
+ else {
119
+ this.classList.delete(this.classDisabled);
120
+ }
69
121
  }
70
122
  loadingHandler(newValue) {
71
123
  // we add loading style if it newvalue is true else we remove it
72
124
  if (newValue) {
73
- this.classList.add('mg-button--loading');
125
+ this.classList.add(this.classLoading);
74
126
  }
75
127
  else {
76
- this.classList.delete('mg-button--loading');
128
+ this.classList.delete(this.classLoading);
77
129
  }
78
130
  }
79
131
  /**
@@ -83,6 +135,7 @@ export class MgButton {
83
135
  */
84
136
  componentWillLoad() {
85
137
  this.validateVariant(this.variant);
138
+ this.validateFullWidth(this.fullWidth);
86
139
  if (this.isIcon) {
87
140
  this.classList.add(`mg-button--icon`);
88
141
  if (typeof this.label !== 'string' || this.label.trim() === '') {
@@ -99,13 +152,10 @@ export class MgButton {
99
152
  * @returns {HTMLElement} html element
100
153
  */
101
154
  render() {
102
- return (h("button", { id: this.identifier, class: this.classList.join(), type: this.type, "aria-label": this.label, "aria-disabled": this.disabled !== undefined && this.disabled.toString(), "aria-expanded": this.expanded !== undefined && this.expanded.toString(), "aria-controls": this.controls, "aria-haspopup": this.haspopup !== undefined && this.haspopup.toString(), onClick: this.handleClick,
103
- // has stencil does not support form attribute on button, we set the attribute from the ref
104
- // https://github.com/ionic-team/stencil/issues/2703#issuecomment-1050943715
105
- ref: btn => this.form && btn.setAttribute('form', this.form) }, this.loading && h("mg-icon", { icon: "loader", spin: true }), h("div", { class: "mg-button__content" }, h("slot", null))));
155
+ return (h(Host, { role: "button", tabIndex: this.disabled ? -1 : 0, type: this.type, form: this.form, "full-width": this.fullWidth, "aria-label": this.label, "aria-disabled": this.disabled !== undefined && this.disabled.toString(), onClick: this.handleClick, onKeyUp: this.handleKeyup, onKeyDown: this.handleKeydown }, h("div", { class: this.classList.join(), id: this.identifier }, this.loading && h("mg-icon", { icon: "loader", spin: true }), h("div", { class: "mg-button__content" }, h("slot", null)))));
106
156
  }
107
157
  static get is() { return "mg-button"; }
108
- static get encapsulation() { return "scoped"; }
158
+ static get encapsulation() { return "shadow"; }
109
159
  static get originalStyleUrls() {
110
160
  return {
111
161
  "$": ["mg-button.scss"]
@@ -122,9 +172,14 @@ export class MgButton {
122
172
  "type": "string",
123
173
  "mutable": false,
124
174
  "complexType": {
125
- "original": "string",
126
- "resolved": "string",
127
- "references": {}
175
+ "original": "VariantType",
176
+ "resolved": "\"danger\" | \"danger-alt\" | \"flat\" | \"info\" | \"primary\" | \"secondary\" | \"success\"",
177
+ "references": {
178
+ "VariantType": {
179
+ "location": "import",
180
+ "path": "./mg-button.conf"
181
+ }
182
+ }
128
183
  },
129
184
  "required": false,
130
185
  "optional": false,
@@ -187,11 +242,29 @@ export class MgButton {
187
242
  "optional": false,
188
243
  "docs": {
189
244
  "tags": [],
190
- "text": "Define button type\nDefault: 'submit', as HTMLButtonElement type is submit by default"
245
+ "text": "Define button type"
191
246
  },
192
247
  "attribute": "type",
193
248
  "reflect": false
194
249
  },
250
+ "fullWidth": {
251
+ "type": "boolean",
252
+ "mutable": true,
253
+ "complexType": {
254
+ "original": "boolean",
255
+ "resolved": "boolean",
256
+ "references": {}
257
+ },
258
+ "required": false,
259
+ "optional": false,
260
+ "docs": {
261
+ "tags": [],
262
+ "text": "Set button to full-width"
263
+ },
264
+ "attribute": "full-width",
265
+ "reflect": false,
266
+ "defaultValue": "false"
267
+ },
195
268
  "form": {
196
269
  "type": "string",
197
270
  "mutable": true,
@@ -261,57 +334,6 @@ export class MgButton {
261
334
  "attribute": "disable-on-click",
262
335
  "reflect": false,
263
336
  "defaultValue": "false"
264
- },
265
- "expanded": {
266
- "type": "boolean",
267
- "mutable": false,
268
- "complexType": {
269
- "original": "boolean",
270
- "resolved": "boolean",
271
- "references": {}
272
- },
273
- "required": false,
274
- "optional": false,
275
- "docs": {
276
- "tags": [],
277
- "text": "Prop to set aria-expanded on button element"
278
- },
279
- "attribute": "expanded",
280
- "reflect": false
281
- },
282
- "controls": {
283
- "type": "string",
284
- "mutable": false,
285
- "complexType": {
286
- "original": "string",
287
- "resolved": "string",
288
- "references": {}
289
- },
290
- "required": false,
291
- "optional": false,
292
- "docs": {
293
- "tags": [],
294
- "text": "Prop to set aria-controls on button element"
295
- },
296
- "attribute": "controls",
297
- "reflect": false
298
- },
299
- "haspopup": {
300
- "type": "any",
301
- "mutable": false,
302
- "complexType": {
303
- "original": "boolean | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog'",
304
- "resolved": "\"dialog\" | \"grid\" | \"listbox\" | \"menu\" | \"tree\" | boolean",
305
- "references": {}
306
- },
307
- "required": false,
308
- "optional": false,
309
- "docs": {
310
- "tags": [],
311
- "text": "Option to set aria-haspopup\nThe aria-haspopup state informs assistive technology users that there is a popup and the type of popup it is, but provides no interactivity."
312
- },
313
- "attribute": "haspopup",
314
- "reflect": false
315
337
  }
316
338
  };
317
339
  }
@@ -326,6 +348,9 @@ export class MgButton {
326
348
  return [{
327
349
  "propName": "variant",
328
350
  "methodName": "validateVariant"
351
+ }, {
352
+ "propName": "fullWidth",
353
+ "methodName": "validateFullWidth"
329
354
  }, {
330
355
  "propName": "disabled",
331
356
  "methodName": "disabledHandler"
@@ -0,0 +1,18 @@
1
+ import { h } from '@stencil/core';
2
+ import { filterArgs } from '../../../../../.storybook/utils';
3
+ export default {
4
+ component: 'mg-card',
5
+ title: 'Atoms/mg-card',
6
+ };
7
+ /**
8
+ * Template
9
+ *
10
+ * @param {any} args component arguments
11
+ * @returns {HTMLElement} HTMLElement
12
+ */
13
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
14
+ const Template = (args) => h("mg-card", Object.assign({}, filterArgs(args)), args.slot);
15
+ export const MgCard = Template.bind({});
16
+ MgCard.args = {
17
+ slot: '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.',
18
+ };
@@ -0,0 +1,7 @@
1
+ .mg-card {
2
+ padding: var(--mg-card-padding);
3
+ border-radius: var(--mg-card-border-radius);
4
+ background: var(--mg-card-background);
5
+ border: var(--mg-card-border);
6
+ box-shadow: var(--mg-card-box-shadow);
7
+ }
@@ -0,0 +1,26 @@
1
+ import { h } from '@stencil/core';
2
+ export class MgCard {
3
+ /*************
4
+ * Lifecycle *
5
+ *************/
6
+ /**
7
+ * Render
8
+ *
9
+ * @returns {HTMLElement} HTML Element
10
+ */
11
+ render() {
12
+ return (h("div", { class: "mg-card" }, h("slot", null)));
13
+ }
14
+ static get is() { return "mg-card"; }
15
+ static get encapsulation() { return "shadow"; }
16
+ static get originalStyleUrls() {
17
+ return {
18
+ "$": ["mg-card.scss"]
19
+ };
20
+ }
21
+ static get styleUrls() {
22
+ return {
23
+ "$": ["mg-card.css"]
24
+ };
25
+ }
26
+ }
@@ -0,0 +1,18 @@
1
+ import { h } from '@stencil/core';
2
+ import { filterArgs } from '../../../../../.storybook/utils';
3
+ export default {
4
+ component: 'mg-divider',
5
+ title: 'Atoms/mg-divider',
6
+ };
7
+ /**
8
+ * Template
9
+ *
10
+ * @param {any} args component arguments
11
+ * @returns {HTMLElement} HTMLElement
12
+ */
13
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
14
+ const Template = (args) => h("mg-divider", Object.assign({}, filterArgs(args, { size: 'regular' })));
15
+ export const MgDivider = Template.bind({});
16
+ MgDivider.args = {
17
+ size: 'regular',
18
+ };
@@ -0,0 +1,9 @@
1
+ .mg-divider {
2
+ margin: var(--mg-divider-vertical-spacing) auto;
3
+ width: 12rem;
4
+ height: var(--mg-divider-thickness);
5
+ background-color: var(--mg-divider-background-color);
6
+ }
7
+ .mg-divider.mg-divider--full {
8
+ width: 100%;
9
+ }