@carbon/charts 0.41.49 → 0.41.50

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 (242) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/build/demo/data/index.d.ts +9 -3
  3. package/build/demo/data/wordcloud.d.ts +14 -0
  4. package/build/src/charts/index.d.ts +1 -0
  5. package/build/src/charts/wordcloud.d.ts +6 -0
  6. package/build/src/components/graphs/wordcloud.d.ts +10 -0
  7. package/build/src/components/index.d.ts +1 -0
  8. package/build/src/configuration.d.ts +2 -1
  9. package/build/src/interfaces/charts.d.ts +23 -0
  10. package/build/src/interfaces/events.d.ts +9 -0
  11. package/bundle.js +1 -1
  12. package/charts/index.d.ts +1 -0
  13. package/charts/index.js +1 -0
  14. package/charts/index.js.map +1 -1
  15. package/charts/wordcloud.d.ts +6 -0
  16. package/charts/wordcloud.js +46 -0
  17. package/charts/wordcloud.js.map +1 -0
  18. package/components/essentials/tooltip-axis.js +1 -1
  19. package/components/essentials/tooltip-axis.js.map +1 -1
  20. package/components/graphs/boxplot.js +2 -2
  21. package/components/graphs/boxplot.js.map +1 -1
  22. package/components/graphs/wordcloud.d.ts +10 -0
  23. package/components/graphs/wordcloud.js +229 -0
  24. package/components/graphs/wordcloud.js.map +1 -0
  25. package/components/index.d.ts +1 -0
  26. package/components/index.js +1 -0
  27. package/components/index.js.map +1 -1
  28. package/configuration.d.ts +2 -1
  29. package/configuration.js +22 -0
  30. package/configuration.js.map +1 -1
  31. package/demo/data/bundle.js +1 -1
  32. package/demo/data/index.d.ts +9 -3
  33. package/demo/data/index.js +25 -8
  34. package/demo/data/index.js.map +1 -1
  35. package/demo/data/wordcloud.d.ts +14 -0
  36. package/demo/data/wordcloud.js +105 -0
  37. package/demo/data/wordcloud.js.map +1 -0
  38. package/demo/styles.css +2824 -28
  39. package/demo/styles.css.map +1 -1
  40. package/demo/styles.min.css +1 -1
  41. package/demo/styles.min.css.map +1 -1
  42. package/demo/tsconfig.tsbuildinfo +29 -15
  43. package/interfaces/charts.d.ts +23 -0
  44. package/interfaces/charts.js.map +1 -1
  45. package/interfaces/events.d.ts +9 -0
  46. package/interfaces/events.js +10 -0
  47. package/interfaces/events.js.map +1 -1
  48. package/package.json +8 -7
  49. package/styles/_type.scss +4 -2
  50. package/styles/graphs/_wordcloud.scss +7 -0
  51. package/styles/graphs/index.scss +1 -0
  52. package/styles/vendor/@carbon/colors/README.md +4 -3
  53. package/styles/vendor/@carbon/colors/es/index.js +13 -12
  54. package/styles/vendor/@carbon/colors/lib/index.js +98 -93
  55. package/styles/vendor/@carbon/colors/package.json +14 -10
  56. package/styles/vendor/@carbon/colors/scss/colors.scss +1 -1
  57. package/styles/vendor/@carbon/colors/scss/index.scss +1 -1
  58. package/styles/vendor/@carbon/colors/scss/mixins.scss +33 -13
  59. package/styles/vendor/@carbon/colors/umd/index.js +99 -94
  60. package/styles/vendor/@carbon/elements/README.md +0 -6
  61. package/styles/vendor/@carbon/elements/es/index.js +4 -11
  62. package/styles/vendor/@carbon/elements/lib/index.js +959 -13
  63. package/styles/vendor/@carbon/elements/package.json +17 -13
  64. package/styles/vendor/@carbon/elements/scss/colors/colors.scss +1 -1
  65. package/styles/vendor/@carbon/elements/scss/colors/index.scss +1 -1
  66. package/styles/vendor/@carbon/elements/scss/colors/mixins.scss +33 -13
  67. package/styles/vendor/@carbon/elements/scss/grid/_inlined/_mixins.scss +82 -22
  68. package/styles/vendor/@carbon/elements/scss/grid/_mixins.scss +82 -22
  69. package/styles/vendor/@carbon/elements/scss/grid/modules/_breakpoint.scss +266 -0
  70. package/styles/vendor/@carbon/{themes/node_modules/@carbon/colors/scss/colors.scss → elements/scss/grid/modules/_config.scss} +6 -6
  71. package/styles/vendor/@carbon/elements/scss/grid/modules/_css-grid.scss +350 -0
  72. package/styles/vendor/@carbon/elements/scss/grid/modules/_mixins.scss +323 -0
  73. package/styles/vendor/@carbon/elements/scss/grid/vendor/@carbon/layout/_breakpoint.scss +8 -3
  74. package/styles/vendor/@carbon/elements/scss/grid/vendor/@carbon/layout/modules/_breakpoint.scss +232 -0
  75. package/styles/vendor/@carbon/elements/scss/grid/vendor/@carbon/layout/modules/_convert.scss +40 -0
  76. package/styles/vendor/@carbon/elements/scss/grid/vendor/@carbon/layout/modules/_spacing.scss +9 -0
  77. package/styles/vendor/@carbon/elements/scss/grid/vendor/@carbon/layout/modules/_utilities.scss +41 -0
  78. package/styles/vendor/@carbon/elements/scss/grid/vendor/@carbon/layout/modules/generated/_fluid-spacing.scss +37 -0
  79. package/styles/vendor/@carbon/elements/scss/grid/vendor/@carbon/layout/modules/generated/_spacing.scss +85 -0
  80. package/styles/vendor/@carbon/elements/scss/layout/_breakpoint.scss +8 -3
  81. package/styles/vendor/@carbon/elements/scss/layout/modules/_breakpoint.scss +232 -0
  82. package/styles/vendor/@carbon/elements/scss/layout/modules/_convert.scss +40 -0
  83. package/styles/vendor/@carbon/elements/scss/layout/modules/_spacing.scss +9 -0
  84. package/styles/vendor/@carbon/elements/scss/layout/modules/_utilities.scss +41 -0
  85. package/styles/vendor/@carbon/elements/scss/layout/modules/generated/_fluid-spacing.scss +37 -0
  86. package/styles/vendor/@carbon/elements/scss/layout/modules/generated/_spacing.scss +85 -0
  87. package/styles/vendor/@carbon/elements/scss/motion/motion.scss +24 -0
  88. package/styles/vendor/@carbon/elements/scss/themes/generated/_mixins.scss +643 -138
  89. package/styles/vendor/@carbon/elements/scss/themes/generated/_themes.scss +154 -77
  90. package/styles/vendor/@carbon/elements/scss/themes/generated/_tokens.scss +157 -75
  91. package/styles/vendor/@carbon/elements/scss/themes/modules/_theme.scss +50 -0
  92. package/styles/vendor/@carbon/elements/scss/themes/modules/_themes.scss +8 -0
  93. package/styles/vendor/@carbon/elements/scss/themes/modules/_utilities.scss +18 -0
  94. package/styles/vendor/@carbon/elements/scss/themes/modules/generated/_themes.scss +247 -0
  95. package/styles/vendor/@carbon/elements/scss/type/_font-family.scss +2 -2
  96. package/styles/vendor/@carbon/elements/scss/type/_inlined/_font-family.scss +2 -2
  97. package/styles/vendor/@carbon/elements/scss/type/_inlined/_reset.scss +9 -3
  98. package/styles/vendor/@carbon/elements/scss/type/_inlined/_scale.scss +2 -2
  99. package/styles/vendor/@carbon/elements/scss/type/_inlined/_styles.scss +60 -57
  100. package/styles/vendor/@carbon/elements/scss/type/_inlined/font-face/_mono.scss +72 -72
  101. package/styles/vendor/@carbon/elements/scss/type/_inlined/font-face/_sans-condensed.scss +302 -0
  102. package/styles/vendor/@carbon/elements/scss/type/_inlined/font-face/_sans.scss +84 -84
  103. package/styles/vendor/@carbon/elements/scss/type/_inlined/font-face/_serif.scss +72 -72
  104. package/styles/vendor/@carbon/elements/scss/type/_reset.scss +9 -3
  105. package/styles/vendor/@carbon/elements/scss/type/_scale.scss +2 -2
  106. package/styles/vendor/@carbon/elements/scss/type/_styles.scss +60 -57
  107. package/styles/vendor/@carbon/elements/scss/type/font-face/_mono.scss +72 -72
  108. package/styles/vendor/@carbon/elements/scss/type/font-face/_sans-condensed.scss +302 -0
  109. package/styles/vendor/@carbon/elements/scss/type/font-face/_sans.scss +84 -84
  110. package/styles/vendor/@carbon/elements/scss/type/font-face/_serif.scss +72 -72
  111. package/styles/vendor/@carbon/elements/scss/type/modules/_classes.scss +42 -0
  112. package/styles/vendor/@carbon/elements/scss/type/modules/_font-family.scss +70 -0
  113. package/styles/vendor/@carbon/elements/scss/type/modules/_prefix.scss +11 -0
  114. package/styles/vendor/@carbon/elements/scss/type/modules/_reset.scss +92 -0
  115. package/styles/vendor/@carbon/elements/scss/type/modules/_scale.scss +56 -0
  116. package/styles/vendor/@carbon/elements/scss/type/modules/_styles.scss +713 -0
  117. package/styles/vendor/@carbon/elements/scss/type/vendor/@carbon/layout/_breakpoint.scss +8 -3
  118. package/styles/vendor/@carbon/elements/scss/type/vendor/@carbon/layout/modules/_breakpoint.scss +232 -0
  119. package/styles/vendor/@carbon/elements/scss/type/vendor/@carbon/layout/modules/_convert.scss +40 -0
  120. package/styles/vendor/@carbon/elements/scss/type/vendor/@carbon/layout/modules/_spacing.scss +9 -0
  121. package/styles/vendor/@carbon/elements/scss/type/vendor/@carbon/layout/modules/_utilities.scss +41 -0
  122. package/styles/vendor/@carbon/elements/scss/type/vendor/@carbon/layout/modules/generated/_fluid-spacing.scss +37 -0
  123. package/styles/vendor/@carbon/elements/scss/type/vendor/@carbon/layout/modules/generated/_spacing.scss +85 -0
  124. package/styles/vendor/@carbon/elements/src/__tests__/PublicAPI-test.js +12 -0
  125. package/styles/vendor/@carbon/elements/src/__tests__/__snapshots__/PublicAPI-test.js.snap +306 -0
  126. package/styles/vendor/@carbon/elements/src/index.js +166 -4
  127. package/styles/vendor/@carbon/elements/umd/index.js +961 -17
  128. package/styles/vendor/@carbon/layout/README.md +0 -6
  129. package/styles/vendor/@carbon/layout/es/index.js +1 -1
  130. package/styles/vendor/@carbon/{themes/node_modules/@carbon/colors/scss → layout}/index.scss +5 -6
  131. package/styles/vendor/@carbon/layout/lib/index.js +30 -30
  132. package/styles/vendor/@carbon/layout/package.json +14 -10
  133. package/styles/vendor/@carbon/layout/scss/_breakpoint.scss +8 -3
  134. package/styles/vendor/@carbon/layout/scss/modules/_breakpoint.scss +232 -0
  135. package/styles/vendor/@carbon/layout/scss/modules/_convert.scss +40 -0
  136. package/styles/vendor/@carbon/layout/scss/modules/_spacing.scss +9 -0
  137. package/styles/vendor/@carbon/layout/scss/modules/_utilities.scss +41 -0
  138. package/styles/vendor/@carbon/layout/scss/modules/generated/_fluid-spacing.scss +37 -0
  139. package/styles/vendor/@carbon/layout/scss/modules/generated/_spacing.scss +85 -0
  140. package/styles/vendor/@carbon/layout/umd/index.js +31 -31
  141. package/styles/vendor/@carbon/motion/README.md +0 -6
  142. package/styles/vendor/@carbon/motion/es/index.js +8 -1
  143. package/styles/vendor/@carbon/motion/index.scss +56 -0
  144. package/styles/vendor/@carbon/motion/lib/index.js +14 -0
  145. package/styles/vendor/@carbon/motion/package.json +10 -6
  146. package/styles/vendor/@carbon/motion/scss/motion.scss +24 -0
  147. package/styles/vendor/@carbon/motion/src/index.js +16 -0
  148. package/styles/vendor/@carbon/motion/umd/index.js +15 -1
  149. package/styles/vendor/@carbon/themes/README.md +5 -4
  150. package/styles/vendor/@carbon/themes/es/index.js +719 -57
  151. package/styles/vendor/@carbon/themes/index.scss +9 -0
  152. package/styles/vendor/@carbon/themes/lib/index.js +1297 -251
  153. package/styles/vendor/@carbon/themes/metadata.yml +3 -0
  154. package/styles/vendor/@carbon/themes/package.json +23 -14
  155. package/styles/vendor/@carbon/themes/scss/_mixins.scss +27 -146
  156. package/styles/vendor/@carbon/themes/scss/_theme-maps.scss +3 -263
  157. package/styles/vendor/@carbon/themes/scss/_tokens.scss +2 -297
  158. package/styles/vendor/@carbon/themes/scss/generated/_mixins.scss +1851 -0
  159. package/styles/vendor/@carbon/themes/scss/generated/_themes.scss +1534 -0
  160. package/styles/vendor/@carbon/themes/scss/generated/_tokens.scss +1757 -0
  161. package/styles/vendor/@carbon/themes/scss/modules/_theme.scss +50 -0
  162. package/styles/vendor/@carbon/themes/scss/modules/_themes.scss +8 -0
  163. package/styles/vendor/@carbon/themes/scss/modules/_utilities.scss +18 -0
  164. package/styles/vendor/@carbon/themes/scss/modules/generated/_themes.scss +247 -0
  165. package/styles/vendor/@carbon/themes/scss/themes.scss +3 -2
  166. package/styles/vendor/@carbon/themes/src/g10.js +97 -5
  167. package/styles/vendor/@carbon/themes/src/g100.js +96 -4
  168. package/styles/vendor/@carbon/themes/src/g90.js +98 -6
  169. package/styles/vendor/@carbon/themes/src/index.js +5 -3
  170. package/styles/vendor/@carbon/themes/src/tokens.js +112 -2
  171. package/styles/vendor/@carbon/themes/src/tools.js +25 -0
  172. package/styles/vendor/@carbon/themes/src/v9.js +181 -0
  173. package/styles/vendor/@carbon/themes/src/white.js +98 -3
  174. package/styles/vendor/@carbon/themes/umd/index.js +1297 -254
  175. package/styles/vendor/@carbon/type/README.md +0 -6
  176. package/styles/vendor/@carbon/type/es/index.js +111 -82
  177. package/styles/vendor/@carbon/type/lib/index.js +132 -103
  178. package/styles/vendor/@carbon/type/package.json +12 -8
  179. package/styles/vendor/@carbon/type/scss/_font-family.scss +2 -2
  180. package/styles/vendor/@carbon/type/scss/_inlined/_font-family.scss +2 -2
  181. package/styles/vendor/@carbon/type/scss/_inlined/_reset.scss +9 -3
  182. package/styles/vendor/@carbon/type/scss/_inlined/_scale.scss +2 -2
  183. package/styles/vendor/@carbon/type/scss/_inlined/_styles.scss +60 -57
  184. package/styles/vendor/@carbon/type/scss/_inlined/font-face/_mono.scss +72 -72
  185. package/styles/vendor/@carbon/type/scss/_inlined/font-face/_sans-condensed.scss +302 -0
  186. package/styles/vendor/@carbon/type/scss/_inlined/font-face/_sans.scss +84 -84
  187. package/styles/vendor/@carbon/type/scss/_inlined/font-face/_serif.scss +72 -72
  188. package/styles/vendor/@carbon/type/scss/_reset.scss +9 -3
  189. package/styles/vendor/@carbon/type/scss/_scale.scss +2 -2
  190. package/styles/vendor/@carbon/type/scss/_styles.scss +60 -57
  191. package/styles/vendor/@carbon/type/scss/font-face/_mono.scss +72 -72
  192. package/styles/vendor/@carbon/type/scss/font-face/_sans-condensed.scss +302 -0
  193. package/styles/vendor/@carbon/type/scss/font-face/_sans.scss +84 -84
  194. package/styles/vendor/@carbon/type/scss/font-face/_serif.scss +72 -72
  195. package/styles/vendor/@carbon/type/scss/modules/_classes.scss +42 -0
  196. package/styles/vendor/@carbon/type/scss/modules/_font-family.scss +70 -0
  197. package/styles/vendor/@carbon/type/scss/modules/_prefix.scss +11 -0
  198. package/styles/vendor/@carbon/type/scss/modules/_reset.scss +92 -0
  199. package/styles/vendor/@carbon/type/scss/modules/_scale.scss +56 -0
  200. package/styles/vendor/@carbon/type/scss/modules/_styles.scss +713 -0
  201. package/styles/vendor/@carbon/type/scss/vendor/@carbon/layout/_breakpoint.scss +8 -3
  202. package/styles/vendor/@carbon/type/scss/vendor/@carbon/layout/modules/_breakpoint.scss +232 -0
  203. package/styles/vendor/@carbon/type/scss/vendor/@carbon/layout/modules/_convert.scss +40 -0
  204. package/styles/vendor/@carbon/type/scss/vendor/@carbon/layout/modules/_spacing.scss +9 -0
  205. package/styles/vendor/@carbon/type/scss/vendor/@carbon/layout/modules/_utilities.scss +41 -0
  206. package/styles/vendor/@carbon/type/scss/vendor/@carbon/layout/modules/generated/_fluid-spacing.scss +37 -0
  207. package/styles/vendor/@carbon/type/scss/vendor/@carbon/layout/modules/generated/_spacing.scss +85 -0
  208. package/styles/vendor/@carbon/type/src/__tests__/__snapshots__/styles-test.js.snap +32 -34
  209. package/styles/vendor/@carbon/type/src/__tests__/exports-test.js +1 -1
  210. package/styles/vendor/@carbon/type/src/__tests__/fluid-test.js +26 -26
  211. package/styles/vendor/@carbon/type/src/__tests__/styles-test.js +1 -1
  212. package/styles/vendor/@carbon/type/src/__tests__/tokens-test.js +2 -2
  213. package/styles/vendor/@carbon/type/src/fluid.js +1 -1
  214. package/styles/vendor/@carbon/type/src/index.js +1 -1
  215. package/styles/vendor/@carbon/type/src/styles.js +65 -64
  216. package/styles/vendor/@carbon/type/src/tokens.js +64 -31
  217. package/styles/vendor/@carbon/type/umd/index.js +134 -105
  218. package/styles-g10.css +570 -2
  219. package/styles-g10.css.map +1 -1
  220. package/styles-g10.min.css +1 -1
  221. package/styles-g10.min.css.map +1 -1
  222. package/styles-g100.css +574 -6
  223. package/styles-g100.css.map +1 -1
  224. package/styles-g100.min.css +1 -1
  225. package/styles-g100.min.css.map +1 -1
  226. package/styles-g90.css +574 -6
  227. package/styles-g90.css.map +1 -1
  228. package/styles-g90.min.css +1 -1
  229. package/styles-g90.min.css.map +1 -1
  230. package/styles.css +570 -2
  231. package/styles.css.map +1 -1
  232. package/styles.min.css +1 -1
  233. package/styles.min.css.map +1 -1
  234. package/tsconfig.tsbuildinfo +64 -14
  235. package/styles/vendor/@carbon/layout/docs/sass.md +0 -1899
  236. package/styles/vendor/@carbon/themes/node_modules/@carbon/colors/LICENSE +0 -201
  237. package/styles/vendor/@carbon/themes/node_modules/@carbon/colors/README.md +0 -154
  238. package/styles/vendor/@carbon/themes/node_modules/@carbon/colors/es/index.js +0 -287
  239. package/styles/vendor/@carbon/themes/node_modules/@carbon/colors/lib/index.js +0 -410
  240. package/styles/vendor/@carbon/themes/node_modules/@carbon/colors/package.json +0 -51
  241. package/styles/vendor/@carbon/themes/node_modules/@carbon/colors/scss/mixins.scss +0 -646
  242. package/styles/vendor/@carbon/themes/node_modules/@carbon/colors/umd/index.js +0 -416
@@ -0,0 +1,266 @@
1
+ //
2
+ // Copyright IBM Corp. 2018, 2018
3
+ //
4
+ // This source code is licensed under the Apache-2.0 license found in the
5
+ // LICENSE file in the root directory of this source tree.
6
+ //
7
+
8
+ // https://github.com/twbs/bootstrap/blob/v4-dev/scss/mixins/_breakpoints.scss
9
+ @use 'sass:list';
10
+ @use 'sass:map';
11
+ @use 'sass:meta';
12
+ @use '../../layout/modules/convert';
13
+
14
+ /// Map deep get
15
+ /// @author Hugo Giraudel
16
+ /// @access public
17
+ /// @param {Map} $map - Map
18
+ /// @param {Arglist} $keys - Key chain
19
+ /// @return {*} Desired value
20
+ /// @group @carbon/layout
21
+ @function map-deep-get($map, $keys...) {
22
+ @each $key in $keys {
23
+ $map: map-get($map, $key);
24
+ }
25
+ @return $map;
26
+ }
27
+
28
+ /// Provide a map and index, and get back the relevant key value
29
+ /// @access public
30
+ /// @param {Map} $map - Map
31
+ /// @param {Integer} $index - Key chain
32
+ /// @return {String} Desired value
33
+ /// @group @carbon/layout
34
+ @function key-by-index($map, $index) {
35
+ $keys: map-keys($map);
36
+ @return nth($keys, $index);
37
+ }
38
+
39
+ /// Pass in a map, and get the last one in the list back
40
+ /// @access public
41
+ /// @param {Map} $map - Map
42
+ /// @return {*} Desired value
43
+ /// @group @carbon/layout
44
+ @function last-map-item($map) {
45
+ $total-length: length($map);
46
+ @return map-get($map, key-by-index($map, $total-length));
47
+ }
48
+
49
+ /// Carbon gutter size in rem
50
+ /// @type Number
51
+ /// @access public
52
+ /// @group @carbon/layout
53
+ $grid-gutter: convert.rem(32px);
54
+
55
+ /// Carbon condensed gutter size in rem
56
+ /// @type Number
57
+ /// @access public
58
+ /// @group @carbon/layout
59
+ $grid-gutter--condensed: convert.rem(1px);
60
+
61
+ // Initial map of our breakpoints and their values
62
+ /// @type Map
63
+ /// @access public
64
+ /// @group @carbon/layout
65
+ $grid-breakpoints: (
66
+ sm: (
67
+ columns: 4,
68
+ margin: 0,
69
+ width: convert.rem(320px),
70
+ ),
71
+ md: (
72
+ columns: 8,
73
+ margin: convert.rem(16px),
74
+ width: convert.rem(672px),
75
+ ),
76
+ lg: (
77
+ columns: 16,
78
+ margin: convert.rem(16px),
79
+ width: convert.rem(1056px),
80
+ ),
81
+ xlg: (
82
+ columns: 16,
83
+ margin: convert.rem(16px),
84
+ width: convert.rem(1312px),
85
+ ),
86
+ max: (
87
+ columns: 16,
88
+ margin: convert.rem(24px),
89
+ width: convert.rem(1584px),
90
+ ),
91
+ ) !default;
92
+
93
+ /// Get the value of the next breakpoint, or null for the last breakpoint
94
+ /// @param {String} $name - The name of the brekapoint
95
+ /// @param {Map} $breakpoints [$grid-breakpoints] - A map of breakpoints where the key is the name of the breakpoint and the value is the values for the breakpoint
96
+ /// @param {List} $breakpoint-names [map-keys($breakpoints)] - A list of names from the `$breakpoints` map
97
+ /// @return {String}
98
+ /// @access public
99
+ /// @group @carbon/layout
100
+ @function breakpoint-next(
101
+ $name,
102
+ $breakpoints: $grid-breakpoints,
103
+ $breakpoint-names: map.keys($breakpoints)
104
+ ) {
105
+ $n: list.index($breakpoint-names, $name);
106
+ @if $n != null and $n < list.length($breakpoint-names) {
107
+ @return list.nth($breakpoint-names, $n + 1);
108
+ }
109
+ @return null;
110
+ }
111
+
112
+ /// Get the value of the previous breakpoint, or null for the first breakpoint
113
+ /// @param {String} $name - The name of the brekapoint
114
+ /// @param {Map} $breakpoints [$grid-breakpoints] - A map of breakpoints where the key is the name of the breakpoint and the value is the values for the breakpoint
115
+ /// @param {List} $breakpoint-names [map-keys($breakpoints)] - A list of names from the `$breakpoints` map
116
+ /// @return {String}
117
+ /// @access public
118
+ /// @group @carbon/layout
119
+ @function breakpoint-prev(
120
+ $name,
121
+ $breakpoints: $grid-breakpoints,
122
+ $breakpoint-names: map.keys($breakpoints)
123
+ ) {
124
+ $n: list.index($breakpoint-names, $name);
125
+ @if $n != null and $n > 1 {
126
+ @return list.nth($breakpoint-names, $n - 1);
127
+ }
128
+ @return null;
129
+ }
130
+
131
+ /// Check to see if the given breakpoint name
132
+ /// @param {String} $name - The name of the brekapoint
133
+ /// @param {Map} $breakpoints [$grid-breakpoints] - A map of breakpoints where the key is the name of the breakpoint and the value is the values for the breakpoint
134
+ /// @return {Bool}
135
+ /// @access public
136
+ /// @group @carbon/layout
137
+ @function is-smallest-breakpoint($name, $breakpoints: $grid-breakpoints) {
138
+ @return list.index(map.keys($breakpoints), $name) == 1;
139
+ }
140
+
141
+ /// Returns the largest breakpoint name
142
+ /// @param {Map} $breakpoints [$grid-breakpoints] - A map of breakpoints where the key is the name
143
+ /// @return {String}
144
+ /// @access public
145
+ /// @group @carbon/layout
146
+ @function largest-breakpoint-name($breakpoints: $grid-breakpoints) {
147
+ $total-breakpoints: list.length($breakpoints);
148
+ @return key-by-index($breakpoints, $total-breakpoints);
149
+ }
150
+
151
+ /// Get the infix for a given breakpoint in a list of breakpoints. Usesful for generate the size part in a selector, for example: `.prefix--col-sm-2`.
152
+ /// @param {String} $name - The name of the breakpoint
153
+ /// @return {String}
154
+ /// @access public
155
+ /// @group @carbon/layout
156
+ @function breakpoint-infix($name) {
157
+ @return '-#{$name}';
158
+ }
159
+
160
+ /// Generate a media query from the width of the given breakpoint to infinity
161
+ /// @param {String | Number} $name
162
+ /// @param {Map} $breakpoints [$grid-breakpoints] - A map of breakpoints where the key is the name
163
+ /// @content
164
+ /// @access public
165
+ /// @group @carbon/layout
166
+ @mixin breakpoint-up($name, $breakpoints: $grid-breakpoints) {
167
+ @if meta.type-of($name) == 'number' {
168
+ @media (min-width: $name) {
169
+ @content;
170
+ }
171
+ } @else if map.has-key($breakpoints, $name) {
172
+ $breakpoint: map.get($breakpoints, $name);
173
+ $width: map.get($breakpoint, width);
174
+ @if is-smallest-breakpoint($name, $breakpoints) {
175
+ @content;
176
+ } @else {
177
+ @media (min-width: $width) {
178
+ @content;
179
+ }
180
+ }
181
+ } @else {
182
+ @error 'Unable to find a breakpoint with name `#{$name}`. Expected one of: (#{map.keys($breakpoints)})';
183
+ }
184
+ }
185
+
186
+ /// Generate a media query for the maximum width of the given styles
187
+ /// @param {String | Number} $name
188
+ /// @param {Map} $breakpoints [$grid-breakpoints] - A map of breakpoints where the key is the name
189
+ /// @content
190
+ /// @access public
191
+ /// @group @carbon/layout
192
+ @mixin breakpoint-down($name, $breakpoints: $grid-breakpoints) {
193
+ @if meta.type-of($name) == 'number' {
194
+ @media (max-width: $name) {
195
+ @content;
196
+ }
197
+ } @else if map.has-key($breakpoints, $name) {
198
+ // We borrow this logic from bootstrap for specifying the value of the
199
+ // max-width. The maximum width is calculated by finding the breakpoint and
200
+ // subtracting .02 from its value. This value is used instead of .01 to
201
+ // avoid rounding issues in Safari
202
+ // https://github.com/twbs/bootstrap/blob/c5b1919deaf5393fcca9e9b9d7ce9c338160d99d/scss/mixins/_breakpoints.scss#L34-L46
203
+ $breakpoint: map.get($breakpoints, $name);
204
+ $width: map.get($breakpoint, width) - 0.02;
205
+ @media (max-width: $width) {
206
+ @content;
207
+ }
208
+ } @else {
209
+ @error 'Unable to find a breakpoint with name `#{$name}`. Expected one of: (#{map.keys($breakpoints)})';
210
+ }
211
+ }
212
+
213
+ /// Generate a media query for the range between the lower and upper breakpoints
214
+ /// @param {String | Number} $lower
215
+ /// @param {String | Number} $upper
216
+ /// @param {Map} $breakpoints [$grid-breakpoints] - A map of breakpoints where the key is the name
217
+ /// @content
218
+ /// @access public
219
+ /// @group @carbon/layout
220
+ @mixin breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {
221
+ $is-number-lower: meta.type-of($lower) == 'number';
222
+ $is-number-upper: meta.type-of($upper) == 'number';
223
+ $min: if($is-number-lower, $lower, map.get($breakpoints, $lower));
224
+ $max: if($is-number-upper, $upper, map.get($breakpoints, $upper));
225
+
226
+ @if $min and $max {
227
+ $min-width: if(not $is-number-lower and $min, map.get($min, width), $min);
228
+ $max-width: if(not $is-number-upper and $max, map.get($max, width), $max);
229
+ @media (min-width: $min-width) and (max-width: $max-width) {
230
+ @content;
231
+ }
232
+ } @else if $min != null and $max == null {
233
+ @include breakpoint-up($lower) {
234
+ @content;
235
+ }
236
+ } @else if $min == null and $max != null {
237
+ @include breakpoint-down($upper) {
238
+ @content;
239
+ }
240
+ } @else {
241
+ @error 'Unable to find a breakpoint to satisfy: (#{$lower},#{$upper}). Expected both to be one of (#{map.keys($breakpoints)}).';
242
+ }
243
+ }
244
+
245
+ /// Generate media query for the largest breakpoint
246
+ /// @param {Map} $breakpoints [$grid-breakpoints] - A map of breakpoints where the key is the name
247
+ /// @content
248
+ /// @access public
249
+ /// @group @carbon/layout
250
+ @mixin largest-breakpoint($breakpoints: $grid-breakpoints) {
251
+ @include breakpoint(largest-breakpoint-name()) {
252
+ @content;
253
+ }
254
+ }
255
+
256
+ /// Generate a media query for a given breakpoint
257
+ /// @param {String | Number} $name
258
+ /// @param {Map} $breakpoints [$grid-breakpoints] - A map of breakpoints where the key is the name
259
+ /// @content
260
+ /// @access public
261
+ /// @group @carbon/layout
262
+ @mixin breakpoint($name, $breakpoints: $grid-breakpoints) {
263
+ @include breakpoint-up($name, $breakpoints) {
264
+ @content;
265
+ }
266
+ }
@@ -1,12 +1,12 @@
1
- // Code generated by @carbon/colors. DO NOT EDIT.
2
1
  //
3
2
  // Copyright IBM Corp. 2018, 2018
4
3
  //
5
4
  // This source code is licensed under the Apache-2.0 license found in the
6
5
  // LICENSE file in the root directory of this source tree.
7
6
  //
8
- @import './mixins';
9
- // Deprecated ☠️
10
- @include ibm--colors();
11
- // Preferred
12
- @include carbon--colors();
7
+
8
+ /// Namespace prefix
9
+ /// @type String
10
+ /// @access public
11
+ /// @group @carbon/grid
12
+ $prefix: 'bx' !default;
@@ -0,0 +1,350 @@
1
+ //
2
+ // Copyright IBM Corp. 2018, 2018
3
+ //
4
+ // This source code is licensed under the Apache-2.0 license found in the
5
+ // LICENSE file in the root directory of this source tree.
6
+ //
7
+
8
+ @use 'sass:map';
9
+ @use 'config' as *;
10
+ @use 'breakpoint' as *;
11
+
12
+ @mixin css-grid() {
13
+ display: grid;
14
+ grid-template-columns: repeat(
15
+ var(--cds-grid-columns),
16
+ minmax(0, var(--cds-grid-column-size))
17
+ );
18
+ margin-right: auto;
19
+ margin-left: auto;
20
+ padding-right: calc(var(--cds-grid-margin) + var(--cds-grid-gutter) / 2);
21
+ padding-left: calc(var(--cds-grid-margin) + var(--cds-grid-gutter) / 2);
22
+ column-gap: var(--cds-grid-gutter);
23
+ }
24
+
25
+ @mixin subgrid() {
26
+ display: grid;
27
+ grid-template-columns: repeat(
28
+ var(--cds-grid-columns),
29
+ minmax(0, var(--cds-grid-column-size))
30
+ );
31
+ column-gap: var(--cds-grid-gutter);
32
+ }
33
+
34
+ :root {
35
+ --cds-grid-columns: 4;
36
+ --cds-grid-column-size: 1fr;
37
+ --cds-grid-gutter: 2rem;
38
+ --cds-grid-hang: 1rem;
39
+ --cds-grid-margin: 0;
40
+
41
+ @include breakpoint(md) {
42
+ --cds-grid-columns: 8;
43
+ --cds-grid-margin: 1rem;
44
+ }
45
+
46
+ @include breakpoint(lg) {
47
+ --cds-grid-columns: 16;
48
+ }
49
+
50
+ @include breakpoint(max) {
51
+ --cds-grid-margin: 1.5rem;
52
+ }
53
+ }
54
+
55
+ .#{$prefix}--css-grid {
56
+ @include css-grid();
57
+ }
58
+
59
+ .#{$prefix}--css-grid--12 {
60
+ @include css-grid();
61
+ @include breakpoint(lg) {
62
+ --cds-grid-columns: 12;
63
+ }
64
+ }
65
+
66
+ .#{$prefix}--subgrid {
67
+ @include subgrid();
68
+ }
69
+
70
+ .#{$prefix}--css-grid--narrow .#{$prefix}--subgrid.#{$prefix}--css-grid {
71
+ margin-right: 0;
72
+ margin-left: 0;
73
+ padding-right: 0;
74
+ padding-left: 0;
75
+ }
76
+
77
+ .#{$prefix}--css-grid--condensed .#{$prefix}--subgrid.#{$prefix}--css-grid {
78
+ --cds-grid-gutter: 2rem;
79
+
80
+ margin-right: 0;
81
+ margin-left: 0;
82
+ padding-right: calc(var(--cds-grid-gutter) / 2);
83
+ padding-left: calc(var(--cds-grid-gutter) / 2);
84
+ }
85
+
86
+ // -----------------------------------------------------------------------------
87
+ // Narrow
88
+ // -----------------------------------------------------------------------------
89
+ .#{$prefix}--css-grid--narrow {
90
+ --cds-grid-margin: 1rem;
91
+
92
+ padding-right: var(--cds-grid-margin);
93
+ padding-left: var(--cds-grid-margin);
94
+
95
+ @include breakpoint(md) {
96
+ padding-right: calc(var(--cds-grid-margin) + var(--cds-grid-gutter) / 2);
97
+ padding-left: calc(var(--cds-grid-margin) + var(--cds-grid-gutter) / 2);
98
+ }
99
+ }
100
+
101
+ .#{$prefix}--css-grid--narrow > [class*='#{$prefix}--col'] {
102
+ margin-left: calc(var(--cds-grid-gutter) / 2 * -1);
103
+ }
104
+
105
+ // Narrow subgrid inside condensed
106
+ .#{$prefix}--css-grid--condensed
107
+ .#{$prefix}--subgrid.#{$prefix}--css-grid--narrow {
108
+ --cds-grid-gutter: 2rem;
109
+
110
+ padding-right: calc(var(--cds-grid-gutter) / 2);
111
+ padding-left: calc(var(--cds-grid-gutter) / 2);
112
+ }
113
+
114
+ // -----------------------------------------------------------------------------
115
+ // Condensed
116
+ // -----------------------------------------------------------------------------
117
+ .#{$prefix}--css-grid--condensed {
118
+ --cds-grid-gutter: 2px;
119
+
120
+ column-gap: var(--cds-grid-gutter);
121
+ row-gap: var(--cds-grid-gutter);
122
+ }
123
+
124
+ // condensed subgrid inside wide
125
+ .#{$prefix}--css-grid .bx--subgrid.#{$prefix}--css-grid--condensed {
126
+ margin-right: calc(
127
+ (var(--cds-grid-margin) + var(--cds-grid-gutter) / 2) * -1
128
+ );
129
+ margin-left: calc((var(--cds-grid-margin) + var(--cds-grid-gutter) / 2) * -1);
130
+ }
131
+
132
+ // -----------------------------------------------------------------------------
133
+ // No Gutter
134
+ // -----------------------------------------------------------------------------
135
+ .#{$prefix}--css-grid--no-gutter {
136
+ // This is set to 0px (versus 0) so that the calc expression for padding for
137
+ // a grid container works as epxected. Without the unit, the calc() will
138
+ // result in a value of 0.
139
+ // stylelint-disable-next-line length-zero-no-unit
140
+ --cds-grid-gutter: 0px;
141
+
142
+ column-gap: var(--cds-grid-gutter);
143
+ }
144
+
145
+ // -----------------------------------------------------------------------------
146
+ // Column span
147
+ // -----------------------------------------------------------------------------
148
+ @mixin -column-span($i) {
149
+ @if $i == 0 {
150
+ display: none;
151
+ } @else {
152
+ --cds-grid-columns: #{$i};
153
+
154
+ grid-column: span $i / span $i;
155
+ }
156
+ }
157
+
158
+ @for $i from 0 through 16 {
159
+ .#{$prefix}--col-span-#{$i} {
160
+ @include -column-span($i);
161
+ }
162
+ }
163
+
164
+ .#{$prefix}--col-span-auto {
165
+ grid-column: auto;
166
+ }
167
+
168
+ .#{$prefix}--col-span-100 {
169
+ grid-column: 1 / -1;
170
+ }
171
+
172
+ @each $name, $value in $grid-breakpoints {
173
+ $columns: map.get($value, columns);
174
+
175
+ @include breakpoint($name) {
176
+ @for $i from 0 through $columns {
177
+ .#{$prefix}--#{$name}\:col-span-#{$i} {
178
+ @include -column-span($i);
179
+ }
180
+ }
181
+
182
+ .#{$prefix}--#{$name}\:col-span-auto {
183
+ grid-column: auto;
184
+ }
185
+
186
+ .#{$prefix}--#{$name}\:col-span-100 {
187
+ grid-column: 1 / -1;
188
+ }
189
+ }
190
+ }
191
+
192
+ .#{$prefix}--col-span-25 {
193
+ --cds-grid-columns: 1;
194
+
195
+ grid-column: span 1;
196
+
197
+ @include breakpoint(md) {
198
+ --cds-grid-columns: 2;
199
+
200
+ grid-column: span 2;
201
+ }
202
+
203
+ @include breakpoint(lg) {
204
+ --cds-grid-columns: 4;
205
+
206
+ grid-column: span 4;
207
+ }
208
+ }
209
+
210
+ .#{$prefix}--col-span-50 {
211
+ --cds-grid-columns: 2;
212
+
213
+ grid-column: span 2;
214
+
215
+ @include breakpoint(md) {
216
+ --cds-grid-columns: 4;
217
+
218
+ grid-column: span 4;
219
+ }
220
+
221
+ @include breakpoint(lg) {
222
+ --cds-grid-columns: 8;
223
+
224
+ grid-column: span 8;
225
+ }
226
+ }
227
+
228
+ .#{$prefix}--col-span-75 {
229
+ --cds-grid-columns: 3;
230
+
231
+ grid-column: span 3;
232
+
233
+ @include breakpoint(md) {
234
+ --cds-grid-columns: 6;
235
+
236
+ grid-column: span 6;
237
+ }
238
+
239
+ @include breakpoint(lg) {
240
+ --cds-grid-columns: 12;
241
+
242
+ grid-column: span 12;
243
+ }
244
+ }
245
+
246
+ // -----------------------------------------------------------------------------
247
+ // Column offset
248
+ // -----------------------------------------------------------------------------
249
+ @for $i from 1 through 16 {
250
+ .#{$prefix}--col-start-#{$i} {
251
+ grid-column-start: $i;
252
+ }
253
+
254
+ .#{$prefix}--col-end-#{$i} {
255
+ grid-column-end: $i;
256
+ }
257
+ }
258
+
259
+ .#{$prefix}--col-start-auto {
260
+ grid-column-start: auto;
261
+ }
262
+
263
+ .#{$prefix}--col-end-auto {
264
+ grid-column-start: end;
265
+ }
266
+
267
+ @each $name, $value in $grid-breakpoints {
268
+ $columns: map.get($value, columns);
269
+
270
+ @include breakpoint($name) {
271
+ @for $i from 1 through $columns {
272
+ .#{$prefix}--#{$name}\:col-start-#{$i} {
273
+ grid-column-start: $i;
274
+ }
275
+
276
+ .#{$prefix}--#{$name}\:col-end-#{$i} {
277
+ grid-column-end: $i;
278
+ }
279
+ }
280
+
281
+ .#{$prefix}--#{$name}\:col-start-auto {
282
+ grid-column-start: auto;
283
+ }
284
+
285
+ .#{$prefix}--#{$name}\:col-end-auto {
286
+ grid-column-start: end;
287
+ }
288
+ }
289
+ }
290
+
291
+ // -----------------------------------------------------------------------------
292
+ // Hang
293
+ // -----------------------------------------------------------------------------
294
+ .#{$prefix}--hang {
295
+ padding-left: var(--cds-grid-hang);
296
+ }
297
+
298
+ // -----------------------------------------------------------------------------
299
+ // Column gutter
300
+ // -----------------------------------------------------------------------------
301
+ .#{$prefix}--gutter {
302
+ padding-right: var(--cds-grid-hang);
303
+ padding-left: var(--cds-grid-hang);
304
+ }
305
+
306
+ .#{$prefix}--gutter-start {
307
+ padding-left: var(--cds-grid-hang);
308
+ }
309
+
310
+ [dir='rtl'] .#{$prefix}--gutter-start {
311
+ padding-right: var(--cds-grid-hang);
312
+ }
313
+
314
+ .#{$prefix}--gutter-end {
315
+ padding-right: var(--cds-grid-hang);
316
+ }
317
+
318
+ [dir='rtl'] .#{$prefix}--gutter-end {
319
+ padding-left: var(--cds-grid-hang);
320
+ }
321
+
322
+ // -----------------------------------------------------------------------------
323
+ // Utilities
324
+ // -----------------------------------------------------------------------------
325
+
326
+ /// Justify items
327
+ .#{$prefix}--justify-items-start {
328
+ justify-items: start;
329
+ }
330
+
331
+ .#{$prefix}--justify-items-end {
332
+ justify-items: end;
333
+ }
334
+
335
+ .#{$prefix}--justify-items-center {
336
+ justify-items: center;
337
+ }
338
+
339
+ /// Align items
340
+ .#{$prefix}--align-items-start {
341
+ align-items: start;
342
+ }
343
+
344
+ .#{$prefix}--align-items-end {
345
+ align-items: end;
346
+ }
347
+
348
+ .#{$prefix}--align-items-center {
349
+ align-items: center;
350
+ }