@transferwise/components 0.0.0-experimental-58ab0d7 → 0.0.0-experimental-4530892

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 (179) hide show
  1. package/build/avatarLayout/AvatarLayout.js +2 -9
  2. package/build/avatarLayout/AvatarLayout.js.map +1 -1
  3. package/build/avatarLayout/AvatarLayout.mjs +2 -9
  4. package/build/avatarLayout/AvatarLayout.mjs.map +1 -1
  5. package/build/avatarView/AvatarView.js +12 -1
  6. package/build/avatarView/AvatarView.js.map +1 -1
  7. package/build/avatarView/AvatarView.mjs +12 -1
  8. package/build/avatarView/AvatarView.mjs.map +1 -1
  9. package/build/button/Button.js +79 -78
  10. package/build/button/Button.js.map +1 -1
  11. package/build/button/Button.mjs +80 -79
  12. package/build/button/Button.mjs.map +1 -1
  13. package/build/circularButton/CircularButton.js +18 -21
  14. package/build/circularButton/CircularButton.js.map +1 -1
  15. package/build/circularButton/CircularButton.mjs +19 -22
  16. package/build/circularButton/CircularButton.mjs.map +1 -1
  17. package/build/criticalBanner/CriticalCommsBanner.js +2 -2
  18. package/build/criticalBanner/CriticalCommsBanner.js.map +1 -1
  19. package/build/criticalBanner/CriticalCommsBanner.mjs +1 -1
  20. package/build/definitionList/DefinitionList.js.map +1 -1
  21. package/build/definitionList/DefinitionList.mjs.map +1 -1
  22. package/build/header/Header.js +2 -2
  23. package/build/header/Header.js.map +1 -1
  24. package/build/header/Header.mjs +1 -1
  25. package/build/i18n/de.json +1 -0
  26. package/build/i18n/de.json.js +1 -0
  27. package/build/i18n/de.json.js.map +1 -1
  28. package/build/i18n/de.json.mjs +1 -0
  29. package/build/i18n/de.json.mjs.map +1 -1
  30. package/build/i18n/it.json +1 -0
  31. package/build/i18n/it.json.js +1 -0
  32. package/build/i18n/it.json.js.map +1 -1
  33. package/build/i18n/it.json.mjs +1 -0
  34. package/build/i18n/it.json.mjs.map +1 -1
  35. package/build/i18n/ja.json +1 -0
  36. package/build/i18n/ja.json.js +1 -0
  37. package/build/i18n/ja.json.js.map +1 -1
  38. package/build/i18n/ja.json.mjs +1 -0
  39. package/build/i18n/ja.json.mjs.map +1 -1
  40. package/build/i18n/pt.json +1 -0
  41. package/build/i18n/pt.json.js +1 -0
  42. package/build/i18n/pt.json.js.map +1 -1
  43. package/build/i18n/pt.json.mjs +1 -0
  44. package/build/i18n/pt.json.mjs.map +1 -1
  45. package/build/i18n/ru.json +1 -0
  46. package/build/i18n/ru.json.js +1 -0
  47. package/build/i18n/ru.json.js.map +1 -1
  48. package/build/i18n/ru.json.mjs +1 -0
  49. package/build/i18n/ru.json.mjs.map +1 -1
  50. package/build/i18n/th.json +1 -0
  51. package/build/i18n/th.json.js +1 -0
  52. package/build/i18n/th.json.js.map +1 -1
  53. package/build/i18n/th.json.mjs +1 -0
  54. package/build/i18n/th.json.mjs.map +1 -1
  55. package/build/i18n/zh-HK.json +1 -0
  56. package/build/i18n/zh-HK.json.js +1 -0
  57. package/build/i18n/zh-HK.json.js.map +1 -1
  58. package/build/i18n/zh-HK.json.mjs +1 -0
  59. package/build/i18n/zh-HK.json.mjs.map +1 -1
  60. package/build/index.js +2 -2
  61. package/build/index.mjs +1 -1
  62. package/build/link/Link.js +3 -8
  63. package/build/link/Link.js.map +1 -1
  64. package/build/link/Link.mjs +3 -8
  65. package/build/link/Link.mjs.map +1 -1
  66. package/build/main.css +17 -419
  67. package/build/primitives/PrimitiveAnchor/src/PrimitiveAnchor.js +3 -1
  68. package/build/primitives/PrimitiveAnchor/src/PrimitiveAnchor.js.map +1 -1
  69. package/build/primitives/PrimitiveAnchor/src/PrimitiveAnchor.mjs +3 -1
  70. package/build/primitives/PrimitiveAnchor/src/PrimitiveAnchor.mjs.map +1 -1
  71. package/build/primitives/PrimitiveButton/src/PrimitiveButton.js +4 -1
  72. package/build/primitives/PrimitiveButton/src/PrimitiveButton.js.map +1 -1
  73. package/build/primitives/PrimitiveButton/src/PrimitiveButton.mjs +4 -1
  74. package/build/primitives/PrimitiveButton/src/PrimitiveButton.mjs.map +1 -1
  75. package/build/select/Select.js +3 -5
  76. package/build/select/Select.js.map +1 -1
  77. package/build/select/Select.mjs +2 -4
  78. package/build/select/Select.mjs.map +1 -1
  79. package/build/styles/avatarLayout/AvatarLayout.css +0 -11
  80. package/build/styles/button/Button.css +16 -243
  81. package/build/styles/circularButton/CircularButton.css +17 -158
  82. package/build/styles/main.css +17 -419
  83. package/build/types/avatarLayout/AvatarLayout.d.ts +2 -1
  84. package/build/types/avatarLayout/AvatarLayout.d.ts.map +1 -1
  85. package/build/types/avatarLayout/index.d.ts +0 -1
  86. package/build/types/avatarLayout/index.d.ts.map +1 -1
  87. package/build/types/avatarView/AvatarView.d.ts.map +1 -1
  88. package/build/types/button/Button.d.ts +23 -1
  89. package/build/types/button/Button.d.ts.map +1 -1
  90. package/build/types/button/index.d.ts +2 -2
  91. package/build/types/button/index.d.ts.map +1 -1
  92. package/build/types/circularButton/CircularButton.d.ts +11 -4
  93. package/build/types/circularButton/CircularButton.d.ts.map +1 -1
  94. package/build/types/definitionList/DefinitionList.d.ts +1 -2
  95. package/build/types/definitionList/DefinitionList.d.ts.map +1 -1
  96. package/build/types/link/Link.d.ts +2 -2
  97. package/build/types/link/Link.d.ts.map +1 -1
  98. package/build/types/primitives/PrimitiveAnchor/src/PrimitiveAnchor.d.ts.map +1 -1
  99. package/build/types/primitives/PrimitiveAnchor/src/PrimitiveAnchor.types.d.ts +1 -1
  100. package/build/types/primitives/PrimitiveAnchor/src/PrimitiveAnchor.types.d.ts.map +1 -1
  101. package/build/types/primitives/PrimitiveButton/src/PrimitiveButton.d.ts.map +1 -1
  102. package/build/types/select/Select.d.ts.map +1 -1
  103. package/build/upload/steps/completeStep/completeStep.js +2 -2
  104. package/build/upload/steps/completeStep/completeStep.js.map +1 -1
  105. package/build/upload/steps/completeStep/completeStep.mjs +1 -1
  106. package/build/upload/steps/processingStep/processingStep.js +2 -2
  107. package/build/upload/steps/processingStep/processingStep.js.map +1 -1
  108. package/build/upload/steps/processingStep/processingStep.mjs +1 -1
  109. package/build/uploadInput/UploadInput.js +3 -3
  110. package/build/uploadInput/UploadInput.js.map +1 -1
  111. package/build/uploadInput/UploadInput.mjs +1 -1
  112. package/package.json +3 -3
  113. package/src/avatarLayout/AvatarLayout.css +0 -11
  114. package/src/avatarLayout/AvatarLayout.less +1 -18
  115. package/src/avatarLayout/AvatarLayout.tsx +3 -11
  116. package/src/avatarLayout/index.ts +0 -1
  117. package/src/avatarView/AvatarView.tsx +15 -1
  118. package/src/button/Button.css +16 -243
  119. package/src/button/Button.less +14 -212
  120. package/src/button/Button.spec.tsx +231 -54
  121. package/src/button/Button.story.tsx +137 -644
  122. package/src/button/Button.tsx +132 -98
  123. package/src/button/__snapshots__/Button.spec.tsx.snap +309 -0
  124. package/src/button/index.ts +3 -2
  125. package/src/circularButton/CircularButton.css +17 -158
  126. package/src/circularButton/CircularButton.less +22 -91
  127. package/src/circularButton/CircularButton.story.tsx +45 -24
  128. package/src/circularButton/CircularButton.tsx +38 -25
  129. package/src/dateInput/DateInput.spec.tsx +45 -26
  130. package/src/definitionList/DefinitionList.story.tsx +57 -57
  131. package/src/definitionList/DefinitionList.tsx +1 -1
  132. package/src/flowNavigation/__snapshots__/FlowNavigation.spec.js.snap +1 -1
  133. package/src/i18n/de.json +1 -0
  134. package/src/i18n/it.json +1 -0
  135. package/src/i18n/ja.json +1 -0
  136. package/src/i18n/pt.json +1 -0
  137. package/src/i18n/ru.json +1 -0
  138. package/src/i18n/th.json +1 -0
  139. package/src/i18n/zh-HK.json +1 -0
  140. package/src/iconButton/IconButton.story.tsx +6 -6
  141. package/src/inputs/SelectInput.story.tsx +1 -1
  142. package/src/link/Link.tsx +6 -15
  143. package/src/main.css +17 -419
  144. package/src/main.less +0 -1
  145. package/src/primitives/PrimitiveAnchor/src/PrimitiveAnchor.tsx +7 -1
  146. package/src/primitives/PrimitiveAnchor/src/PrimitiveAnchor.types.ts +1 -1
  147. package/src/primitives/PrimitiveAnchor/test/PrimitiveAnchor.spec.tsx +3 -1
  148. package/src/primitives/PrimitiveButton/src/PrimitiveButton.tsx +8 -1
  149. package/src/primitives/PrimitiveButton/test/PrimitiveButton.spec.tsx +5 -2
  150. package/src/select/Select.tsx +0 -1
  151. package/src/slidingPanel/SlidingPanel.spec.tsx +69 -0
  152. package/build/button/Button.resolver.js +0 -78
  153. package/build/button/Button.resolver.js.map +0 -1
  154. package/build/button/Button.resolver.mjs +0 -76
  155. package/build/button/Button.resolver.mjs.map +0 -1
  156. package/build/button/LegacyButton.js +0 -114
  157. package/build/button/LegacyButton.js.map +0 -1
  158. package/build/button/LegacyButton.mjs +0 -112
  159. package/build/button/LegacyButton.mjs.map +0 -1
  160. package/build/styles/button/Button.vars.css +0 -55
  161. package/build/styles/button/LegacyButton.css +0 -23
  162. package/build/types/button/Button.resolver.d.ts +0 -31
  163. package/build/types/button/Button.resolver.d.ts.map +0 -1
  164. package/build/types/button/Button.types.d.ts +0 -70
  165. package/build/types/button/Button.types.d.ts.map +0 -1
  166. package/build/types/button/LegacyButton.d.ts +0 -30
  167. package/build/types/button/LegacyButton.d.ts.map +0 -1
  168. package/src/button/Button.resolver.tsx +0 -120
  169. package/src/button/Button.types.ts +0 -93
  170. package/src/button/Button.vars.css +0 -55
  171. package/src/button/Button.vars.less +0 -69
  172. package/src/button/LegacyButton.css +0 -23
  173. package/src/button/LegacyButton.less +0 -24
  174. package/src/button/LegacyButton.spec.tsx +0 -146
  175. package/src/button/LegacyButton.story.tsx +0 -224
  176. package/src/button/LegacyButton.tsx +0 -161
  177. package/src/circularButton/_button-label-states.less +0 -34
  178. package/src/definitionList/DefinitionList.spec.js +0 -91
  179. package/src/slidingPanel/SlidingPanel.spec.js +0 -56
package/build/main.css CHANGED
@@ -518,18 +518,10 @@ div.critical-comms .critical-comms-body {
518
518
  -webkit-mask-image: radial-gradient(circle at bottom calc(100% - var(--np-avatar-size) - var(--np-avatar-offset)) right calc(100% - var(--np-avatar-size) - var(--np-avatar-offset)), transparent 0, transparent calc(var(--np-avatar-size) / 2 + 2px), black 0);
519
519
  mask-image: radial-gradient(circle at bottom calc(100% - var(--np-avatar-size) - var(--np-avatar-offset)) right calc(100% - var(--np-avatar-size) - var(--np-avatar-offset)), transparent 0, transparent calc(var(--np-avatar-size) / 2 + 2px), black 0);
520
520
  }
521
- [dir="rtl"] .np-avatar-layout-diagonal-mask {
522
- -webkit-mask-image: radial-gradient(circle at bottom calc(100% - var(--np-avatar-size) - var(--np-avatar-offset)) left calc(100% - var(--np-avatar-size) - var(--np-avatar-offset)), transparent 0, transparent calc(var(--np-avatar-size) / 2 + 2px), black 0);
523
- mask-image: radial-gradient(circle at bottom calc(100% - var(--np-avatar-size) - var(--np-avatar-offset)) left calc(100% - var(--np-avatar-size) - var(--np-avatar-offset)), transparent 0, transparent calc(var(--np-avatar-size) / 2 + 2px), black 0);
524
- }
525
521
  .np-avatar-layout-diagonal-child {
526
522
  margin-left: calc(var(--np-avatar-layout-size) - var(--np-avatar-size) * 2);
527
523
  margin-top: calc(var(--np-avatar-layout-size) - var(--np-avatar-size));
528
524
  }
529
- [dir="rtl"] .np-avatar-layout-diagonal-child {
530
- margin-left: 0;
531
- margin-right: calc(var(--np-avatar-layout-size) - var(--np-avatar-size) * 2);
532
- }
533
525
  .np-avatar-layout-horizontal {
534
526
  width: calc(var(--np-avatar-size) * 2 - var(--np-avatar-offset) - 2px);
535
527
  height: var(--np-avatar-layout-size);
@@ -543,9 +535,6 @@ div.critical-comms .critical-comms-body {
543
535
  .np-avatar-layout-horizontal-child {
544
536
  margin-left: calc(var(--np-avatar-offset) * -1);
545
537
  }
546
- [dir="rtl"] .np-avatar-layout-horizontal-child {
547
- margin-right: calc(var(--np-avatar-offset) * -1);
548
- }
549
538
  .np-icon-button {
550
539
  border: none;
551
540
  }
@@ -716,256 +705,6 @@ div.critical-comms .critical-comms-body {
716
705
  .np-btn.disabled[class] {
717
706
  pointer-events: auto;
718
707
  }
719
- :root {
720
- --Button-background: var(--color-interactive-accent);
721
- --Button-background-hover: var(--color-interactive-accent-hover);
722
- --Button-background-active: var(--color-interactive-accent-active);
723
- --Button-color: var(--color-interactive-control);
724
- --Button-padding: var(--size-8) var(--size-12);
725
- --Button-border-radius: var(--radius-full);
726
- --Button-size-small-padding: 5px var(--size-12);
727
- --Button-size-medium-padding: var(--size-8) var(--size-12);
728
- --Button-size-large-padding: var(--size-12) var(--size-16);
729
- --Button-avatar-border-color: var(--color-border-neutral);
730
- --Button-transition-duration: 150ms;
731
- --Button-transition-easing: ease-in-out;
732
- --Button-secondary-background: var(--color-interactive-neutral);
733
- --Button-secondary-background-hover: var(--color-interactive-neutral-hover);
734
- --Button-secondary-background-active: var(--color-interactive-neutral-active);
735
- --Button-secondary-color: var(--color-interactive-primary);
736
- --Button-tertiary-background: var(--color-background-neutral);
737
- --Button-tertiary-background-hover: var(--color-background-neutral-hover);
738
- --Button-tertiary-background-active: var(--color-background-neutral-active);
739
- --Button-tertiary-color: var(--color-content-primary);
740
- --Button-minimal-background: transparent;
741
- --Button-minimal-background-hover: var(--color-background-screen-hover);
742
- --Button-minimal-background-active: var(--color-background-screen-active);
743
- --Button-minimal-color: var(--color-interactive-primary);
744
- --Button-primary-negative-background: var(--color-sentiment-negative-primary);
745
- --Button-primary-negative-background-hover: var(--color-sentiment-negative-primary-hover);
746
- --Button-primary-negative-background-active: var(--color-sentiment-negative-primary-active);
747
- --Button-primary-negative-color: var(--color-contrast);
748
- --Button-primary-netative-avatar-border-color: rgba(255,255,255,0.2);
749
- --Button-secondary-negative-background: var(--color-sentiment-negative-secondary);
750
- --Button-secondary-negative-background-hover: var(--color-sentiment-negative-secondary-hover);
751
- --Button-secondary-negative-background-active: var(--color-sentiment-negative-secondary-active);
752
- --Button-secondary-negative-color: var(--color-sentiment-negative-primary);
753
- --Button-secondary-netative-avatar-border-color: rgba(168,32,13,0.12157);
754
- }
755
- .np-theme-personal--dark .wds-Button {
756
- --Button-primary-netative-avatar-border-color: rgba(14,15,12,0.12157);
757
- }
758
- .np-theme-personal--forest-green .wds-Button {
759
- --color-interactive-neutral: rgba(159,232,112,0.2);
760
- --color-interactive-neutral-hover: rgba(205,255,173,0.2);
761
- --color-interactive-neutral-active: rgba(236,255,224,0.2);
762
- --color-sentiment-negative-secondary: rgba(255,196,194,0.2);
763
- --color-sentiment-negative-secondary-hover: rgba(255,220,219,0.2);
764
- --color-sentiment-negative-secondary-active: rgba(255,235,235,0.2);
765
- --Button-primary-netative-avatar-border-color: rgba(14,15,12,0.12157);
766
- --Button-secondary-netative-avatar-border-color: rgba(14,15,12,0.12157);
767
- }
768
- .np-theme-personal--bright-green .wds-Button {
769
- --color-contrast: #FFFFFF;
770
- --Button-secondary-color: var(--color-interactive-control);
771
- --Button-secondary-negative-color: var(--color-contrast);
772
- --Button-secondary-netative-avatar-border-color: var(--Button-primary-netative-avatar-border-color);
773
- }
774
- /* Button Styles */
775
- .wds-Button {
776
- display: inline-flex;
777
- flex: none;
778
- width: auto;
779
- align-items: center;
780
- justify-content: center;
781
- vertical-align: middle;
782
- text-align: center;
783
- -webkit-text-decoration: none;
784
- text-decoration: none;
785
- white-space: nowrap;
786
- word-wrap: break-word;
787
- -webkit-appearance: none;
788
- -moz-appearance: none;
789
- appearance: none;
790
- background-color: #00a2dd;
791
- background-color: var(--Button-background);
792
- border: none;
793
- border-radius: 9999px;
794
- border-radius: var(--Button-border-radius);
795
- color: var(--Button-color);
796
- cursor: pointer;
797
- padding: 8px 12px;
798
- padding: var(--Button-padding);
799
- transition: color, background-color 150ms ease-in-out;
800
- transition: color, background-color var(--Button-transition-duration) var(--Button-transition-easing);
801
- }
802
- .wds-Button:focus {
803
- -webkit-text-decoration: none;
804
- text-decoration: none;
805
- }
806
- .wds-Button:hover {
807
- background-color: #008fc9;
808
- background-color: var(--Button-background-hover);
809
- -webkit-text-decoration: none;
810
- text-decoration: none;
811
- }
812
- .wds-Button:active {
813
- background-color: #0081ba;
814
- background-color: var(--Button-background-active);
815
- -webkit-text-decoration: none;
816
- text-decoration: none;
817
- }
818
- .wds-Button.wds-Button--disabled,
819
- .wds-Button:disabled {
820
- mix-blend-mode: luminosity;
821
- opacity: 0.45;
822
- cursor: not-allowed;
823
- }
824
- .wds-Button.wds-Button--disabled:hover,
825
- .wds-Button:disabled:hover,
826
- .wds-Button.wds-Button--disabled:active,
827
- .wds-Button:disabled:active {
828
- background-color: #00a2dd;
829
- background-color: var(--Button-background);
830
- }
831
- .wds-Button--secondary {
832
- --Button-background: var(--Button-secondary-background);
833
- --Button-background-hover: var(--Button-secondary-background-hover);
834
- --Button-background-active: var(--Button-secondary-background-active);
835
- --Button-color: var(--Button-secondary-color);
836
- }
837
- .wds-Button--tertiary {
838
- --Button-background: var(--Button-tertiary-background);
839
- --Button-background-hover: var(--Button-tertiary-background-hover);
840
- --Button-background-active: var(--Button-tertiary-background-active);
841
- --Button-color: var(--Button-tertiary-color);
842
- }
843
- .wds-Button--tertiary .wds-Button-icon--end {
844
- color: var(--color-interactive-primary);
845
- }
846
- .wds-Button--minimal {
847
- --Button-background: var(--Button-minimal-background);
848
- --Button-background-hover: var(--Button-minimal-background-hover);
849
- --Button-background-active: var(--Button-minimal-background-active);
850
- --Button-color: var(--Button-minimal-color);
851
- -webkit-text-decoration: underline;
852
- text-decoration: underline;
853
- text-underline-offset: 3px;
854
- text-decoration-thickness: 1px;
855
- }
856
- .wds-Button--minimal:hover,
857
- .wds-Button--minimal:hover:active {
858
- -webkit-text-decoration: underline;
859
- text-decoration: underline;
860
- }
861
- .wds-Button--negative.wds-Button--primary {
862
- --Button-background: var(--Button-primary-negative-background);
863
- --Button-background-hover: var(--Button-primary-negative-background-hover);
864
- --Button-background-active: var(--Button-primary-negative-background-active);
865
- --Button-color: var(--Button-primary-negative-color);
866
- --Button-avatar-border-color: var(--Button-primary-netative-avatar-border-color);
867
- }
868
- .wds-Button--negative.wds-Button--secondary {
869
- --Button-background: var(--Button-secondary-negative-background);
870
- --Button-background-hover: var(--Button-secondary-negative-background-hover);
871
- --Button-background-active: var(--Button-secondary-negative-background-active);
872
- --Button-color: var(--Button-secondary-negative-color);
873
- --Button-avatar-border-color: var(--Button-secondary-netative-avatar-border-color);
874
- }
875
- .wds-Button--small {
876
- --Button-padding: var(--Button-size-small-padding);
877
- }
878
- .wds-Button--small .wds-Button-icon--start {
879
- margin-right: 4px;
880
- margin-right: var(--size-4);
881
- }
882
- [dir="rtl"] .wds-Button--small .wds-Button-icon--start {
883
- margin-right: 0;
884
- margin-left: 4px;
885
- margin-left: var(--size-4);
886
- }
887
- .wds-Button--small .wds-Button-startMedia {
888
- display: none;
889
- }
890
- .wds-Button--medium {
891
- --Button-padding: var(--Button-size-medium-padding);
892
- }
893
- .wds-Button--large {
894
- --Button-padding: var(--Button-size-large-padding);
895
- }
896
- .wds-Button--block {
897
- width: 100%;
898
- }
899
- .wds-Button-avatars {
900
- display: inline-flex;
901
- margin-right: 5px;
902
- margin-left: calc(4px * -1);
903
- margin-left: calc(var(--size-4) * -1);
904
- }
905
- [dir="rtl"] .wds-Button-avatars {
906
- margin-right: 0;
907
- margin-left: 5px;
908
- }
909
- .wds-Button-avatars .np-circle {
910
- --circle-border-color: var(--Button-avatar-border-color);
911
- }
912
- .wds-Button-avatars .np-avatar-view .np-avatar-view-content {
913
- color: var(--Button-color);
914
- }
915
- .wds-Button-icon {
916
- display: inline-block;
917
- }
918
- .wds-Button-icon--start {
919
- margin-right: 8px;
920
- margin-right: var(--size-8);
921
- }
922
- [dir="rtl"] .wds-Button-icon--start {
923
- margin-right: 0;
924
- margin-left: 8px;
925
- margin-left: var(--size-8);
926
- }
927
- .wds-Button-icon--end {
928
- margin-left: 4px;
929
- margin-left: var(--size-4);
930
- }
931
- [dir="rtl"] .wds-Button-icon--end {
932
- margin-left: 0;
933
- margin-right: 4px;
934
- margin-right: var(--size-4);
935
- }
936
- .wds-Button-content {
937
- position: relative;
938
- }
939
- .wds-Button-content--loading .wds-Button-label,
940
- .wds-Button-content--loading .wds-Button-media,
941
- .wds-Button-content--loading .wds-Button-icon {
942
- visibility: hidden;
943
- opacity: 0;
944
- }
945
- .wds-Button-label {
946
- display: flex;
947
- justify-content: center;
948
- align-items: center;
949
- position: relative;
950
- }
951
- .wds-Button-loader {
952
- position: absolute;
953
- display: flex;
954
- justify-content: center;
955
- align-items: center;
956
- width: 100%;
957
- height: 100%;
958
- }
959
- .wds-Button-loader .process-circle {
960
- stroke: var(--Button-color);
961
- }
962
- /* RTL Styles */
963
- [dir="rtl"] .wds-Button .tw-icon-chevron-right,[dir="rtl"] .wds-Button .tw-icon-arrow-right {
964
- transform: rotate(180deg);
965
- }
966
- [dir="rtl"] .wds-Button .tw-icon-chevron-left,[dir="rtl"] .wds-Button .tw-icon-arrow-left {
967
- transform: rotate(180deg);
968
- }
969
708
  .np-card {
970
709
  overflow: hidden;
971
710
  transition-property: transform, box-shadow;
@@ -1445,175 +1184,34 @@ div.critical-comms .critical-comms-body {
1445
1184
  display: inline-flex;
1446
1185
  flex-direction: column;
1447
1186
  align-items: center;
1448
- text-align: center;
1449
1187
  cursor: pointer;
1450
- position: relative;
1451
- }
1452
- .np-circular-btn .tw-icon {
1453
- position: absolute;
1454
- top: 16px;
1455
- top: var(--size-16);
1456
- pointer-events: none;
1457
- color: white;
1458
- transition: color 0.15s ease-in-out;
1459
- width: 100%;
1460
- left: 0;
1461
- }
1462
- [dir="rtl"] .np-circular-btn .tw-icon {
1463
- right: 0;
1464
- left: auto;
1465
- left: initial;
1466
- }
1467
- @media (max-width: 320px) {
1468
- .np-circular-btn .tw-icon {
1469
- top: 12px;
1470
- top: var(--size-12);
1471
- }
1472
- }
1473
- .np-circular-btn .tw-icon > svg {
1474
- margin: 0 auto;
1475
- }
1476
- .np-theme-personal .np-circular-btn {
1477
- /* stylelint-disable-next-line no-duplicate-selectors */
1478
- }
1479
- .np-theme-personal .np-circular-btn .tw-icon,
1480
- .np-theme-personal .np-circular-btn .tw-icon:hover,
1481
- .np-theme-personal .np-circular-btn .tw-icon:active {
1482
- color: var(--color-interactive-control);
1483
- }
1484
- .np-theme-personal .np-circular-btn.negative .tw-icon,
1485
- .np-theme-personal .np-circular-btn.negative.secondary:not(.disabled):not(:disabled):hover .tw-icon,
1486
- .np-theme-personal .np-circular-btn.negative.secondary:not(.disabled):not(:disabled):active .tw-icon {
1487
- color: var(--color-contrast) !important;
1488
- }
1489
- .np-theme-personal .np-circular-btn.negative.secondary:not(.disabled):not(:disabled) .tw-icon {
1490
- color: var(--color-sentiment-negative) !important;
1491
- }
1492
- .np-circular-btn.accent .np-circular-btn__label {
1493
- color: #00a2dd;
1494
- color: var(--color-interactive-accent);
1495
- }
1496
- .np-circular-btn.accent:not(.disabled):not(:disabled):hover .np-circular-btn__label {
1497
- color: #008fc9;
1498
- color: var(--color-interactive-accent-hover);
1499
- }
1500
- .np-circular-btn.accent:active .np-circular-btn__label,
1501
- .np-circular-btn.accent input[type="button"]:active ~ .np-circular-btn__label {
1502
- color: #0081ba;
1503
- color: var(--color-interactive-accent-active);
1504
- }
1505
- .np-circular-btn.accent.secondary .tw-icon {
1506
- color: #00a2dd;
1507
- color: var(--color-interactive-accent);
1508
- }
1509
- .np-circular-btn.accent.secondary:not(.disabled):not(:disabled):hover .tw-icon,
1510
- .np-circular-btn.accent.secondary input[type="button"]:active + .tw-icon {
1511
- color: white;
1512
- }
1513
- .np-circular-btn.positive .np-circular-btn__label {
1514
- color: #2ead4b;
1515
- color: var(--color-interactive-positive);
1516
- }
1517
- .np-circular-btn.positive:not(.disabled):not(:disabled):hover .np-circular-btn__label {
1518
- color: #069939;
1519
- color: var(--color-interactive-positive-hover);
1520
- }
1521
- .np-circular-btn.positive:active .np-circular-btn__label,
1522
- .np-circular-btn.positive input[type="button"]:active ~ .np-circular-btn__label {
1523
- color: #008b2b;
1524
- color: var(--color-interactive-positive-active);
1525
- }
1526
- .np-circular-btn.positive.secondary .tw-icon {
1527
- color: #2ead4b;
1528
- color: var(--color-interactive-positive);
1529
- }
1530
- .np-circular-btn.positive.secondary:not(.disabled):not(:disabled):hover .tw-icon,
1531
- .np-circular-btn.positive.secondary input[type="button"]:active + .tw-icon {
1532
- color: white;
1533
- }
1534
- .np-circular-btn.negative .np-circular-btn__label {
1535
- color: #e74848;
1536
- color: var(--color-interactive-negative);
1537
- }
1538
- .np-circular-btn.negative:not(.disabled):not(:disabled):hover .np-circular-btn__label {
1539
- color: #d03238;
1540
- color: var(--color-interactive-negative-hover);
1541
- }
1542
- .np-circular-btn.negative:active .np-circular-btn__label,
1543
- .np-circular-btn.negative input[type="button"]:active ~ .np-circular-btn__label {
1544
- color: #bf1e2c;
1545
- color: var(--color-interactive-negative-active);
1546
- }
1547
- .np-circular-btn.negative.secondary .tw-icon {
1548
- color: #e74848;
1549
- color: var(--color-interactive-negative);
1550
- }
1551
- .np-circular-btn.negative.secondary:not(.disabled):not(:disabled):hover .tw-icon,
1552
- .np-circular-btn.negative.secondary input[type="button"]:active + .tw-icon {
1553
- color: white;
1554
- }
1555
- .np-theme-personal .np-circular-btn.accent .np-circular-btn__label {
1556
- color: var(--color-interactive-primary);
1557
- }
1558
- .np-theme-personal .np-circular-btn.accent:not(.disabled):not(:disabled):hover .np-circular-btn__label {
1559
- color: var(--color-interactive-primary-hover);
1560
- }
1561
- .np-theme-personal .np-circular-btn.accent:active .np-circular-btn__label,
1562
- .np-theme-personal .np-circular-btn.accent input[type="button"]:active ~ .np-circular-btn__label {
1563
- color: var(--color-interactive-primary-active);
1564
- }
1565
- .np-theme-personal .np-circular-btn.accent.secondary .tw-icon {
1566
- color: var(--color-interactive-primary);
1567
- }
1568
- .np-theme-personal .np-circular-btn.accent.secondary:not(.disabled):not(:disabled):hover .tw-icon,
1569
- .np-theme-personal .np-circular-btn.accent.secondary input[type="button"]:active + .tw-icon {
1570
- color: white;
1571
- color: var(--color-interactive-control);
1572
1188
  }
1573
- .np-theme-personal .np-circular-btn.accent.secondary:active input[type="button"] + .tw-icon {
1574
- color: var(--color-interactive-control);
1575
- }
1576
- .np-theme-personal .np-circular-btn.positive .np-circular-btn__label {
1189
+ .np-circular-btn-primary-default .np-circular-btn-label,
1190
+ .np-circular-btn-secondary-default .np-circular-btn-label {
1577
1191
  color: var(--color-interactive-primary);
1578
1192
  }
1579
- .np-theme-personal .np-circular-btn.positive:not(.disabled):not(:disabled):hover .np-circular-btn__label {
1193
+ .np-circular-btn-primary-default .np-circular-btn-label:not(.disabled):not(:disabled):hover,
1194
+ .np-circular-btn-secondary-default .np-circular-btn-label:not(.disabled):not(:disabled):hover {
1580
1195
  color: var(--color-interactive-primary-hover);
1581
1196
  }
1582
- .np-theme-personal .np-circular-btn.positive:active .np-circular-btn__label,
1583
- .np-theme-personal .np-circular-btn.positive input[type="button"]:active ~ .np-circular-btn__label {
1197
+ .np-circular-btn-primary-default .np-circular-btn-label:not(.disabled):not(:disabled):active,
1198
+ .np-circular-btn-secondary-default .np-circular-btn-label:not(.disabled):not(:disabled):active {
1584
1199
  color: var(--color-interactive-primary-active);
1585
1200
  }
1586
- .np-theme-personal .np-circular-btn.positive.secondary .tw-icon {
1587
- color: var(--color-interactive-primary);
1588
- }
1589
- .np-theme-personal .np-circular-btn.positive.secondary:not(.disabled):not(:disabled):hover .tw-icon,
1590
- .np-theme-personal .np-circular-btn.positive.secondary input[type="button"]:active + .tw-icon {
1591
- color: white;
1592
- color: var(--color-interactive-control);
1593
- }
1594
- .np-theme-personal .np-circular-btn.positive.secondary:active input[type="button"] + .tw-icon {
1595
- color: var(--color-interactive-control);
1596
- }
1597
- .np-theme-personal .np-circular-btn.negative .np-circular-btn__label {
1598
- color: var(--color-sentiment-negative);
1599
- }
1600
- .np-theme-personal .np-circular-btn.negative:not(.disabled):not(:disabled):hover .np-circular-btn__label {
1601
- color: var(--color-sentiment-negative-hover);
1602
- }
1603
- .np-theme-personal .np-circular-btn.negative:active .np-circular-btn__label,
1604
- .np-theme-personal .np-circular-btn.negative input[type="button"]:active ~ .np-circular-btn__label {
1605
- color: var(--color-sentiment-negative-active);
1201
+ .np-circular-btn-primary-negative .np-circular-btn-label,
1202
+ .np-circular-btn-secondary-negative .np-circular-btn-label {
1203
+ color: var(--color-sentiment-negative-primary);
1606
1204
  }
1607
- .np-theme-personal .np-circular-btn.negative.secondary .tw-icon {
1608
- color: var(--color-sentiment-negative);
1205
+ .np-circular-btn-primary-negative .np-circular-btn-label:not(.disabled):not(:disabled):hover,
1206
+ .np-circular-btn-secondary-negative .np-circular-btn-label:not(.disabled):not(:disabled):hover {
1207
+ color: var(--color-sentiment-negative-primary-hover);
1609
1208
  }
1610
- .np-theme-personal .np-circular-btn.negative.secondary:not(.disabled):not(:disabled):hover .tw-icon,
1611
- .np-theme-personal .np-circular-btn.negative.secondary input[type="button"]:active + .tw-icon {
1612
- color: white;
1613
- color: var(--color-interactive-control);
1209
+ .np-circular-btn-primary-negative .np-circular-btn-label:not(.disabled):not(:disabled):active,
1210
+ .np-circular-btn-secondary-negative .np-circular-btn-label:not(.disabled):not(:disabled):active {
1211
+ color: var(--color-sentiment-negative-primary-active);
1614
1212
  }
1615
- .np-theme-personal .np-circular-btn.negative.secondary:active input[type="button"] + .tw-icon {
1616
- color: var(--color-interactive-control);
1213
+ .np-circular-btn-disabled {
1214
+ cursor: not-allowed;
1617
1215
  }
1618
1216
  .np-circle {
1619
1217
  border-radius: 9999px;
@@ -19,7 +19,9 @@ const PrimitiveAnchor = /*#__PURE__*/React.forwardRef(({
19
19
  onKeyDown,
20
20
  ...props
21
21
  }, ref) => {
22
- const anchorClasses = clsx.clsx(className);
22
+ const anchorClasses = clsx.clsx('wds-Anchor', {
23
+ 'wds-Anchor--disabled': disabled
24
+ }, className);
23
25
  const handleClick = React.useCallback(event => {
24
26
  if (disabled) {
25
27
  event.preventDefault();
@@ -1 +1 @@
1
- {"version":3,"file":"PrimitiveAnchor.js","sources":["../../../../src/primitives/PrimitiveAnchor/src/PrimitiveAnchor.tsx"],"sourcesContent":["import React, { forwardRef, useCallback } from 'react';\nimport { clsx } from 'clsx';\nimport type { PrimitiveAnchorProps } from '..';\n\n/**\n * The Primitive `PrimitiveAnchor` component is customisable link element that can be\n * used in various parts of the Wise Design System internally. It supports\n * different states such as disabled and provides event handlers for common\n * interactions like click, focus, blur, mouse enter, mouse leave, and key down.\n *\n * @see {@link PrimitiveAnchor} for further information.\n * @see {@link https://storybook.wise.design/?path=/docs/primitive-anchor--docs|Storybook Wise Design}\n */\nconst PrimitiveAnchor = forwardRef<HTMLAnchorElement, PrimitiveAnchorProps>(\n (\n {\n children,\n className,\n href,\n id,\n disabled = false,\n testId,\n onClick,\n onFocus,\n onBlur,\n onMouseEnter,\n onMouseLeave,\n onKeyDown,\n ...props\n },\n ref,\n ) => {\n const anchorClasses = clsx(className);\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLAnchorElement>) => {\n if (disabled) {\n event.preventDefault();\n } else {\n onClick?.(event);\n }\n },\n [disabled, onClick],\n );\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLAnchorElement>) => {\n onFocus?.(event);\n },\n [onFocus],\n );\n\n const handleBlur = useCallback(\n (event: React.FocusEvent<HTMLAnchorElement>) => {\n onBlur?.(event);\n },\n [onBlur],\n );\n\n const handleMouseEnter = useCallback(\n (event: React.MouseEvent<HTMLAnchorElement>) => {\n onMouseEnter?.(event);\n },\n [onMouseEnter],\n );\n\n const handleMouseLeave = useCallback(\n (event: React.MouseEvent<HTMLAnchorElement>) => {\n onMouseLeave?.(event);\n },\n [onMouseLeave],\n );\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLAnchorElement>) => {\n onKeyDown?.(event);\n },\n [onKeyDown],\n );\n\n /**\n * The following props are set to handle the `disabled` state for the link:\n *\n * - `aria-disabled`: Exposes the link as disabled to assistive technologies.\n * - `href`: Removed when `disabled` is true to prevent navigation.\n * - `role`: Set to 'link' when `disabled` is true to ensure the element\n * is still exposed as a link.\n *\n * For more details, refer to Scott O'Hara's article on disabling links:\n * https://www.scottohara.me/blog/2021/05/28/disabled-links.html\n */\n const anchorProps = {\n 'aria-disabled': disabled,\n className: anchorClasses,\n 'data-testid': testId,\n href: disabled ? undefined : href,\n id,\n ref,\n role: disabled ? 'link' : undefined,\n rel: props.target === '_blank' ? 'noopener noreferrer' : undefined,\n onClick: handleClick,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n onKeyDown: handleKeyDown,\n ...props,\n };\n\n return <a {...anchorProps}>{children}</a>;\n },\n);\n\nPrimitiveAnchor.displayName = 'PrimitiveAnchor';\n\nexport default PrimitiveAnchor;\n"],"names":["PrimitiveAnchor","forwardRef","children","className","href","id","disabled","testId","onClick","onFocus","onBlur","onMouseEnter","onMouseLeave","onKeyDown","props","ref","anchorClasses","clsx","handleClick","useCallback","event","preventDefault","handleFocus","handleBlur","handleMouseEnter","handleMouseLeave","handleKeyDown","anchorProps","undefined","role","rel","target","_jsx","displayName"],"mappings":";;;;;;AAaA,MAAMA,eAAe,gBAAGC,gBAAU,CAChC,CACE;EACEC,QAAQ;EACRC,SAAS;EACTC,IAAI;EACJC,EAAE;AACFC,EAAAA,QAAQ,GAAG,KAAK;EAChBC,MAAM;EACNC,OAAO;EACPC,OAAO;EACPC,MAAM;EACNC,YAAY;EACZC,YAAY;EACZC,SAAS;EACT,GAAGC,KAAAA;CACJ,EACDC,GAAG,KACD;AACF,EAAA,MAAMC,aAAa,GAAGC,SAAI,CAACd,SAAS,CAAC,CAAA;AAErC,EAAA,MAAMe,WAAW,GAAGC,iBAAW,CAC5BC,KAA0C,IAAI;AAC7C,IAAA,IAAId,QAAQ,EAAE;MACZc,KAAK,CAACC,cAAc,EAAE,CAAA;AACxB,KAAC,MAAM;MACLb,OAAO,GAAGY,KAAK,CAAC,CAAA;AAClB,KAAA;AACF,GAAC,EACD,CAACd,QAAQ,EAAEE,OAAO,CAAC,CACpB,CAAA;AAED,EAAA,MAAMc,WAAW,GAAGH,iBAAW,CAC5BC,KAA0C,IAAI;IAC7CX,OAAO,GAAGW,KAAK,CAAC,CAAA;AAClB,GAAC,EACD,CAACX,OAAO,CAAC,CACV,CAAA;AAED,EAAA,MAAMc,UAAU,GAAGJ,iBAAW,CAC3BC,KAA0C,IAAI;IAC7CV,MAAM,GAAGU,KAAK,CAAC,CAAA;AACjB,GAAC,EACD,CAACV,MAAM,CAAC,CACT,CAAA;AAED,EAAA,MAAMc,gBAAgB,GAAGL,iBAAW,CACjCC,KAA0C,IAAI;IAC7CT,YAAY,GAAGS,KAAK,CAAC,CAAA;AACvB,GAAC,EACD,CAACT,YAAY,CAAC,CACf,CAAA;AAED,EAAA,MAAMc,gBAAgB,GAAGN,iBAAW,CACjCC,KAA0C,IAAI;IAC7CR,YAAY,GAAGQ,KAAK,CAAC,CAAA;AACvB,GAAC,EACD,CAACR,YAAY,CAAC,CACf,CAAA;AAED,EAAA,MAAMc,aAAa,GAAGP,iBAAW,CAC9BC,KAA6C,IAAI;IAChDP,SAAS,GAAGO,KAAK,CAAC,CAAA;AACpB,GAAC,EACD,CAACP,SAAS,CAAC,CACZ,CAAA;AAED;;;;;;;;;;AAUG;AACH,EAAA,MAAMc,WAAW,GAAG;AAClB,IAAA,eAAe,EAAErB,QAAQ;AACzBH,IAAAA,SAAS,EAAEa,aAAa;AACxB,IAAA,aAAa,EAAET,MAAM;AACrBH,IAAAA,IAAI,EAAEE,QAAQ,GAAGsB,SAAS,GAAGxB,IAAI;IACjCC,EAAE;IACFU,GAAG;AACHc,IAAAA,IAAI,EAAEvB,QAAQ,GAAG,MAAM,GAAGsB,SAAS;IACnCE,GAAG,EAAEhB,KAAK,CAACiB,MAAM,KAAK,QAAQ,GAAG,qBAAqB,GAAGH,SAAS;AAClEpB,IAAAA,OAAO,EAAEU,WAAW;AACpBT,IAAAA,OAAO,EAAEa,WAAW;AACpBZ,IAAAA,MAAM,EAAEa,UAAU;AAClBZ,IAAAA,YAAY,EAAEa,gBAAgB;AAC9BZ,IAAAA,YAAY,EAAEa,gBAAgB;AAC9BZ,IAAAA,SAAS,EAAEa,aAAa;IACxB,GAAGZ,KAAAA;GACJ,CAAA;AAED,EAAA,oBAAOkB,cAAA,CAAA,GAAA,EAAA;AAAA,IAAA,GAAOL,WAAW;AAAAzB,IAAAA,QAAA,EAAGA,QAAAA;AAAQ,GAAI,CAAC,CAAA;AAC3C,CAAC,EACF;AAEDF,eAAe,CAACiC,WAAW,GAAG,iBAAiB;;;;"}
1
+ {"version":3,"file":"PrimitiveAnchor.js","sources":["../../../../src/primitives/PrimitiveAnchor/src/PrimitiveAnchor.tsx"],"sourcesContent":["import React, { forwardRef, useCallback } from 'react';\nimport { clsx } from 'clsx';\nimport type { PrimitiveAnchorProps } from '..';\n\n/**\n * The Primitive `PrimitiveAnchor` component is customisable link element that can be\n * used in various parts of the Wise Design System internally. It supports\n * different states such as disabled and provides event handlers for common\n * interactions like click, focus, blur, mouse enter, mouse leave, and key down.\n *\n * @see {@link PrimitiveAnchor} for further information.\n * @see {@link https://storybook.wise.design/?path=/docs/primitive-anchor--docs|Storybook Wise Design}\n */\nconst PrimitiveAnchor = forwardRef<HTMLAnchorElement, PrimitiveAnchorProps>(\n (\n {\n children,\n className,\n href,\n id,\n disabled = false,\n testId,\n onClick,\n onFocus,\n onBlur,\n onMouseEnter,\n onMouseLeave,\n onKeyDown,\n ...props\n },\n ref,\n ) => {\n const anchorClasses = clsx(\n 'wds-Anchor',\n {\n 'wds-Anchor--disabled': disabled,\n },\n className,\n );\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLAnchorElement>) => {\n if (disabled) {\n event.preventDefault();\n } else {\n onClick?.(event);\n }\n },\n [disabled, onClick],\n );\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLAnchorElement>) => {\n onFocus?.(event);\n },\n [onFocus],\n );\n\n const handleBlur = useCallback(\n (event: React.FocusEvent<HTMLAnchorElement>) => {\n onBlur?.(event);\n },\n [onBlur],\n );\n\n const handleMouseEnter = useCallback(\n (event: React.MouseEvent<HTMLAnchorElement>) => {\n onMouseEnter?.(event);\n },\n [onMouseEnter],\n );\n\n const handleMouseLeave = useCallback(\n (event: React.MouseEvent<HTMLAnchorElement>) => {\n onMouseLeave?.(event);\n },\n [onMouseLeave],\n );\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLAnchorElement>) => {\n onKeyDown?.(event);\n },\n [onKeyDown],\n );\n\n /**\n * The following props are set to handle the `disabled` state for the link:\n *\n * - `aria-disabled`: Exposes the link as disabled to assistive technologies.\n * - `href`: Removed when `disabled` is true to prevent navigation.\n * - `role`: Set to 'link' when `disabled` is true to ensure the element\n * is still exposed as a link.\n *\n * For more details, refer to Scott O'Hara's article on disabling links:\n * https://www.scottohara.me/blog/2021/05/28/disabled-links.html\n */\n const anchorProps = {\n 'aria-disabled': disabled,\n className: anchorClasses,\n 'data-testid': testId,\n href: disabled ? undefined : href,\n id,\n ref,\n role: disabled ? 'link' : undefined,\n rel: props.target === '_blank' ? 'noopener noreferrer' : undefined,\n onClick: handleClick,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n onKeyDown: handleKeyDown,\n ...props,\n };\n\n return <a {...anchorProps}>{children}</a>;\n },\n);\n\nPrimitiveAnchor.displayName = 'PrimitiveAnchor';\n\nexport default PrimitiveAnchor;\n"],"names":["PrimitiveAnchor","forwardRef","children","className","href","id","disabled","testId","onClick","onFocus","onBlur","onMouseEnter","onMouseLeave","onKeyDown","props","ref","anchorClasses","clsx","handleClick","useCallback","event","preventDefault","handleFocus","handleBlur","handleMouseEnter","handleMouseLeave","handleKeyDown","anchorProps","undefined","role","rel","target","_jsx","displayName"],"mappings":";;;;;;AAaA,MAAMA,eAAe,gBAAGC,gBAAU,CAChC,CACE;EACEC,QAAQ;EACRC,SAAS;EACTC,IAAI;EACJC,EAAE;AACFC,EAAAA,QAAQ,GAAG,KAAK;EAChBC,MAAM;EACNC,OAAO;EACPC,OAAO;EACPC,MAAM;EACNC,YAAY;EACZC,YAAY;EACZC,SAAS;EACT,GAAGC,KAAAA;CACJ,EACDC,GAAG,KACD;AACF,EAAA,MAAMC,aAAa,GAAGC,SAAI,CACxB,YAAY,EACZ;AACE,IAAA,sBAAsB,EAAEX,QAAAA;GACzB,EACDH,SAAS,CACV,CAAA;AAED,EAAA,MAAMe,WAAW,GAAGC,iBAAW,CAC5BC,KAA0C,IAAI;AAC7C,IAAA,IAAId,QAAQ,EAAE;MACZc,KAAK,CAACC,cAAc,EAAE,CAAA;AACxB,KAAC,MAAM;MACLb,OAAO,GAAGY,KAAK,CAAC,CAAA;AAClB,KAAA;AACF,GAAC,EACD,CAACd,QAAQ,EAAEE,OAAO,CAAC,CACpB,CAAA;AAED,EAAA,MAAMc,WAAW,GAAGH,iBAAW,CAC5BC,KAA0C,IAAI;IAC7CX,OAAO,GAAGW,KAAK,CAAC,CAAA;AAClB,GAAC,EACD,CAACX,OAAO,CAAC,CACV,CAAA;AAED,EAAA,MAAMc,UAAU,GAAGJ,iBAAW,CAC3BC,KAA0C,IAAI;IAC7CV,MAAM,GAAGU,KAAK,CAAC,CAAA;AACjB,GAAC,EACD,CAACV,MAAM,CAAC,CACT,CAAA;AAED,EAAA,MAAMc,gBAAgB,GAAGL,iBAAW,CACjCC,KAA0C,IAAI;IAC7CT,YAAY,GAAGS,KAAK,CAAC,CAAA;AACvB,GAAC,EACD,CAACT,YAAY,CAAC,CACf,CAAA;AAED,EAAA,MAAMc,gBAAgB,GAAGN,iBAAW,CACjCC,KAA0C,IAAI;IAC7CR,YAAY,GAAGQ,KAAK,CAAC,CAAA;AACvB,GAAC,EACD,CAACR,YAAY,CAAC,CACf,CAAA;AAED,EAAA,MAAMc,aAAa,GAAGP,iBAAW,CAC9BC,KAA6C,IAAI;IAChDP,SAAS,GAAGO,KAAK,CAAC,CAAA;AACpB,GAAC,EACD,CAACP,SAAS,CAAC,CACZ,CAAA;AAED;;;;;;;;;;AAUG;AACH,EAAA,MAAMc,WAAW,GAAG;AAClB,IAAA,eAAe,EAAErB,QAAQ;AACzBH,IAAAA,SAAS,EAAEa,aAAa;AACxB,IAAA,aAAa,EAAET,MAAM;AACrBH,IAAAA,IAAI,EAAEE,QAAQ,GAAGsB,SAAS,GAAGxB,IAAI;IACjCC,EAAE;IACFU,GAAG;AACHc,IAAAA,IAAI,EAAEvB,QAAQ,GAAG,MAAM,GAAGsB,SAAS;IACnCE,GAAG,EAAEhB,KAAK,CAACiB,MAAM,KAAK,QAAQ,GAAG,qBAAqB,GAAGH,SAAS;AAClEpB,IAAAA,OAAO,EAAEU,WAAW;AACpBT,IAAAA,OAAO,EAAEa,WAAW;AACpBZ,IAAAA,MAAM,EAAEa,UAAU;AAClBZ,IAAAA,YAAY,EAAEa,gBAAgB;AAC9BZ,IAAAA,YAAY,EAAEa,gBAAgB;AAC9BZ,IAAAA,SAAS,EAAEa,aAAa;IACxB,GAAGZ,KAAAA;GACJ,CAAA;AAED,EAAA,oBAAOkB,cAAA,CAAA,GAAA,EAAA;AAAA,IAAA,GAAOL,WAAW;AAAAzB,IAAAA,QAAA,EAAGA,QAAAA;AAAQ,GAAI,CAAC,CAAA;AAC3C,CAAC,EACF;AAEDF,eAAe,CAACiC,WAAW,GAAG,iBAAiB;;;;"}
@@ -17,7 +17,9 @@ const PrimitiveAnchor = /*#__PURE__*/forwardRef(({
17
17
  onKeyDown,
18
18
  ...props
19
19
  }, ref) => {
20
- const anchorClasses = clsx(className);
20
+ const anchorClasses = clsx('wds-Anchor', {
21
+ 'wds-Anchor--disabled': disabled
22
+ }, className);
21
23
  const handleClick = useCallback(event => {
22
24
  if (disabled) {
23
25
  event.preventDefault();
@@ -1 +1 @@
1
- {"version":3,"file":"PrimitiveAnchor.mjs","sources":["../../../../src/primitives/PrimitiveAnchor/src/PrimitiveAnchor.tsx"],"sourcesContent":["import React, { forwardRef, useCallback } from 'react';\nimport { clsx } from 'clsx';\nimport type { PrimitiveAnchorProps } from '..';\n\n/**\n * The Primitive `PrimitiveAnchor` component is customisable link element that can be\n * used in various parts of the Wise Design System internally. It supports\n * different states such as disabled and provides event handlers for common\n * interactions like click, focus, blur, mouse enter, mouse leave, and key down.\n *\n * @see {@link PrimitiveAnchor} for further information.\n * @see {@link https://storybook.wise.design/?path=/docs/primitive-anchor--docs|Storybook Wise Design}\n */\nconst PrimitiveAnchor = forwardRef<HTMLAnchorElement, PrimitiveAnchorProps>(\n (\n {\n children,\n className,\n href,\n id,\n disabled = false,\n testId,\n onClick,\n onFocus,\n onBlur,\n onMouseEnter,\n onMouseLeave,\n onKeyDown,\n ...props\n },\n ref,\n ) => {\n const anchorClasses = clsx(className);\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLAnchorElement>) => {\n if (disabled) {\n event.preventDefault();\n } else {\n onClick?.(event);\n }\n },\n [disabled, onClick],\n );\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLAnchorElement>) => {\n onFocus?.(event);\n },\n [onFocus],\n );\n\n const handleBlur = useCallback(\n (event: React.FocusEvent<HTMLAnchorElement>) => {\n onBlur?.(event);\n },\n [onBlur],\n );\n\n const handleMouseEnter = useCallback(\n (event: React.MouseEvent<HTMLAnchorElement>) => {\n onMouseEnter?.(event);\n },\n [onMouseEnter],\n );\n\n const handleMouseLeave = useCallback(\n (event: React.MouseEvent<HTMLAnchorElement>) => {\n onMouseLeave?.(event);\n },\n [onMouseLeave],\n );\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLAnchorElement>) => {\n onKeyDown?.(event);\n },\n [onKeyDown],\n );\n\n /**\n * The following props are set to handle the `disabled` state for the link:\n *\n * - `aria-disabled`: Exposes the link as disabled to assistive technologies.\n * - `href`: Removed when `disabled` is true to prevent navigation.\n * - `role`: Set to 'link' when `disabled` is true to ensure the element\n * is still exposed as a link.\n *\n * For more details, refer to Scott O'Hara's article on disabling links:\n * https://www.scottohara.me/blog/2021/05/28/disabled-links.html\n */\n const anchorProps = {\n 'aria-disabled': disabled,\n className: anchorClasses,\n 'data-testid': testId,\n href: disabled ? undefined : href,\n id,\n ref,\n role: disabled ? 'link' : undefined,\n rel: props.target === '_blank' ? 'noopener noreferrer' : undefined,\n onClick: handleClick,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n onKeyDown: handleKeyDown,\n ...props,\n };\n\n return <a {...anchorProps}>{children}</a>;\n },\n);\n\nPrimitiveAnchor.displayName = 'PrimitiveAnchor';\n\nexport default PrimitiveAnchor;\n"],"names":["PrimitiveAnchor","forwardRef","children","className","href","id","disabled","testId","onClick","onFocus","onBlur","onMouseEnter","onMouseLeave","onKeyDown","props","ref","anchorClasses","clsx","handleClick","useCallback","event","preventDefault","handleFocus","handleBlur","handleMouseEnter","handleMouseLeave","handleKeyDown","anchorProps","undefined","role","rel","target","_jsx","displayName"],"mappings":";;;;AAaA,MAAMA,eAAe,gBAAGC,UAAU,CAChC,CACE;EACEC,QAAQ;EACRC,SAAS;EACTC,IAAI;EACJC,EAAE;AACFC,EAAAA,QAAQ,GAAG,KAAK;EAChBC,MAAM;EACNC,OAAO;EACPC,OAAO;EACPC,MAAM;EACNC,YAAY;EACZC,YAAY;EACZC,SAAS;EACT,GAAGC,KAAAA;CACJ,EACDC,GAAG,KACD;AACF,EAAA,MAAMC,aAAa,GAAGC,IAAI,CAACd,SAAS,CAAC,CAAA;AAErC,EAAA,MAAMe,WAAW,GAAGC,WAAW,CAC5BC,KAA0C,IAAI;AAC7C,IAAA,IAAId,QAAQ,EAAE;MACZc,KAAK,CAACC,cAAc,EAAE,CAAA;AACxB,KAAC,MAAM;MACLb,OAAO,GAAGY,KAAK,CAAC,CAAA;AAClB,KAAA;AACF,GAAC,EACD,CAACd,QAAQ,EAAEE,OAAO,CAAC,CACpB,CAAA;AAED,EAAA,MAAMc,WAAW,GAAGH,WAAW,CAC5BC,KAA0C,IAAI;IAC7CX,OAAO,GAAGW,KAAK,CAAC,CAAA;AAClB,GAAC,EACD,CAACX,OAAO,CAAC,CACV,CAAA;AAED,EAAA,MAAMc,UAAU,GAAGJ,WAAW,CAC3BC,KAA0C,IAAI;IAC7CV,MAAM,GAAGU,KAAK,CAAC,CAAA;AACjB,GAAC,EACD,CAACV,MAAM,CAAC,CACT,CAAA;AAED,EAAA,MAAMc,gBAAgB,GAAGL,WAAW,CACjCC,KAA0C,IAAI;IAC7CT,YAAY,GAAGS,KAAK,CAAC,CAAA;AACvB,GAAC,EACD,CAACT,YAAY,CAAC,CACf,CAAA;AAED,EAAA,MAAMc,gBAAgB,GAAGN,WAAW,CACjCC,KAA0C,IAAI;IAC7CR,YAAY,GAAGQ,KAAK,CAAC,CAAA;AACvB,GAAC,EACD,CAACR,YAAY,CAAC,CACf,CAAA;AAED,EAAA,MAAMc,aAAa,GAAGP,WAAW,CAC9BC,KAA6C,IAAI;IAChDP,SAAS,GAAGO,KAAK,CAAC,CAAA;AACpB,GAAC,EACD,CAACP,SAAS,CAAC,CACZ,CAAA;AAED;;;;;;;;;;AAUG;AACH,EAAA,MAAMc,WAAW,GAAG;AAClB,IAAA,eAAe,EAAErB,QAAQ;AACzBH,IAAAA,SAAS,EAAEa,aAAa;AACxB,IAAA,aAAa,EAAET,MAAM;AACrBH,IAAAA,IAAI,EAAEE,QAAQ,GAAGsB,SAAS,GAAGxB,IAAI;IACjCC,EAAE;IACFU,GAAG;AACHc,IAAAA,IAAI,EAAEvB,QAAQ,GAAG,MAAM,GAAGsB,SAAS;IACnCE,GAAG,EAAEhB,KAAK,CAACiB,MAAM,KAAK,QAAQ,GAAG,qBAAqB,GAAGH,SAAS;AAClEpB,IAAAA,OAAO,EAAEU,WAAW;AACpBT,IAAAA,OAAO,EAAEa,WAAW;AACpBZ,IAAAA,MAAM,EAAEa,UAAU;AAClBZ,IAAAA,YAAY,EAAEa,gBAAgB;AAC9BZ,IAAAA,YAAY,EAAEa,gBAAgB;AAC9BZ,IAAAA,SAAS,EAAEa,aAAa;IACxB,GAAGZ,KAAAA;GACJ,CAAA;AAED,EAAA,oBAAOkB,GAAA,CAAA,GAAA,EAAA;AAAA,IAAA,GAAOL,WAAW;AAAAzB,IAAAA,QAAA,EAAGA,QAAAA;AAAQ,GAAI,CAAC,CAAA;AAC3C,CAAC,EACF;AAEDF,eAAe,CAACiC,WAAW,GAAG,iBAAiB;;;;"}
1
+ {"version":3,"file":"PrimitiveAnchor.mjs","sources":["../../../../src/primitives/PrimitiveAnchor/src/PrimitiveAnchor.tsx"],"sourcesContent":["import React, { forwardRef, useCallback } from 'react';\nimport { clsx } from 'clsx';\nimport type { PrimitiveAnchorProps } from '..';\n\n/**\n * The Primitive `PrimitiveAnchor` component is customisable link element that can be\n * used in various parts of the Wise Design System internally. It supports\n * different states such as disabled and provides event handlers for common\n * interactions like click, focus, blur, mouse enter, mouse leave, and key down.\n *\n * @see {@link PrimitiveAnchor} for further information.\n * @see {@link https://storybook.wise.design/?path=/docs/primitive-anchor--docs|Storybook Wise Design}\n */\nconst PrimitiveAnchor = forwardRef<HTMLAnchorElement, PrimitiveAnchorProps>(\n (\n {\n children,\n className,\n href,\n id,\n disabled = false,\n testId,\n onClick,\n onFocus,\n onBlur,\n onMouseEnter,\n onMouseLeave,\n onKeyDown,\n ...props\n },\n ref,\n ) => {\n const anchorClasses = clsx(\n 'wds-Anchor',\n {\n 'wds-Anchor--disabled': disabled,\n },\n className,\n );\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLAnchorElement>) => {\n if (disabled) {\n event.preventDefault();\n } else {\n onClick?.(event);\n }\n },\n [disabled, onClick],\n );\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLAnchorElement>) => {\n onFocus?.(event);\n },\n [onFocus],\n );\n\n const handleBlur = useCallback(\n (event: React.FocusEvent<HTMLAnchorElement>) => {\n onBlur?.(event);\n },\n [onBlur],\n );\n\n const handleMouseEnter = useCallback(\n (event: React.MouseEvent<HTMLAnchorElement>) => {\n onMouseEnter?.(event);\n },\n [onMouseEnter],\n );\n\n const handleMouseLeave = useCallback(\n (event: React.MouseEvent<HTMLAnchorElement>) => {\n onMouseLeave?.(event);\n },\n [onMouseLeave],\n );\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLAnchorElement>) => {\n onKeyDown?.(event);\n },\n [onKeyDown],\n );\n\n /**\n * The following props are set to handle the `disabled` state for the link:\n *\n * - `aria-disabled`: Exposes the link as disabled to assistive technologies.\n * - `href`: Removed when `disabled` is true to prevent navigation.\n * - `role`: Set to 'link' when `disabled` is true to ensure the element\n * is still exposed as a link.\n *\n * For more details, refer to Scott O'Hara's article on disabling links:\n * https://www.scottohara.me/blog/2021/05/28/disabled-links.html\n */\n const anchorProps = {\n 'aria-disabled': disabled,\n className: anchorClasses,\n 'data-testid': testId,\n href: disabled ? undefined : href,\n id,\n ref,\n role: disabled ? 'link' : undefined,\n rel: props.target === '_blank' ? 'noopener noreferrer' : undefined,\n onClick: handleClick,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n onKeyDown: handleKeyDown,\n ...props,\n };\n\n return <a {...anchorProps}>{children}</a>;\n },\n);\n\nPrimitiveAnchor.displayName = 'PrimitiveAnchor';\n\nexport default PrimitiveAnchor;\n"],"names":["PrimitiveAnchor","forwardRef","children","className","href","id","disabled","testId","onClick","onFocus","onBlur","onMouseEnter","onMouseLeave","onKeyDown","props","ref","anchorClasses","clsx","handleClick","useCallback","event","preventDefault","handleFocus","handleBlur","handleMouseEnter","handleMouseLeave","handleKeyDown","anchorProps","undefined","role","rel","target","_jsx","displayName"],"mappings":";;;;AAaA,MAAMA,eAAe,gBAAGC,UAAU,CAChC,CACE;EACEC,QAAQ;EACRC,SAAS;EACTC,IAAI;EACJC,EAAE;AACFC,EAAAA,QAAQ,GAAG,KAAK;EAChBC,MAAM;EACNC,OAAO;EACPC,OAAO;EACPC,MAAM;EACNC,YAAY;EACZC,YAAY;EACZC,SAAS;EACT,GAAGC,KAAAA;CACJ,EACDC,GAAG,KACD;AACF,EAAA,MAAMC,aAAa,GAAGC,IAAI,CACxB,YAAY,EACZ;AACE,IAAA,sBAAsB,EAAEX,QAAAA;GACzB,EACDH,SAAS,CACV,CAAA;AAED,EAAA,MAAMe,WAAW,GAAGC,WAAW,CAC5BC,KAA0C,IAAI;AAC7C,IAAA,IAAId,QAAQ,EAAE;MACZc,KAAK,CAACC,cAAc,EAAE,CAAA;AACxB,KAAC,MAAM;MACLb,OAAO,GAAGY,KAAK,CAAC,CAAA;AAClB,KAAA;AACF,GAAC,EACD,CAACd,QAAQ,EAAEE,OAAO,CAAC,CACpB,CAAA;AAED,EAAA,MAAMc,WAAW,GAAGH,WAAW,CAC5BC,KAA0C,IAAI;IAC7CX,OAAO,GAAGW,KAAK,CAAC,CAAA;AAClB,GAAC,EACD,CAACX,OAAO,CAAC,CACV,CAAA;AAED,EAAA,MAAMc,UAAU,GAAGJ,WAAW,CAC3BC,KAA0C,IAAI;IAC7CV,MAAM,GAAGU,KAAK,CAAC,CAAA;AACjB,GAAC,EACD,CAACV,MAAM,CAAC,CACT,CAAA;AAED,EAAA,MAAMc,gBAAgB,GAAGL,WAAW,CACjCC,KAA0C,IAAI;IAC7CT,YAAY,GAAGS,KAAK,CAAC,CAAA;AACvB,GAAC,EACD,CAACT,YAAY,CAAC,CACf,CAAA;AAED,EAAA,MAAMc,gBAAgB,GAAGN,WAAW,CACjCC,KAA0C,IAAI;IAC7CR,YAAY,GAAGQ,KAAK,CAAC,CAAA;AACvB,GAAC,EACD,CAACR,YAAY,CAAC,CACf,CAAA;AAED,EAAA,MAAMc,aAAa,GAAGP,WAAW,CAC9BC,KAA6C,IAAI;IAChDP,SAAS,GAAGO,KAAK,CAAC,CAAA;AACpB,GAAC,EACD,CAACP,SAAS,CAAC,CACZ,CAAA;AAED;;;;;;;;;;AAUG;AACH,EAAA,MAAMc,WAAW,GAAG;AAClB,IAAA,eAAe,EAAErB,QAAQ;AACzBH,IAAAA,SAAS,EAAEa,aAAa;AACxB,IAAA,aAAa,EAAET,MAAM;AACrBH,IAAAA,IAAI,EAAEE,QAAQ,GAAGsB,SAAS,GAAGxB,IAAI;IACjCC,EAAE;IACFU,GAAG;AACHc,IAAAA,IAAI,EAAEvB,QAAQ,GAAG,MAAM,GAAGsB,SAAS;IACnCE,GAAG,EAAEhB,KAAK,CAACiB,MAAM,KAAK,QAAQ,GAAG,qBAAqB,GAAGH,SAAS;AAClEpB,IAAAA,OAAO,EAAEU,WAAW;AACpBT,IAAAA,OAAO,EAAEa,WAAW;AACpBZ,IAAAA,MAAM,EAAEa,UAAU;AAClBZ,IAAAA,YAAY,EAAEa,gBAAgB;AAC9BZ,IAAAA,YAAY,EAAEa,gBAAgB;AAC9BZ,IAAAA,SAAS,EAAEa,aAAa;IACxB,GAAGZ,KAAAA;GACJ,CAAA;AAED,EAAA,oBAAOkB,GAAA,CAAA,GAAA,EAAA;AAAA,IAAA,GAAOL,WAAW;AAAAzB,IAAAA,QAAA,EAAGA,QAAAA;AAAQ,GAAI,CAAC,CAAA;AAC3C,CAAC,EACF;AAEDF,eAAe,CAACiC,WAAW,GAAG,iBAAiB;;;;"}
@@ -24,7 +24,10 @@ const PrimitiveButton = /*#__PURE__*/React.forwardRef(({
24
24
  ...props
25
25
  }, ref) => {
26
26
  const intl = reactIntl.useIntl();
27
- const classNames = clsx.clsx(className);
27
+ const classNames = clsx.clsx('wds-Button', {
28
+ 'wds-Button--disabled': disabled,
29
+ 'wds-Button--loading': loading
30
+ }, className);
28
31
  const handleClick = React.useCallback(event => {
29
32
  if (disabled || loading) {
30
33
  event.preventDefault();
@@ -1 +1 @@
1
- {"version":3,"file":"PrimitiveButton.js","sources":["../../../../src/primitives/PrimitiveButton/src/PrimitiveButton.tsx"],"sourcesContent":["/* eslint-disable react/button-has-type */\nimport React, { forwardRef, useCallback } from 'react';\nimport { clsx } from 'clsx';\nimport { useIntl, MessageDescriptor } from 'react-intl';\nimport messages from '../../../i18n/commonMessages/Button.messages';\nimport type { PrimitiveButtonProps } from '..';\n\n/**\n * The Primitive `PrimitiveButton` component can be used in various parts the Wise Design\n * System internally. It supports different states such as disabled and loading,\n * and provides event handlers for common interactions like click, focus, blur,\n * mouse enter, mouse leave, and keydown.\n *\n * @see {@link PrimitiveButton} for further information.\n * @see {@link https://storybook.wise.design/?path=/docs/primitive-button--docs|Storybook Wise Design}\n */\nconst PrimitiveButton = forwardRef<HTMLButtonElement, PrimitiveButtonProps>(\n (\n {\n children,\n className,\n id,\n disabled = false,\n loading = false,\n testId,\n type = 'button',\n onClick,\n onFocus,\n onBlur,\n onMouseEnter,\n onMouseLeave,\n onKeyDown,\n ...props\n },\n ref,\n ) => {\n const intl = useIntl();\n const classNames = clsx(className);\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n if (disabled || loading) {\n event.preventDefault();\n } else {\n onClick?.(event);\n }\n },\n [disabled, loading, onClick],\n );\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLButtonElement>) => {\n onFocus?.(event);\n },\n [onFocus],\n );\n\n const handleBlur = useCallback(\n (event: React.FocusEvent<HTMLButtonElement>) => {\n onBlur?.(event);\n },\n [onBlur],\n );\n\n const handleMouseEnter = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n onMouseEnter?.(event);\n },\n [onMouseEnter],\n );\n\n const handleMouseLeave = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n onMouseLeave?.(event);\n },\n [onMouseLeave],\n );\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLButtonElement>) => {\n onKeyDown?.(event);\n },\n [onKeyDown],\n );\n\n /**\n * The following props are used to manage the `disabled` and `loading`\n * states for the button:\n *\n * - `aria-disabled`: Communicates to assistive technologies that the button\n * is disabled when it is either disabled or loading.\n * - `aria-label`: Provides an accessible label for the button, using a\n * localized loading message when the button is in a loading state.\n * - `aria-live`: Ensures that updates to the button's content are announced\n * by assistive technologies, set to 'polite' during loading.\n */\n const buttonProps = {\n 'aria-disabled': disabled || loading,\n 'aria-label': loading\n ? intl.formatMessage(messages.loadingAriaLabel as MessageDescriptor)\n : props['aria-label'],\n 'aria-live': (loading ? 'polite' : 'off') as 'polite' | 'off' | 'assertive' | undefined,\n className: classNames,\n 'data-testid': testId,\n disabled,\n id,\n ref,\n type,\n onBlur: handleBlur,\n onClick: handleClick,\n onFocus: handleFocus,\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n onKeyDown: handleKeyDown,\n ...props,\n };\n\n return <button {...buttonProps}>{children}</button>;\n },\n);\n\nPrimitiveButton.displayName = 'PrimitiveButton';\n\nexport default PrimitiveButton;\n"],"names":["PrimitiveButton","forwardRef","children","className","id","disabled","loading","testId","type","onClick","onFocus","onBlur","onMouseEnter","onMouseLeave","onKeyDown","props","ref","intl","useIntl","classNames","clsx","handleClick","useCallback","event","preventDefault","handleFocus","handleBlur","handleMouseEnter","handleMouseLeave","handleKeyDown","buttonProps","formatMessage","messages","loadingAriaLabel","_jsx","displayName"],"mappings":";;;;;;;;AAAA;AAgBA,MAAMA,eAAe,gBAAGC,gBAAU,CAChC,CACE;EACEC,QAAQ;EACRC,SAAS;EACTC,EAAE;AACFC,EAAAA,QAAQ,GAAG,KAAK;AAChBC,EAAAA,OAAO,GAAG,KAAK;EACfC,MAAM;AACNC,EAAAA,IAAI,GAAG,QAAQ;EACfC,OAAO;EACPC,OAAO;EACPC,MAAM;EACNC,YAAY;EACZC,YAAY;EACZC,SAAS;EACT,GAAGC,KAAAA;CACJ,EACDC,GAAG,KACD;AACF,EAAA,MAAMC,IAAI,GAAGC,iBAAO,EAAE,CAAA;AACtB,EAAA,MAAMC,UAAU,GAAGC,SAAI,CAACjB,SAAS,CAAC,CAAA;AAElC,EAAA,MAAMkB,WAAW,GAAGC,iBAAW,CAC5BC,KAA0C,IAAI;IAC7C,IAAIlB,QAAQ,IAAIC,OAAO,EAAE;MACvBiB,KAAK,CAACC,cAAc,EAAE,CAAA;AACxB,KAAC,MAAM;MACLf,OAAO,GAAGc,KAAK,CAAC,CAAA;AAClB,KAAA;GACD,EACD,CAAClB,QAAQ,EAAEC,OAAO,EAAEG,OAAO,CAAC,CAC7B,CAAA;AAED,EAAA,MAAMgB,WAAW,GAAGH,iBAAW,CAC5BC,KAA0C,IAAI;IAC7Cb,OAAO,GAAGa,KAAK,CAAC,CAAA;AAClB,GAAC,EACD,CAACb,OAAO,CAAC,CACV,CAAA;AAED,EAAA,MAAMgB,UAAU,GAAGJ,iBAAW,CAC3BC,KAA0C,IAAI;IAC7CZ,MAAM,GAAGY,KAAK,CAAC,CAAA;AACjB,GAAC,EACD,CAACZ,MAAM,CAAC,CACT,CAAA;AAED,EAAA,MAAMgB,gBAAgB,GAAGL,iBAAW,CACjCC,KAA0C,IAAI;IAC7CX,YAAY,GAAGW,KAAK,CAAC,CAAA;AACvB,GAAC,EACD,CAACX,YAAY,CAAC,CACf,CAAA;AAED,EAAA,MAAMgB,gBAAgB,GAAGN,iBAAW,CACjCC,KAA0C,IAAI;IAC7CV,YAAY,GAAGU,KAAK,CAAC,CAAA;AACvB,GAAC,EACD,CAACV,YAAY,CAAC,CACf,CAAA;AAED,EAAA,MAAMgB,aAAa,GAAGP,iBAAW,CAC9BC,KAA6C,IAAI;IAChDT,SAAS,GAAGS,KAAK,CAAC,CAAA;AACpB,GAAC,EACD,CAACT,SAAS,CAAC,CACZ,CAAA;AAED;;;;;;;;;;AAUG;AACH,EAAA,MAAMgB,WAAW,GAAG;IAClB,eAAe,EAAEzB,QAAQ,IAAIC,OAAO;AACpC,IAAA,YAAY,EAAEA,OAAO,GACjBW,IAAI,CAACc,aAAa,CAACC,eAAQ,CAACC,gBAAqC,CAAC,GAClElB,KAAK,CAAC,YAAY,CAAC;AACvB,IAAA,WAAW,EAAGT,OAAO,GAAG,QAAQ,GAAG,KAAoD;AACvFH,IAAAA,SAAS,EAAEgB,UAAU;AACrB,IAAA,aAAa,EAAEZ,MAAM;IACrBF,QAAQ;IACRD,EAAE;IACFY,GAAG;IACHR,IAAI;AACJG,IAAAA,MAAM,EAAEe,UAAU;AAClBjB,IAAAA,OAAO,EAAEY,WAAW;AACpBX,IAAAA,OAAO,EAAEe,WAAW;AACpBb,IAAAA,YAAY,EAAEe,gBAAgB;AAC9Bd,IAAAA,YAAY,EAAEe,gBAAgB;AAC9Bd,IAAAA,SAAS,EAAEe,aAAa;IACxB,GAAGd,KAAAA;GACJ,CAAA;AAED,EAAA,oBAAOmB,cAAA,CAAA,QAAA,EAAA;AAAA,IAAA,GAAYJ,WAAW;AAAA5B,IAAAA,QAAA,EAAGA,QAAAA;AAAQ,GAAS,CAAC,CAAA;AACrD,CAAC,EACF;AAEDF,eAAe,CAACmC,WAAW,GAAG,iBAAiB;;;;"}
1
+ {"version":3,"file":"PrimitiveButton.js","sources":["../../../../src/primitives/PrimitiveButton/src/PrimitiveButton.tsx"],"sourcesContent":["/* eslint-disable react/button-has-type */\nimport React, { forwardRef, useCallback } from 'react';\nimport { clsx } from 'clsx';\nimport { useIntl, MessageDescriptor } from 'react-intl';\nimport messages from '../../../i18n/commonMessages/Button.messages';\nimport type { PrimitiveButtonProps } from '..';\n\n/**\n * The Primitive `PrimitiveButton` component can be used in various parts the Wise Design\n * System internally. It supports different states such as disabled and loading,\n * and provides event handlers for common interactions like click, focus, blur,\n * mouse enter, mouse leave, and keydown.\n *\n * @see {@link PrimitiveButton} for further information.\n * @see {@link https://storybook.wise.design/?path=/docs/primitive-button--docs|Storybook Wise Design}\n */\nconst PrimitiveButton = forwardRef<HTMLButtonElement, PrimitiveButtonProps>(\n (\n {\n children,\n className,\n id,\n disabled = false,\n loading = false,\n testId,\n type = 'button',\n onClick,\n onFocus,\n onBlur,\n onMouseEnter,\n onMouseLeave,\n onKeyDown,\n ...props\n },\n ref,\n ) => {\n const intl = useIntl();\n const classNames = clsx(\n 'wds-Button',\n {\n 'wds-Button--disabled': disabled,\n 'wds-Button--loading': loading,\n },\n className,\n );\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n if (disabled || loading) {\n event.preventDefault();\n } else {\n onClick?.(event);\n }\n },\n [disabled, loading, onClick],\n );\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLButtonElement>) => {\n onFocus?.(event);\n },\n [onFocus],\n );\n\n const handleBlur = useCallback(\n (event: React.FocusEvent<HTMLButtonElement>) => {\n onBlur?.(event);\n },\n [onBlur],\n );\n\n const handleMouseEnter = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n onMouseEnter?.(event);\n },\n [onMouseEnter],\n );\n\n const handleMouseLeave = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n onMouseLeave?.(event);\n },\n [onMouseLeave],\n );\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLButtonElement>) => {\n onKeyDown?.(event);\n },\n [onKeyDown],\n );\n\n /**\n * The following props are used to manage the `disabled` and `loading`\n * states for the button:\n *\n * - `aria-disabled`: Communicates to assistive technologies that the button\n * is disabled when it is either disabled or loading.\n * - `aria-label`: Provides an accessible label for the button, using a\n * localized loading message when the button is in a loading state.\n * - `aria-live`: Ensures that updates to the button's content are announced\n * by assistive technologies, set to 'polite' during loading.\n */\n const buttonProps = {\n 'aria-disabled': disabled || loading,\n 'aria-label': loading\n ? intl.formatMessage(messages.loadingAriaLabel as MessageDescriptor)\n : props['aria-label'],\n 'aria-live': (loading ? 'polite' : 'off') as 'polite' | 'off' | 'assertive' | undefined,\n className: classNames,\n 'data-testid': testId,\n disabled,\n id,\n ref,\n type,\n onBlur: handleBlur,\n onClick: handleClick,\n onFocus: handleFocus,\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n onKeyDown: handleKeyDown,\n ...props,\n };\n\n return <button {...buttonProps}>{children}</button>;\n },\n);\n\nPrimitiveButton.displayName = 'PrimitiveButton';\n\nexport default PrimitiveButton;\n"],"names":["PrimitiveButton","forwardRef","children","className","id","disabled","loading","testId","type","onClick","onFocus","onBlur","onMouseEnter","onMouseLeave","onKeyDown","props","ref","intl","useIntl","classNames","clsx","handleClick","useCallback","event","preventDefault","handleFocus","handleBlur","handleMouseEnter","handleMouseLeave","handleKeyDown","buttonProps","formatMessage","messages","loadingAriaLabel","_jsx","displayName"],"mappings":";;;;;;;;AAAA;AAgBA,MAAMA,eAAe,gBAAGC,gBAAU,CAChC,CACE;EACEC,QAAQ;EACRC,SAAS;EACTC,EAAE;AACFC,EAAAA,QAAQ,GAAG,KAAK;AAChBC,EAAAA,OAAO,GAAG,KAAK;EACfC,MAAM;AACNC,EAAAA,IAAI,GAAG,QAAQ;EACfC,OAAO;EACPC,OAAO;EACPC,MAAM;EACNC,YAAY;EACZC,YAAY;EACZC,SAAS;EACT,GAAGC,KAAAA;CACJ,EACDC,GAAG,KACD;AACF,EAAA,MAAMC,IAAI,GAAGC,iBAAO,EAAE,CAAA;AACtB,EAAA,MAAMC,UAAU,GAAGC,SAAI,CACrB,YAAY,EACZ;AACE,IAAA,sBAAsB,EAAEf,QAAQ;AAChC,IAAA,qBAAqB,EAAEC,OAAAA;GACxB,EACDH,SAAS,CACV,CAAA;AAED,EAAA,MAAMkB,WAAW,GAAGC,iBAAW,CAC5BC,KAA0C,IAAI;IAC7C,IAAIlB,QAAQ,IAAIC,OAAO,EAAE;MACvBiB,KAAK,CAACC,cAAc,EAAE,CAAA;AACxB,KAAC,MAAM;MACLf,OAAO,GAAGc,KAAK,CAAC,CAAA;AAClB,KAAA;GACD,EACD,CAAClB,QAAQ,EAAEC,OAAO,EAAEG,OAAO,CAAC,CAC7B,CAAA;AAED,EAAA,MAAMgB,WAAW,GAAGH,iBAAW,CAC5BC,KAA0C,IAAI;IAC7Cb,OAAO,GAAGa,KAAK,CAAC,CAAA;AAClB,GAAC,EACD,CAACb,OAAO,CAAC,CACV,CAAA;AAED,EAAA,MAAMgB,UAAU,GAAGJ,iBAAW,CAC3BC,KAA0C,IAAI;IAC7CZ,MAAM,GAAGY,KAAK,CAAC,CAAA;AACjB,GAAC,EACD,CAACZ,MAAM,CAAC,CACT,CAAA;AAED,EAAA,MAAMgB,gBAAgB,GAAGL,iBAAW,CACjCC,KAA0C,IAAI;IAC7CX,YAAY,GAAGW,KAAK,CAAC,CAAA;AACvB,GAAC,EACD,CAACX,YAAY,CAAC,CACf,CAAA;AAED,EAAA,MAAMgB,gBAAgB,GAAGN,iBAAW,CACjCC,KAA0C,IAAI;IAC7CV,YAAY,GAAGU,KAAK,CAAC,CAAA;AACvB,GAAC,EACD,CAACV,YAAY,CAAC,CACf,CAAA;AAED,EAAA,MAAMgB,aAAa,GAAGP,iBAAW,CAC9BC,KAA6C,IAAI;IAChDT,SAAS,GAAGS,KAAK,CAAC,CAAA;AACpB,GAAC,EACD,CAACT,SAAS,CAAC,CACZ,CAAA;AAED;;;;;;;;;;AAUG;AACH,EAAA,MAAMgB,WAAW,GAAG;IAClB,eAAe,EAAEzB,QAAQ,IAAIC,OAAO;AACpC,IAAA,YAAY,EAAEA,OAAO,GACjBW,IAAI,CAACc,aAAa,CAACC,eAAQ,CAACC,gBAAqC,CAAC,GAClElB,KAAK,CAAC,YAAY,CAAC;AACvB,IAAA,WAAW,EAAGT,OAAO,GAAG,QAAQ,GAAG,KAAoD;AACvFH,IAAAA,SAAS,EAAEgB,UAAU;AACrB,IAAA,aAAa,EAAEZ,MAAM;IACrBF,QAAQ;IACRD,EAAE;IACFY,GAAG;IACHR,IAAI;AACJG,IAAAA,MAAM,EAAEe,UAAU;AAClBjB,IAAAA,OAAO,EAAEY,WAAW;AACpBX,IAAAA,OAAO,EAAEe,WAAW;AACpBb,IAAAA,YAAY,EAAEe,gBAAgB;AAC9Bd,IAAAA,YAAY,EAAEe,gBAAgB;AAC9Bd,IAAAA,SAAS,EAAEe,aAAa;IACxB,GAAGd,KAAAA;GACJ,CAAA;AAED,EAAA,oBAAOmB,cAAA,CAAA,QAAA,EAAA;AAAA,IAAA,GAAYJ,WAAW;AAAA5B,IAAAA,QAAA,EAAGA,QAAAA;AAAQ,GAAS,CAAC,CAAA;AACrD,CAAC,EACF;AAEDF,eAAe,CAACmC,WAAW,GAAG,iBAAiB;;;;"}
@@ -22,7 +22,10 @@ const PrimitiveButton = /*#__PURE__*/forwardRef(({
22
22
  ...props
23
23
  }, ref) => {
24
24
  const intl = useIntl();
25
- const classNames = clsx(className);
25
+ const classNames = clsx('wds-Button', {
26
+ 'wds-Button--disabled': disabled,
27
+ 'wds-Button--loading': loading
28
+ }, className);
26
29
  const handleClick = useCallback(event => {
27
30
  if (disabled || loading) {
28
31
  event.preventDefault();