@pareto-engineering/design-system 2.0.0-alpha.10 → 2.0.0-alpha.11

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.
@@ -13,7 +13,7 @@ var _bem = _interopRequireDefault(require("@pareto-engineering/bem"));
13
13
 
14
14
  var _ = require("../..");
15
15
 
16
- var _excluded = ["id", "className", "style", "children", "isLoading", "color", "isCompact", "isGhost", "isSimple"];
16
+ var _excluded = ["id", "className", "style", "children", "isLoading", "color", "isCompact", "isGhost", "isSimple", "arrowDirection"];
17
17
 
18
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
19
 
@@ -43,7 +43,8 @@ var Button = _ref => {
43
43
  color,
44
44
  isCompact,
45
45
  isGhost,
46
- isSimple
46
+ isSimple,
47
+ arrowDirection
47
48
  } = _ref,
48
49
  otherProps = _objectWithoutProperties(_ref, _excluded);
49
50
 
@@ -52,7 +53,7 @@ var Button = _ref => {
52
53
  }, []);
53
54
  return /*#__PURE__*/React.createElement("button", _extends({
54
55
  id: id,
55
- className: [baseClassName, componentClassName, userClassName, "x-".concat(color), isGhost && _bem.default.modifierGhost, isCompact && _bem.default.modifierCompact, isSimple && _bem.default.modifierSimple].filter(e => e).join(' '),
56
+ className: [baseClassName, componentClassName, userClassName, "x-".concat(color), isGhost && _bem.default.modifierGhost, isCompact && _bem.default.modifierCompact, isSimple && _bem.default.modifierSimple, arrowDirection && "arrow-".concat(arrowDirection)].filter(e => e).join(' '),
56
57
  style: style,
57
58
  type: "button"
58
59
  }, otherProps), isLoading ? /*#__PURE__*/React.createElement(_.LoadingCircle, {
@@ -107,7 +108,12 @@ Button.propTypes = {
107
108
  /**
108
109
  * Button loading state
109
110
  */
110
- isLoading: _propTypes.default.bool
111
+ isLoading: _propTypes.default.bool,
112
+
113
+ /**
114
+ * The direction of the arrow if the button has one
115
+ */
116
+ arrowDirection: _propTypes.default.string
111
117
  };
112
118
  Button.defaultProps = {
113
119
  color: 'main1'
@@ -6,6 +6,7 @@ $default-padding: 1em 1em .84em;
6
6
  $compact-padding: .6em .6em .48em;
7
7
  $default-color:primary;
8
8
  $font-weight:bold;
9
+ $default-margin:.5em;
9
10
 
10
11
  .#{bem.$base}.button {
11
12
  background: var(--x, var(--#{$default-color}));
@@ -16,6 +17,24 @@ $font-weight:bold;
16
17
  padding: $default-padding;
17
18
  transition: all .25s;
18
19
 
20
+ &.arrow-right{
21
+ &::after {
22
+ content: "L";
23
+ font-family: "icons";
24
+ vertical-align: middle;
25
+ margin-left: $default-margin;
26
+ }
27
+ }
28
+
29
+ &.arrow-left{
30
+ &::before {
31
+ content: "H";
32
+ font-family: "icons";
33
+ vertical-align: middle;
34
+ margin-right: $default-margin;
35
+ }
36
+ }
37
+
19
38
  &:not(:disabled) {
20
39
  cursor: pointer;
21
40
 
@@ -64,6 +83,7 @@ $font-weight:bold;
64
83
  &.#{bem.$modifier-simple} {
65
84
  background: transparent;
66
85
  border: 1px solid transparent;
86
+ padding: 0;
67
87
  color: var(--x, var(--#{$default-color}));
68
88
 
69
89
  &:disabled,
@@ -23,6 +23,7 @@ const Button = ({
23
23
  isCompact,
24
24
  isGhost,
25
25
  isSimple,
26
+ arrowDirection,
26
27
  ...otherProps
27
28
  }) => {
28
29
  useLayoutEffect(() => {
@@ -30,7 +31,7 @@ const Button = ({
30
31
  }, []);
31
32
  return /*#__PURE__*/React.createElement("button", _extends({
32
33
  id: id,
33
- className: [baseClassName, componentClassName, userClassName, `x-${color}`, isGhost && styleNames.modifierGhost, isCompact && styleNames.modifierCompact, isSimple && styleNames.modifierSimple].filter(e => e).join(' '),
34
+ className: [baseClassName, componentClassName, userClassName, `x-${color}`, isGhost && styleNames.modifierGhost, isCompact && styleNames.modifierCompact, isSimple && styleNames.modifierSimple, arrowDirection && `arrow-${arrowDirection}`].filter(e => e).join(' '),
34
35
  style: style,
35
36
  type: "button"
36
37
  }, otherProps), isLoading ? /*#__PURE__*/React.createElement(LoadingCircle, {
@@ -85,7 +86,12 @@ Button.propTypes = {
85
86
  /**
86
87
  * Button loading state
87
88
  */
88
- isLoading: PropTypes.bool
89
+ isLoading: PropTypes.bool,
90
+
91
+ /**
92
+ * The direction of the arrow if the button has one
93
+ */
94
+ arrowDirection: PropTypes.string
89
95
  };
90
96
  Button.defaultProps = {
91
97
  color: 'main1'
@@ -6,6 +6,7 @@ $default-padding: 1em 1em .84em;
6
6
  $compact-padding: .6em .6em .48em;
7
7
  $default-color:primary;
8
8
  $font-weight:bold;
9
+ $default-margin:.5em;
9
10
 
10
11
  .#{bem.$base}.button {
11
12
  background: var(--x, var(--#{$default-color}));
@@ -16,6 +17,24 @@ $font-weight:bold;
16
17
  padding: $default-padding;
17
18
  transition: all .25s;
18
19
 
20
+ &.arrow-right{
21
+ &::after {
22
+ content: "L";
23
+ font-family: "icons";
24
+ vertical-align: middle;
25
+ margin-left: $default-margin;
26
+ }
27
+ }
28
+
29
+ &.arrow-left{
30
+ &::before {
31
+ content: "H";
32
+ font-family: "icons";
33
+ vertical-align: middle;
34
+ margin-right: $default-margin;
35
+ }
36
+ }
37
+
19
38
  &:not(:disabled) {
20
39
  cursor: pointer;
21
40
 
@@ -64,6 +83,7 @@ $font-weight:bold;
64
83
  &.#{bem.$modifier-simple} {
65
84
  background: transparent;
66
85
  border: 1px solid transparent;
86
+ padding: 0;
67
87
  color: var(--x, var(--#{$default-color}));
68
88
 
69
89
  &:disabled,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pareto-engineering/design-system",
3
- "version": "2.0.0-alpha.10",
3
+ "version": "2.0.0-alpha.11",
4
4
  "description": "",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/es/index.js",
@@ -79,9 +79,9 @@
79
79
  "stylelint-config-palantir": "^5.1.0"
80
80
  },
81
81
  "dependencies": {
82
- "@pareto-engineering/assets": "^2.0.0-alpha.3",
82
+ "@pareto-engineering/assets": "^2.0.0-alpha.5",
83
83
  "@pareto-engineering/bem": "^0.1.5",
84
- "@pareto-engineering/styles": "^2.0.0-alpha.6",
84
+ "@pareto-engineering/styles": "^2.0.0-alpha.8",
85
85
  "date-fns": "^2.22.1",
86
86
  "formik": "^2.2.9",
87
87
  "hamburgers": "^1.1.3",
@@ -1661,7 +1661,7 @@ exports[`Storyshots a/Timestamp Distance Format 1`] = `
1661
1661
  className="base timestamp"
1662
1662
  onClick={[Function]}
1663
1663
  >
1664
- in 10 months
1664
+ in 9 months
1665
1665
  </p>
1666
1666
  `;
1667
1667
 
@@ -1690,6 +1690,1146 @@ Array [
1690
1690
  ]
1691
1691
  `;
1692
1692
 
1693
+ exports[`Storyshots b/Button Arrow Left 1`] = `
1694
+ Array [
1695
+ <button
1696
+ className="base button x-main1 arrow-left"
1697
+ type="button"
1698
+ >
1699
+ This is a
1700
+
1701
+ main1
1702
+
1703
+ button
1704
+ </button>,
1705
+ <button
1706
+ className="base button x-main2 arrow-left"
1707
+ type="button"
1708
+ >
1709
+ This is a
1710
+
1711
+ main2
1712
+
1713
+ button
1714
+ </button>,
1715
+ <button
1716
+ className="base button x-main3 arrow-left"
1717
+ type="button"
1718
+ >
1719
+ This is a
1720
+
1721
+ main3
1722
+
1723
+ button
1724
+ </button>,
1725
+ <button
1726
+ className="base button x-main4 arrow-left"
1727
+ type="button"
1728
+ >
1729
+ This is a
1730
+
1731
+ main4
1732
+
1733
+ button
1734
+ </button>,
1735
+ <button
1736
+ className="base button x-success arrow-left"
1737
+ type="button"
1738
+ >
1739
+ This is a
1740
+
1741
+ success
1742
+
1743
+ button
1744
+ </button>,
1745
+ <button
1746
+ className="base button x-warning arrow-left"
1747
+ type="button"
1748
+ >
1749
+ This is a
1750
+
1751
+ warning
1752
+
1753
+ button
1754
+ </button>,
1755
+ <button
1756
+ className="base button x-error arrow-left"
1757
+ type="button"
1758
+ >
1759
+ This is a
1760
+
1761
+ error
1762
+
1763
+ button
1764
+ </button>,
1765
+ <button
1766
+ className="base button x-background1 arrow-left"
1767
+ type="button"
1768
+ >
1769
+ This is a
1770
+
1771
+ background1
1772
+
1773
+ button
1774
+ </button>,
1775
+ <button
1776
+ className="base button x-background2 arrow-left"
1777
+ type="button"
1778
+ >
1779
+ This is a
1780
+
1781
+ background2
1782
+
1783
+ button
1784
+ </button>,
1785
+ <button
1786
+ className="base button x-background3 arrow-left"
1787
+ type="button"
1788
+ >
1789
+ This is a
1790
+
1791
+ background3
1792
+
1793
+ button
1794
+ </button>,
1795
+ <button
1796
+ className="base button x-background4 arrow-left"
1797
+ type="button"
1798
+ >
1799
+ This is a
1800
+
1801
+ background4
1802
+
1803
+ button
1804
+ </button>,
1805
+ <button
1806
+ className="base button x-background5 arrow-left"
1807
+ type="button"
1808
+ >
1809
+ This is a
1810
+
1811
+ background5
1812
+
1813
+ button
1814
+ </button>,
1815
+ <button
1816
+ className="base button x-background6 arrow-left"
1817
+ type="button"
1818
+ >
1819
+ This is a
1820
+
1821
+ background6
1822
+
1823
+ button
1824
+ </button>,
1825
+ <button
1826
+ className="base button x-heading arrow-left"
1827
+ type="button"
1828
+ >
1829
+ This is a
1830
+
1831
+ heading
1832
+
1833
+ button
1834
+ </button>,
1835
+ <button
1836
+ className="base button x-paragraph arrow-left"
1837
+ type="button"
1838
+ >
1839
+ This is a
1840
+
1841
+ paragraph
1842
+
1843
+ button
1844
+ </button>,
1845
+ <button
1846
+ className="base button x-subtitle arrow-left"
1847
+ type="button"
1848
+ >
1849
+ This is a
1850
+
1851
+ subtitle
1852
+
1853
+ button
1854
+ </button>,
1855
+ <button
1856
+ className="base button x-metadata arrow-left"
1857
+ type="button"
1858
+ >
1859
+ This is a
1860
+
1861
+ metadata
1862
+
1863
+ button
1864
+ </button>,
1865
+ <button
1866
+ className="base button x-link arrow-left"
1867
+ type="button"
1868
+ >
1869
+ This is a
1870
+
1871
+ link
1872
+
1873
+ button
1874
+ </button>,
1875
+ <button
1876
+ className="base button x-navlink arrow-left"
1877
+ type="button"
1878
+ >
1879
+ This is a
1880
+
1881
+ navlink
1882
+
1883
+ button
1884
+ </button>,
1885
+ <button
1886
+ className="base button x-twitter arrow-left"
1887
+ type="button"
1888
+ >
1889
+ This is a
1890
+
1891
+ twitter
1892
+
1893
+ button
1894
+ </button>,
1895
+ <button
1896
+ className="base button x-facebook arrow-left"
1897
+ type="button"
1898
+ >
1899
+ This is a
1900
+
1901
+ facebook
1902
+
1903
+ button
1904
+ </button>,
1905
+ <button
1906
+ className="base button x-instagram arrow-left"
1907
+ type="button"
1908
+ >
1909
+ This is a
1910
+
1911
+ instagram
1912
+
1913
+ button
1914
+ </button>,
1915
+ <button
1916
+ className="base button x-google arrow-left"
1917
+ type="button"
1918
+ >
1919
+ This is a
1920
+
1921
+ google
1922
+
1923
+ button
1924
+ </button>,
1925
+ <button
1926
+ className="base button x-black arrow-left"
1927
+ type="button"
1928
+ >
1929
+ This is a
1930
+
1931
+ black
1932
+
1933
+ button
1934
+ </button>,
1935
+ <button
1936
+ className="base button x-anchor arrow-left"
1937
+ type="button"
1938
+ >
1939
+ This is a
1940
+
1941
+ anchor
1942
+
1943
+ button
1944
+ </button>,
1945
+ <button
1946
+ className="base button x-grey arrow-left"
1947
+ type="button"
1948
+ >
1949
+ This is a
1950
+
1951
+ grey
1952
+
1953
+ button
1954
+ </button>,
1955
+ <button
1956
+ className="base button x-pearl arrow-left"
1957
+ type="button"
1958
+ >
1959
+ This is a
1960
+
1961
+ pearl
1962
+
1963
+ button
1964
+ </button>,
1965
+ <button
1966
+ className="base button x-white arrow-left"
1967
+ type="button"
1968
+ >
1969
+ This is a
1970
+
1971
+ white
1972
+
1973
+ button
1974
+ </button>,
1975
+ ]
1976
+ `;
1977
+
1978
+ exports[`Storyshots b/Button Arrow Left Simple 1`] = `
1979
+ Array [
1980
+ <button
1981
+ className="base button x-main1 modifierSimple arrow-left"
1982
+ type="button"
1983
+ >
1984
+ This is a
1985
+
1986
+ main1
1987
+
1988
+ button
1989
+ </button>,
1990
+ <button
1991
+ className="base button x-main2 modifierSimple arrow-left"
1992
+ type="button"
1993
+ >
1994
+ This is a
1995
+
1996
+ main2
1997
+
1998
+ button
1999
+ </button>,
2000
+ <button
2001
+ className="base button x-main3 modifierSimple arrow-left"
2002
+ type="button"
2003
+ >
2004
+ This is a
2005
+
2006
+ main3
2007
+
2008
+ button
2009
+ </button>,
2010
+ <button
2011
+ className="base button x-main4 modifierSimple arrow-left"
2012
+ type="button"
2013
+ >
2014
+ This is a
2015
+
2016
+ main4
2017
+
2018
+ button
2019
+ </button>,
2020
+ <button
2021
+ className="base button x-success modifierSimple arrow-left"
2022
+ type="button"
2023
+ >
2024
+ This is a
2025
+
2026
+ success
2027
+
2028
+ button
2029
+ </button>,
2030
+ <button
2031
+ className="base button x-warning modifierSimple arrow-left"
2032
+ type="button"
2033
+ >
2034
+ This is a
2035
+
2036
+ warning
2037
+
2038
+ button
2039
+ </button>,
2040
+ <button
2041
+ className="base button x-error modifierSimple arrow-left"
2042
+ type="button"
2043
+ >
2044
+ This is a
2045
+
2046
+ error
2047
+
2048
+ button
2049
+ </button>,
2050
+ <button
2051
+ className="base button x-background1 modifierSimple arrow-left"
2052
+ type="button"
2053
+ >
2054
+ This is a
2055
+
2056
+ background1
2057
+
2058
+ button
2059
+ </button>,
2060
+ <button
2061
+ className="base button x-background2 modifierSimple arrow-left"
2062
+ type="button"
2063
+ >
2064
+ This is a
2065
+
2066
+ background2
2067
+
2068
+ button
2069
+ </button>,
2070
+ <button
2071
+ className="base button x-background3 modifierSimple arrow-left"
2072
+ type="button"
2073
+ >
2074
+ This is a
2075
+
2076
+ background3
2077
+
2078
+ button
2079
+ </button>,
2080
+ <button
2081
+ className="base button x-background4 modifierSimple arrow-left"
2082
+ type="button"
2083
+ >
2084
+ This is a
2085
+
2086
+ background4
2087
+
2088
+ button
2089
+ </button>,
2090
+ <button
2091
+ className="base button x-background5 modifierSimple arrow-left"
2092
+ type="button"
2093
+ >
2094
+ This is a
2095
+
2096
+ background5
2097
+
2098
+ button
2099
+ </button>,
2100
+ <button
2101
+ className="base button x-background6 modifierSimple arrow-left"
2102
+ type="button"
2103
+ >
2104
+ This is a
2105
+
2106
+ background6
2107
+
2108
+ button
2109
+ </button>,
2110
+ <button
2111
+ className="base button x-heading modifierSimple arrow-left"
2112
+ type="button"
2113
+ >
2114
+ This is a
2115
+
2116
+ heading
2117
+
2118
+ button
2119
+ </button>,
2120
+ <button
2121
+ className="base button x-paragraph modifierSimple arrow-left"
2122
+ type="button"
2123
+ >
2124
+ This is a
2125
+
2126
+ paragraph
2127
+
2128
+ button
2129
+ </button>,
2130
+ <button
2131
+ className="base button x-subtitle modifierSimple arrow-left"
2132
+ type="button"
2133
+ >
2134
+ This is a
2135
+
2136
+ subtitle
2137
+
2138
+ button
2139
+ </button>,
2140
+ <button
2141
+ className="base button x-metadata modifierSimple arrow-left"
2142
+ type="button"
2143
+ >
2144
+ This is a
2145
+
2146
+ metadata
2147
+
2148
+ button
2149
+ </button>,
2150
+ <button
2151
+ className="base button x-link modifierSimple arrow-left"
2152
+ type="button"
2153
+ >
2154
+ This is a
2155
+
2156
+ link
2157
+
2158
+ button
2159
+ </button>,
2160
+ <button
2161
+ className="base button x-navlink modifierSimple arrow-left"
2162
+ type="button"
2163
+ >
2164
+ This is a
2165
+
2166
+ navlink
2167
+
2168
+ button
2169
+ </button>,
2170
+ <button
2171
+ className="base button x-twitter modifierSimple arrow-left"
2172
+ type="button"
2173
+ >
2174
+ This is a
2175
+
2176
+ twitter
2177
+
2178
+ button
2179
+ </button>,
2180
+ <button
2181
+ className="base button x-facebook modifierSimple arrow-left"
2182
+ type="button"
2183
+ >
2184
+ This is a
2185
+
2186
+ facebook
2187
+
2188
+ button
2189
+ </button>,
2190
+ <button
2191
+ className="base button x-instagram modifierSimple arrow-left"
2192
+ type="button"
2193
+ >
2194
+ This is a
2195
+
2196
+ instagram
2197
+
2198
+ button
2199
+ </button>,
2200
+ <button
2201
+ className="base button x-google modifierSimple arrow-left"
2202
+ type="button"
2203
+ >
2204
+ This is a
2205
+
2206
+ google
2207
+
2208
+ button
2209
+ </button>,
2210
+ <button
2211
+ className="base button x-black modifierSimple arrow-left"
2212
+ type="button"
2213
+ >
2214
+ This is a
2215
+
2216
+ black
2217
+
2218
+ button
2219
+ </button>,
2220
+ <button
2221
+ className="base button x-anchor modifierSimple arrow-left"
2222
+ type="button"
2223
+ >
2224
+ This is a
2225
+
2226
+ anchor
2227
+
2228
+ button
2229
+ </button>,
2230
+ <button
2231
+ className="base button x-grey modifierSimple arrow-left"
2232
+ type="button"
2233
+ >
2234
+ This is a
2235
+
2236
+ grey
2237
+
2238
+ button
2239
+ </button>,
2240
+ <button
2241
+ className="base button x-pearl modifierSimple arrow-left"
2242
+ type="button"
2243
+ >
2244
+ This is a
2245
+
2246
+ pearl
2247
+
2248
+ button
2249
+ </button>,
2250
+ <button
2251
+ className="base button x-white modifierSimple arrow-left"
2252
+ type="button"
2253
+ >
2254
+ This is a
2255
+
2256
+ white
2257
+
2258
+ button
2259
+ </button>,
2260
+ ]
2261
+ `;
2262
+
2263
+ exports[`Storyshots b/Button Arrow Right 1`] = `
2264
+ Array [
2265
+ <button
2266
+ className="base button x-main1 arrow-right"
2267
+ type="button"
2268
+ >
2269
+ This is a
2270
+
2271
+ main1
2272
+
2273
+ button
2274
+ </button>,
2275
+ <button
2276
+ className="base button x-main2 arrow-right"
2277
+ type="button"
2278
+ >
2279
+ This is a
2280
+
2281
+ main2
2282
+
2283
+ button
2284
+ </button>,
2285
+ <button
2286
+ className="base button x-main3 arrow-right"
2287
+ type="button"
2288
+ >
2289
+ This is a
2290
+
2291
+ main3
2292
+
2293
+ button
2294
+ </button>,
2295
+ <button
2296
+ className="base button x-main4 arrow-right"
2297
+ type="button"
2298
+ >
2299
+ This is a
2300
+
2301
+ main4
2302
+
2303
+ button
2304
+ </button>,
2305
+ <button
2306
+ className="base button x-success arrow-right"
2307
+ type="button"
2308
+ >
2309
+ This is a
2310
+
2311
+ success
2312
+
2313
+ button
2314
+ </button>,
2315
+ <button
2316
+ className="base button x-warning arrow-right"
2317
+ type="button"
2318
+ >
2319
+ This is a
2320
+
2321
+ warning
2322
+
2323
+ button
2324
+ </button>,
2325
+ <button
2326
+ className="base button x-error arrow-right"
2327
+ type="button"
2328
+ >
2329
+ This is a
2330
+
2331
+ error
2332
+
2333
+ button
2334
+ </button>,
2335
+ <button
2336
+ className="base button x-background1 arrow-right"
2337
+ type="button"
2338
+ >
2339
+ This is a
2340
+
2341
+ background1
2342
+
2343
+ button
2344
+ </button>,
2345
+ <button
2346
+ className="base button x-background2 arrow-right"
2347
+ type="button"
2348
+ >
2349
+ This is a
2350
+
2351
+ background2
2352
+
2353
+ button
2354
+ </button>,
2355
+ <button
2356
+ className="base button x-background3 arrow-right"
2357
+ type="button"
2358
+ >
2359
+ This is a
2360
+
2361
+ background3
2362
+
2363
+ button
2364
+ </button>,
2365
+ <button
2366
+ className="base button x-background4 arrow-right"
2367
+ type="button"
2368
+ >
2369
+ This is a
2370
+
2371
+ background4
2372
+
2373
+ button
2374
+ </button>,
2375
+ <button
2376
+ className="base button x-background5 arrow-right"
2377
+ type="button"
2378
+ >
2379
+ This is a
2380
+
2381
+ background5
2382
+
2383
+ button
2384
+ </button>,
2385
+ <button
2386
+ className="base button x-background6 arrow-right"
2387
+ type="button"
2388
+ >
2389
+ This is a
2390
+
2391
+ background6
2392
+
2393
+ button
2394
+ </button>,
2395
+ <button
2396
+ className="base button x-heading arrow-right"
2397
+ type="button"
2398
+ >
2399
+ This is a
2400
+
2401
+ heading
2402
+
2403
+ button
2404
+ </button>,
2405
+ <button
2406
+ className="base button x-paragraph arrow-right"
2407
+ type="button"
2408
+ >
2409
+ This is a
2410
+
2411
+ paragraph
2412
+
2413
+ button
2414
+ </button>,
2415
+ <button
2416
+ className="base button x-subtitle arrow-right"
2417
+ type="button"
2418
+ >
2419
+ This is a
2420
+
2421
+ subtitle
2422
+
2423
+ button
2424
+ </button>,
2425
+ <button
2426
+ className="base button x-metadata arrow-right"
2427
+ type="button"
2428
+ >
2429
+ This is a
2430
+
2431
+ metadata
2432
+
2433
+ button
2434
+ </button>,
2435
+ <button
2436
+ className="base button x-link arrow-right"
2437
+ type="button"
2438
+ >
2439
+ This is a
2440
+
2441
+ link
2442
+
2443
+ button
2444
+ </button>,
2445
+ <button
2446
+ className="base button x-navlink arrow-right"
2447
+ type="button"
2448
+ >
2449
+ This is a
2450
+
2451
+ navlink
2452
+
2453
+ button
2454
+ </button>,
2455
+ <button
2456
+ className="base button x-twitter arrow-right"
2457
+ type="button"
2458
+ >
2459
+ This is a
2460
+
2461
+ twitter
2462
+
2463
+ button
2464
+ </button>,
2465
+ <button
2466
+ className="base button x-facebook arrow-right"
2467
+ type="button"
2468
+ >
2469
+ This is a
2470
+
2471
+ facebook
2472
+
2473
+ button
2474
+ </button>,
2475
+ <button
2476
+ className="base button x-instagram arrow-right"
2477
+ type="button"
2478
+ >
2479
+ This is a
2480
+
2481
+ instagram
2482
+
2483
+ button
2484
+ </button>,
2485
+ <button
2486
+ className="base button x-google arrow-right"
2487
+ type="button"
2488
+ >
2489
+ This is a
2490
+
2491
+ google
2492
+
2493
+ button
2494
+ </button>,
2495
+ <button
2496
+ className="base button x-black arrow-right"
2497
+ type="button"
2498
+ >
2499
+ This is a
2500
+
2501
+ black
2502
+
2503
+ button
2504
+ </button>,
2505
+ <button
2506
+ className="base button x-anchor arrow-right"
2507
+ type="button"
2508
+ >
2509
+ This is a
2510
+
2511
+ anchor
2512
+
2513
+ button
2514
+ </button>,
2515
+ <button
2516
+ className="base button x-grey arrow-right"
2517
+ type="button"
2518
+ >
2519
+ This is a
2520
+
2521
+ grey
2522
+
2523
+ button
2524
+ </button>,
2525
+ <button
2526
+ className="base button x-pearl arrow-right"
2527
+ type="button"
2528
+ >
2529
+ This is a
2530
+
2531
+ pearl
2532
+
2533
+ button
2534
+ </button>,
2535
+ <button
2536
+ className="base button x-white arrow-right"
2537
+ type="button"
2538
+ >
2539
+ This is a
2540
+
2541
+ white
2542
+
2543
+ button
2544
+ </button>,
2545
+ ]
2546
+ `;
2547
+
2548
+ exports[`Storyshots b/Button Arrow Right Simple 1`] = `
2549
+ Array [
2550
+ <button
2551
+ className="base button x-main1 modifierSimple arrow-right"
2552
+ type="button"
2553
+ >
2554
+ This is a
2555
+
2556
+ main1
2557
+
2558
+ button
2559
+ </button>,
2560
+ <button
2561
+ className="base button x-main2 modifierSimple arrow-right"
2562
+ type="button"
2563
+ >
2564
+ This is a
2565
+
2566
+ main2
2567
+
2568
+ button
2569
+ </button>,
2570
+ <button
2571
+ className="base button x-main3 modifierSimple arrow-right"
2572
+ type="button"
2573
+ >
2574
+ This is a
2575
+
2576
+ main3
2577
+
2578
+ button
2579
+ </button>,
2580
+ <button
2581
+ className="base button x-main4 modifierSimple arrow-right"
2582
+ type="button"
2583
+ >
2584
+ This is a
2585
+
2586
+ main4
2587
+
2588
+ button
2589
+ </button>,
2590
+ <button
2591
+ className="base button x-success modifierSimple arrow-right"
2592
+ type="button"
2593
+ >
2594
+ This is a
2595
+
2596
+ success
2597
+
2598
+ button
2599
+ </button>,
2600
+ <button
2601
+ className="base button x-warning modifierSimple arrow-right"
2602
+ type="button"
2603
+ >
2604
+ This is a
2605
+
2606
+ warning
2607
+
2608
+ button
2609
+ </button>,
2610
+ <button
2611
+ className="base button x-error modifierSimple arrow-right"
2612
+ type="button"
2613
+ >
2614
+ This is a
2615
+
2616
+ error
2617
+
2618
+ button
2619
+ </button>,
2620
+ <button
2621
+ className="base button x-background1 modifierSimple arrow-right"
2622
+ type="button"
2623
+ >
2624
+ This is a
2625
+
2626
+ background1
2627
+
2628
+ button
2629
+ </button>,
2630
+ <button
2631
+ className="base button x-background2 modifierSimple arrow-right"
2632
+ type="button"
2633
+ >
2634
+ This is a
2635
+
2636
+ background2
2637
+
2638
+ button
2639
+ </button>,
2640
+ <button
2641
+ className="base button x-background3 modifierSimple arrow-right"
2642
+ type="button"
2643
+ >
2644
+ This is a
2645
+
2646
+ background3
2647
+
2648
+ button
2649
+ </button>,
2650
+ <button
2651
+ className="base button x-background4 modifierSimple arrow-right"
2652
+ type="button"
2653
+ >
2654
+ This is a
2655
+
2656
+ background4
2657
+
2658
+ button
2659
+ </button>,
2660
+ <button
2661
+ className="base button x-background5 modifierSimple arrow-right"
2662
+ type="button"
2663
+ >
2664
+ This is a
2665
+
2666
+ background5
2667
+
2668
+ button
2669
+ </button>,
2670
+ <button
2671
+ className="base button x-background6 modifierSimple arrow-right"
2672
+ type="button"
2673
+ >
2674
+ This is a
2675
+
2676
+ background6
2677
+
2678
+ button
2679
+ </button>,
2680
+ <button
2681
+ className="base button x-heading modifierSimple arrow-right"
2682
+ type="button"
2683
+ >
2684
+ This is a
2685
+
2686
+ heading
2687
+
2688
+ button
2689
+ </button>,
2690
+ <button
2691
+ className="base button x-paragraph modifierSimple arrow-right"
2692
+ type="button"
2693
+ >
2694
+ This is a
2695
+
2696
+ paragraph
2697
+
2698
+ button
2699
+ </button>,
2700
+ <button
2701
+ className="base button x-subtitle modifierSimple arrow-right"
2702
+ type="button"
2703
+ >
2704
+ This is a
2705
+
2706
+ subtitle
2707
+
2708
+ button
2709
+ </button>,
2710
+ <button
2711
+ className="base button x-metadata modifierSimple arrow-right"
2712
+ type="button"
2713
+ >
2714
+ This is a
2715
+
2716
+ metadata
2717
+
2718
+ button
2719
+ </button>,
2720
+ <button
2721
+ className="base button x-link modifierSimple arrow-right"
2722
+ type="button"
2723
+ >
2724
+ This is a
2725
+
2726
+ link
2727
+
2728
+ button
2729
+ </button>,
2730
+ <button
2731
+ className="base button x-navlink modifierSimple arrow-right"
2732
+ type="button"
2733
+ >
2734
+ This is a
2735
+
2736
+ navlink
2737
+
2738
+ button
2739
+ </button>,
2740
+ <button
2741
+ className="base button x-twitter modifierSimple arrow-right"
2742
+ type="button"
2743
+ >
2744
+ This is a
2745
+
2746
+ twitter
2747
+
2748
+ button
2749
+ </button>,
2750
+ <button
2751
+ className="base button x-facebook modifierSimple arrow-right"
2752
+ type="button"
2753
+ >
2754
+ This is a
2755
+
2756
+ facebook
2757
+
2758
+ button
2759
+ </button>,
2760
+ <button
2761
+ className="base button x-instagram modifierSimple arrow-right"
2762
+ type="button"
2763
+ >
2764
+ This is a
2765
+
2766
+ instagram
2767
+
2768
+ button
2769
+ </button>,
2770
+ <button
2771
+ className="base button x-google modifierSimple arrow-right"
2772
+ type="button"
2773
+ >
2774
+ This is a
2775
+
2776
+ google
2777
+
2778
+ button
2779
+ </button>,
2780
+ <button
2781
+ className="base button x-black modifierSimple arrow-right"
2782
+ type="button"
2783
+ >
2784
+ This is a
2785
+
2786
+ black
2787
+
2788
+ button
2789
+ </button>,
2790
+ <button
2791
+ className="base button x-anchor modifierSimple arrow-right"
2792
+ type="button"
2793
+ >
2794
+ This is a
2795
+
2796
+ anchor
2797
+
2798
+ button
2799
+ </button>,
2800
+ <button
2801
+ className="base button x-grey modifierSimple arrow-right"
2802
+ type="button"
2803
+ >
2804
+ This is a
2805
+
2806
+ grey
2807
+
2808
+ button
2809
+ </button>,
2810
+ <button
2811
+ className="base button x-pearl modifierSimple arrow-right"
2812
+ type="button"
2813
+ >
2814
+ This is a
2815
+
2816
+ pearl
2817
+
2818
+ button
2819
+ </button>,
2820
+ <button
2821
+ className="base button x-white modifierSimple arrow-right"
2822
+ type="button"
2823
+ >
2824
+ This is a
2825
+
2826
+ white
2827
+
2828
+ button
2829
+ </button>,
2830
+ ]
2831
+ `;
2832
+
1693
2833
  exports[`Storyshots b/Button Base 1`] = `
1694
2834
  <button
1695
2835
  className="base button x-main1"
@@ -82,3 +82,25 @@ export const Loading = MultipleTemplate.bind({})
82
82
  Loading.args = {
83
83
  isLoading:true,
84
84
  }
85
+
86
+ export const ArrowLeft = MultipleTemplate.bind({})
87
+ ArrowLeft.args = {
88
+ arrowDirection:'left',
89
+ }
90
+
91
+ export const ArrowRight = MultipleTemplate.bind({})
92
+ ArrowRight.args = {
93
+ arrowDirection:'right',
94
+ }
95
+
96
+ export const ArrowLeftSimple = MultipleTemplate.bind({})
97
+ ArrowLeftSimple.args = {
98
+ arrowDirection:'left',
99
+ isSimple :true,
100
+ }
101
+
102
+ export const ArrowRightSimple = MultipleTemplate.bind({})
103
+ ArrowRightSimple.args = {
104
+ arrowDirection:'right',
105
+ isSimple :true,
106
+ }
@@ -23,6 +23,7 @@ const Button = ({
23
23
  isCompact,
24
24
  isGhost,
25
25
  isSimple,
26
+ arrowDirection,
26
27
  ...otherProps
27
28
  }) => {
28
29
  useLayoutEffect(() => {
@@ -40,6 +41,7 @@ const Button = ({
40
41
  isGhost && styleNames.modifierGhost,
41
42
  isCompact && styleNames.modifierCompact,
42
43
  isSimple && styleNames.modifierSimple,
44
+ arrowDirection && `arrow-${arrowDirection}`,
43
45
  ]
44
46
  .filter((e) => e)
45
47
  .join(' ')}
@@ -103,6 +105,11 @@ Button.propTypes = {
103
105
  * Button loading state
104
106
  */
105
107
  isLoading:PropTypes.bool,
108
+
109
+ /**
110
+ * The direction of the arrow if the button has one
111
+ */
112
+ arrowDirection:PropTypes.string,
106
113
  }
107
114
 
108
115
  Button.defaultProps = {
@@ -6,6 +6,7 @@ $default-padding: 1em 1em .84em;
6
6
  $compact-padding: .6em .6em .48em;
7
7
  $default-color:primary;
8
8
  $font-weight:bold;
9
+ $default-margin:.5em;
9
10
 
10
11
  .#{bem.$base}.button {
11
12
  background: var(--x, var(--#{$default-color}));
@@ -16,6 +17,24 @@ $font-weight:bold;
16
17
  padding: $default-padding;
17
18
  transition: all .25s;
18
19
 
20
+ &.arrow-right{
21
+ &::after {
22
+ content: "L";
23
+ font-family: "icons";
24
+ vertical-align: middle;
25
+ margin-left: $default-margin;
26
+ }
27
+ }
28
+
29
+ &.arrow-left{
30
+ &::before {
31
+ content: "H";
32
+ font-family: "icons";
33
+ vertical-align: middle;
34
+ margin-right: $default-margin;
35
+ }
36
+ }
37
+
19
38
  &:not(:disabled) {
20
39
  cursor: pointer;
21
40
 
@@ -64,6 +83,7 @@ $font-weight:bold;
64
83
  &.#{bem.$modifier-simple} {
65
84
  background: transparent;
66
85
  border: 1px solid transparent;
86
+ padding: 0;
67
87
  color: var(--x, var(--#{$default-color}));
68
88
 
69
89
  &:disabled,