@castlabs/ui 4.18.2

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 (140) hide show
  1. package/README.md +94 -0
  2. package/dist/assets/castlabs-logo.svg +2 -0
  3. package/dist/assets/cookie.svg +1 -0
  4. package/dist/castlabs-ui-editor.common.js +23189 -0
  5. package/dist/castlabs-ui-editor.common.js.map +1 -0
  6. package/dist/castlabs-ui-editor.css +1 -0
  7. package/dist/castlabs-ui-editor.umd.js +23208 -0
  8. package/dist/castlabs-ui-editor.umd.js.map +1 -0
  9. package/dist/castlabs-ui-editor.umd.min.js +10 -0
  10. package/dist/castlabs-ui-editor.umd.min.js.map +1 -0
  11. package/dist/castlabs-ui.common.js +6828 -0
  12. package/dist/castlabs-ui.common.js.map +1 -0
  13. package/dist/castlabs-ui.core.js +1031 -0
  14. package/dist/castlabs-ui.css +12 -0
  15. package/dist/castlabs-ui.module.d.ts +83 -0
  16. package/dist/castlabs-ui.module.js +1031 -0
  17. package/dist/castlabs-ui.umd.js +6847 -0
  18. package/dist/castlabs-ui.umd.js.map +1 -0
  19. package/dist/castlabs-ui.umd.min.js +8 -0
  20. package/dist/castlabs-ui.umd.min.js.map +1 -0
  21. package/dist/demo.html +1 -0
  22. package/dist/favicon/192.png +0 -0
  23. package/dist/favicon/512.png +0 -0
  24. package/dist/favicon/apple-touch-icon.png +0 -0
  25. package/dist/favicon/favicon-unread.svg +75 -0
  26. package/dist/favicon/favicon.ico +0 -0
  27. package/dist/favicon/favicon.svg +43 -0
  28. package/dist/favicon/manifest.webmanifest +6 -0
  29. package/dist/fonts/BngRUXNETWXI6LwhGYvaxZikqbCCwR26eg.f31394d2.woff2 +0 -0
  30. package/dist/fonts/BngRUXNETWXI6LwhGYvaxZikqbCFwR26eg.00073a59.woff2 +0 -0
  31. package/dist/fonts/BngRUXNETWXI6LwhGYvaxZikqbCGwR0.faa92a75.woff2 +0 -0
  32. package/dist/fonts/BngRUXNETWXI6LwhGYvaxZikqbCIwR26eg.f8e38fba.woff2 +0 -0
  33. package/dist/fonts/BngRUXNETWXI6LwhGYvaxZikqbCJwR26eg.f1d5cd16.woff2 +0 -0
  34. package/dist/fonts/BngRUXNETWXI6LwhGYvaxZikqbCKwR26eg.ebbe259f.woff2 +0 -0
  35. package/dist/fonts/BngRUXNETWXI6LwhGYvaxZikqbCLwR26eg.e3d460d0.woff2 +0 -0
  36. package/dist/fonts/fa-brands-400.18993be8.woff2 +0 -0
  37. package/dist/fonts/fa-regular-400.e45bb696.woff2 +0 -0
  38. package/dist/fonts/fa-solid-900.16e3d2f0.woff2 +0 -0
  39. package/dist/fonts/mem6YaGs126MiZpBA-UFUK0Udc1UAw.6de93dc1.woff2 +0 -0
  40. package/dist/fonts/mem6YaGs126MiZpBA-UFUK0Wdc1UAw.55c9461f.woff2 +0 -0
  41. package/dist/fonts/mem6YaGs126MiZpBA-UFUK0Xdc1UAw.111f8c99.woff2 +0 -0
  42. package/dist/fonts/mem6YaGs126MiZpBA-UFUK0Zdc0.92257a03.woff2 +0 -0
  43. package/dist/fonts/mem6YaGs126MiZpBA-UFUK0adc1UAw.1844ded3.woff2 +0 -0
  44. package/dist/fonts/mem6YaGs126MiZpBA-UFUK0bdc1UAw.719267ea.woff2 +0 -0
  45. package/dist/fonts/mem6YaGs126MiZpBA-UFUK0ddc1UAw.037dea2d.woff2 +0 -0
  46. package/dist/fonts/mem8YaGs126MiZpBA-UFUZ0bbck.6869bd80.woff2 +0 -0
  47. package/dist/fonts/mem8YaGs126MiZpBA-UFV50bbck.05a41692.woff2 +0 -0
  48. package/dist/fonts/mem8YaGs126MiZpBA-UFVZ0b.38ffdf27.woff2 +0 -0
  49. package/dist/fonts/mem8YaGs126MiZpBA-UFVp0bbck.f12c0c2c.woff2 +0 -0
  50. package/dist/fonts/mem8YaGs126MiZpBA-UFW50bbck.03f14837.woff2 +0 -0
  51. package/dist/fonts/mem8YaGs126MiZpBA-UFWJ0bbck.abcca84a.woff2 +0 -0
  52. package/dist/fonts/mem8YaGs126MiZpBA-UFWp0bbck.4d1e267c.woff2 +0 -0
  53. package/package.json +71 -0
  54. package/plugins/uid/index.js +16 -0
  55. package/plugins/uid/index.ts +16 -0
  56. package/src/assets/castlabs-logo.svg +2 -0
  57. package/src/assets/cookie.svg +1 -0
  58. package/src/components/ClAlert/style.scss +117 -0
  59. package/src/components/ClBadge/style.scss +122 -0
  60. package/src/components/ClButton/style.scss +338 -0
  61. package/src/components/ClCard/style.scss +61 -0
  62. package/src/components/ClCard/style.variables.scss +179 -0
  63. package/src/components/ClDropdown/style.scss +272 -0
  64. package/src/components/ClDropzone/style.scss +21 -0
  65. package/src/components/ClFooter/style.scss +119 -0
  66. package/src/components/ClIcon/style.scss +58 -0
  67. package/src/components/ClIconotron/style.scss +86 -0
  68. package/src/components/ClList/style.scss +93 -0
  69. package/src/components/ClList/style.variables.scss +133 -0
  70. package/src/components/ClListGroup/style.scss +9 -0
  71. package/src/components/ClPagination/style.scss +123 -0
  72. package/src/components/ClProgress/style.scss +49 -0
  73. package/src/components/ClScrollbar/style.scss +14 -0
  74. package/src/components/ClSpinner/style.scss +26 -0
  75. package/src/components/ClTabs/style.scss +90 -0
  76. package/src/components/ClToggle/style.scss +97 -0
  77. package/src/components/ClTooltip/style.scss +46 -0
  78. package/src/components/ClWizard/style.scss +173 -0
  79. package/src/components/form/ClField/style.scss +45 -0
  80. package/src/components/form/ClFieldCheck/style.scss +99 -0
  81. package/src/components/form/ClFieldFile/style.scss +71 -0
  82. package/src/components/form/ClFieldGroup/style.scss +73 -0
  83. package/src/components/form/ClFieldInput/style.scss +118 -0
  84. package/src/components/form/ClFieldSelect/style.scss +39 -0
  85. package/src/components/form/ClFieldSet/style.scss +16 -0
  86. package/src/components/form/ClForm/style.scss +87 -0
  87. package/src/components/modal/ClModal/style.scss +138 -0
  88. package/src/components/navigation/ClNavSide/ClNavDrawer/style.scss +444 -0
  89. package/src/components/navigation/ClNavSide/ClNavSideMenu/style.scss +51 -0
  90. package/src/components/navigation/ClNavSide/style.scss +81 -0
  91. package/src/components/navigation/ClNavTop/style.scss +305 -0
  92. package/src/components/section/ClSectionHeadline/style.scss +49 -0
  93. package/src/components/section/ClSectionMainSide/style.scss +60 -0
  94. package/src/components/table/ClTable/style.scss +23 -0
  95. package/src/components/table/ClTable/style.variables.scss +155 -0
  96. package/src/components/table/ClTableCel/Actions/style.scss +11 -0
  97. package/src/components/table/ClTableCel/Audit/style.scss +26 -0
  98. package/src/components/table/ClTableCel/Boolean/style.scss +12 -0
  99. package/src/components/table/ClTableCel/Checkbox/style.scss +18 -0
  100. package/src/components/table/ClTableCel/Code/style.scss +13 -0
  101. package/src/components/table/ClTableCel/Currency/style.scss +9 -0
  102. package/src/components/table/ClTableCel/Date/style.scss +12 -0
  103. package/src/components/table/ClTableCel/ID/style.scss +16 -0
  104. package/src/components/table/ClTableCel/Links/style.scss +44 -0
  105. package/src/components/table/ClTableCel/style.scss +7 -0
  106. package/src/components/table/ClTableCel/style.variables.scss +25 -0
  107. package/src/components/table/ClTableFootChecked/style.scss +2 -0
  108. package/src/components/table/ClTableHead/style.scss +36 -0
  109. package/src/components/text/ClCopy/style.scss +42 -0
  110. package/src/components/text/ClHashtag/style.scss +31 -0
  111. package/src/components/text/ClLinkExternal/style.scss +147 -0
  112. package/src/components/text/ClOrg/style.scss +40 -0
  113. package/src/components/text/ClPlan/style.scss +35 -0
  114. package/src/components/text/ClRole/style.scss +39 -0
  115. package/src/components/widget/ClBackCancelOk/style.scss +3 -0
  116. package/src/components/widget/ClCookieBanner/style.scss +40 -0
  117. package/src/components/widget/ClPage/style.scss +11 -0
  118. package/src/fonts/FontAwesome5/FontAwesome5.scss +6121 -0
  119. package/src/fonts/NotoSansMono/NotoSansMono.scss +82 -0
  120. package/src/fonts/OpenSansVariable/OpenSansVariable.scss +183 -0
  121. package/src/styles/_global.scss +70 -0
  122. package/src/styles/abstracts/color.scss +127 -0
  123. package/src/styles/abstracts/layer.scss +10 -0
  124. package/src/styles/abstracts/spacing.scss +35 -0
  125. package/src/styles/abstracts/tools.scss +117 -0
  126. package/src/styles/assets/logo.scss +22 -0
  127. package/src/styles/components/button.variables.scss +18 -0
  128. package/src/styles/components/form.variables.scss +51 -0
  129. package/src/styles/layout/animation.scss +39 -0
  130. package/src/styles/layout/grid.scss +144 -0
  131. package/src/styles/layout/grid.variables.scss +50 -0
  132. package/src/styles/layout/section.scss +90 -0
  133. package/src/styles/layout/spacing.scss +295 -0
  134. package/src/styles/layout/typography.scss +321 -0
  135. package/src/styles/layout/typography.variables.scss +363 -0
  136. package/src/styles/ui.scss +98 -0
  137. package/src/styles/vendors/bootstrap.scss +28 -0
  138. package/src/styles/vendors/castlabs.scss +17 -0
  139. package/types/castlabs-ui.module.d.ts +83 -0
  140. package/types/index.d.ts +140 -0
@@ -0,0 +1,51 @@
1
+ ////
2
+ /// @group layout
3
+ /// @access public
4
+ ////
5
+
6
+ // This file defines form/input field variables
7
+
8
+ $form-field-border-radius: 0;
9
+ $form-field-border-width: px(2);
10
+ $form-field-border-color: $color-ci-smoke;
11
+ $form-field-border: $form-field-border-width solid $form-field-border-color;
12
+
13
+ $form-color-disabled: $color-ci-silver;
14
+
15
+ %form-field-box {
16
+ @extend %p-medium;
17
+
18
+ background-color: $color-ci-white;
19
+ border: $form-field-border;
20
+ border-radius: $form-field-border-radius;
21
+ color: $color-text;
22
+ padding: $spacing-tiny - 0.125rem $spacing-tiny; // remove 2px border each
23
+ width: 100%;
24
+
25
+ &:disabled,
26
+ &.disabled {
27
+ background-color: $color-ci-white;
28
+ }
29
+ }
30
+
31
+ %form-field-typography {
32
+ @include typography-font($typography-font-list-sans, 400, px(16), 1.5em);
33
+ }
34
+
35
+ %form-field-typography-monospace {
36
+ @include typography-font($typography-font-list-monospace, 400, px(17), 1.59em, 0.025em, 80%);
37
+ }
38
+
39
+ @mixin form-focus-border-embed($color) {
40
+ border-color: $color;
41
+ box-shadow: none;
42
+ outline: 0;
43
+ }
44
+
45
+ @mixin form-focus-border($color) {
46
+ &:focus,
47
+ &:focus:first-child,
48
+ &:focus:last-child {
49
+ @include form-focus-border-embed($color);
50
+ }
51
+ }
@@ -0,0 +1,39 @@
1
+ ////
2
+ /// @group layout
3
+ /// @access public
4
+ ////
5
+
6
+ // This file defines animations and transitions used in this app.
7
+
8
+ // --- flash up text, e.g. after copy ------------------------------------------
9
+
10
+ @keyframes cl-animation-flash-opacity {
11
+ 0% {
12
+ opacity: 0;
13
+ }
14
+
15
+ 100% {
16
+ opacity: inherit;
17
+ }
18
+ }
19
+
20
+ .cl-animation-flash-text {
21
+ animation: cl-animation-flash-opacity 1s;
22
+ }
23
+
24
+ // --- slide-in sidenav nav ----------------------------------------------------
25
+
26
+ body.cl-animate {
27
+ .cl-nav-side .cl-nav-drawer {
28
+ transition: width 0.2s linear;
29
+ }
30
+
31
+ .cl-nav-backdrop {
32
+ transition: background-color 0.2s linear;
33
+ }
34
+
35
+ .cl-main,
36
+ .modal {
37
+ transition: padding-left 0.2s linear;
38
+ }
39
+ }
@@ -0,0 +1,144 @@
1
+ ////
2
+ /// @group layout
3
+ /// @access public
4
+ ////
5
+
6
+ // This file defines our page grid. It is mostly based on bootstrap but with a few tweaks.
7
+
8
+ @import 'bootstrap/scss/bootstrap-grid';
9
+ @import 'grid.variables';
10
+
11
+ // bootstrap uses a narrow container for sm, but we prefer full-width instead
12
+ @include media-breakpoint-only(sm) {
13
+ .container {
14
+ max-width: inherit;
15
+ }
16
+ }
17
+
18
+ .container .container {
19
+ // nested containers should not limit themselves
20
+ margin-left: 0;
21
+ margin-right: 0;
22
+ max-width: 100%;
23
+ }
24
+
25
+ // -----------------------------------------------------------------------------
26
+
27
+ // We remove mandatory paddings from .container's
28
+ .container,
29
+ .container-fluid,
30
+ .container-xxl,
31
+ .container-xl,
32
+ .container-lg,
33
+ .container-md,
34
+ .container-sm {
35
+ padding-left: 0;
36
+ padding-right: 0;
37
+
38
+ > .row {
39
+ margin-left: 0;
40
+ margin-right: 0;
41
+ }
42
+ }
43
+
44
+ // alignment classes for row content
45
+ .row {
46
+ &.text-start {
47
+ justify-content: flex-start;
48
+ }
49
+
50
+ &.text-center {
51
+ justify-content: center;
52
+ }
53
+
54
+ &.text-end {
55
+ justify-content: flex-end;
56
+ }
57
+ }
58
+
59
+ // do pull out nested containers or their cel padding will indent them
60
+ .container .container > .row {
61
+ margin-left: -$spacing-tiny;
62
+ margin-right: -$spacing-tiny;
63
+ }
64
+
65
+ // sections with slim content width limit the main container
66
+ .cl-section-slim > .container {
67
+ max-width: 848px;
68
+ }
69
+
70
+ // -----------------------------------------------------------------------------
71
+
72
+ $grid-spacing: $spacing-small;
73
+
74
+ section {
75
+ padding-bottom: $spacing-large;
76
+ padding-top: $spacing-medium; // first element usually will add the rest.
77
+ }
78
+
79
+ main {
80
+ background-color: $color-ci-white;
81
+ display: table-row;
82
+ height: 100%;
83
+
84
+ .row {
85
+ #{'--bs-gutter-x'}: $grid-spacing;
86
+
87
+ > [class^='col-'] {
88
+ margin-top: $grid-spacing; // columns add top padding as first content line won't
89
+ }
90
+ }
91
+ }
92
+
93
+ .cl-flex-center-center {
94
+ align-items: center;
95
+ display: flex;
96
+ height: 100%;
97
+ justify-content: center;
98
+ width: 100%;
99
+ }
100
+
101
+ .cl-faded {
102
+ opacity: 0.5;
103
+ }
104
+
105
+ h1.cl-faded,
106
+ .cl-h1.cl-faded,
107
+ h2.cl-faded,
108
+ .cl-h2.cl-faded,
109
+ h3.cl-faded,
110
+ .cl-h3.cl-faded,
111
+ h4.cl-faded,
112
+ .cl-h4.cl-faded,
113
+ h5.cl-faded,
114
+ .cl-h5.cl-faded,
115
+ h6.cl-faded,
116
+ .cl-h6.cl-faded {
117
+ opacity: 0.3;
118
+ }
119
+
120
+ // -----------------------------------------------------------------------------
121
+ img {
122
+ max-width: 100%;
123
+ }
124
+
125
+ html,
126
+ body,
127
+ .cl-app {
128
+ @include typography-font($typography-font-list-sans, 400, px(18), px(27), 0, 100, true);
129
+
130
+ background-color: $color-ci-white;
131
+ height: 100%;
132
+ }
133
+
134
+ .cl-main {
135
+ display: table;
136
+ height: 100%;
137
+ table-layout: fixed;
138
+ width: 100%;
139
+
140
+ > *,
141
+ main > * {
142
+ width: 100%;
143
+ }
144
+ }
@@ -0,0 +1,50 @@
1
+ ////
2
+ /// @group layout
3
+ /// @access public
4
+ ////
5
+
6
+ @mixin grid-margins($spacing) {
7
+ padding-bottom: math.div($spacing, 2);
8
+ padding-top: math.div($spacing, 2);
9
+
10
+ > .row {
11
+ margin-left: -$spacing-tiny;
12
+ margin-right: -$spacing-tiny;
13
+
14
+ > * {
15
+ padding: math.div($spacing, 2) $spacing-tiny math.div($spacing, 2) $spacing-tiny;
16
+
17
+ > *:first-child {
18
+ margin-top: 0; // do not apply top spacing to first element in a cel
19
+ }
20
+
21
+ > *:last-child {
22
+ margin-bottom: 0; // do not apply bottom spacing to last element in a cel
23
+ }
24
+ }
25
+ }
26
+ }
27
+
28
+ %container-spacing-none {
29
+ @include grid-margins(0);
30
+ }
31
+
32
+ %container-spacing-tiny {
33
+ @include grid-margins($spacing-tiny);
34
+ }
35
+
36
+ %container-spacing-small {
37
+ @include grid-margins($spacing-small);
38
+ }
39
+
40
+ %container-spacing-medium {
41
+ @include grid-margins($spacing-medium);
42
+ }
43
+
44
+ %container-spacing-large {
45
+ @include grid-margins($spacing-large);
46
+ }
47
+
48
+ %container-spacing-huge {
49
+ @include grid-margins($spacing-huge);
50
+ }
@@ -0,0 +1,90 @@
1
+ ////
2
+ /// @group layout
3
+ /// @access public
4
+ ////
5
+
6
+ // This file defines how we structure pages with <section class="cl-section-regular">s.
7
+
8
+ %section-padding {
9
+ padding-left: $spacing-tiny;
10
+ padding-right: $spacing-tiny;
11
+
12
+ @include media-breakpoint-up(sm) {
13
+ padding-left: $spacing-medium;
14
+ padding-right: $spacing-medium;
15
+ }
16
+ }
17
+
18
+ .cl-section-primary,
19
+ .cl-section-secondary,
20
+ .cl-section-dark,
21
+ .cl-section-light,
22
+ .cl-section-regular,
23
+ .cl-section-alternate {
24
+ @extend %section-padding;
25
+ }
26
+
27
+ // two successive sections of the same bg color loose a bit of gap
28
+ .cl-section-regular + .cl-section-regular,
29
+ .cl-section-alternate + .cl-section-alternate,
30
+ .cl-section-dark + .cl-section-dark,
31
+ .cl-section-light + .cl-section-light,
32
+ .cl-section-primary + .cl-section-primary,
33
+ .cl-section-secondary + .cl-section-secondary {
34
+ margin-top: $spacing-small * -3;
35
+ }
36
+
37
+ .cl-section-primary,
38
+ .cl-section-secondary,
39
+ .cl-section-dark {
40
+ color: $color-white-100;
41
+
42
+ h1,
43
+ h2,
44
+ h3 {
45
+ color: $color-white-100;
46
+ }
47
+
48
+ a {
49
+ @include typography-links(
50
+ $color-ci-white,
51
+ rgba($color-white-80a, $color-hover-opacity),
52
+ 2px,
53
+ $color-ci-white,
54
+ rgba($color-white-80a, $color-hover-opacity)
55
+ );
56
+ }
57
+ }
58
+
59
+ .cl-section-primary {
60
+ background-color: $color-primary;
61
+
62
+ @include media-breakpoint-up(sm) {
63
+ min-height: px(88);
64
+ }
65
+ }
66
+
67
+ .cl-section-secondary {
68
+ background-color: $color-secondary;
69
+ }
70
+
71
+ .cl-section-dark {
72
+ background-color: $color-dark;
73
+ }
74
+
75
+ .cl-section-light,
76
+ .cl-section-alternate {
77
+ background-color: $color-ci-haze;
78
+ }
79
+
80
+ .cl-section-tight {
81
+ // deprecated
82
+ padding-bottom: 1rem;
83
+ padding-top: 0;
84
+ }
85
+
86
+ main {
87
+ > .cl-section-regular:last-child {
88
+ padding-bottom: $grid-spacing * 3;
89
+ }
90
+ }
@@ -0,0 +1,295 @@
1
+ ////
2
+ /// @group layout
3
+ /// @access public
4
+ ////
5
+
6
+ // This file contains spacing elements and helpers.
7
+
8
+ // We move all margins to the top of entities. This makes it soo much easier
9
+ // to use the + selector for fine-tuning situation specific spacings later on.
10
+
11
+ audio,
12
+ address,
13
+ article,
14
+ aside,
15
+ blockquote,
16
+ button,
17
+ canvas,
18
+ details,
19
+ dialog,
20
+ dd,
21
+ dl,
22
+ dt,
23
+ embed,
24
+ fieldset,
25
+ figcaption,
26
+ figure,
27
+ footer,
28
+ form,
29
+ h1,
30
+ h2,
31
+ h3,
32
+ h4,
33
+ h5,
34
+ h6,
35
+ header,
36
+ hgroup,
37
+ hr,
38
+ iframe,
39
+ li,
40
+ main,
41
+ math,
42
+ nav,
43
+ object,
44
+ ol,
45
+ p,
46
+ pre,
47
+ section,
48
+ svg,
49
+ table,
50
+ ul,
51
+ img,
52
+ label,
53
+ input,
54
+ textarea,
55
+ video {
56
+ margin-bottom: 0;
57
+ }
58
+
59
+ main {
60
+ audio,
61
+ address,
62
+ article,
63
+ aside,
64
+ blockquote,
65
+ canvas,
66
+ details,
67
+ dialog,
68
+ dd,
69
+ dl,
70
+ dt,
71
+ embed,
72
+ fieldset,
73
+ figcaption,
74
+ figure,
75
+ footer,
76
+ form,
77
+ h1,
78
+ h2,
79
+ h3,
80
+ h4,
81
+ h5,
82
+ h6,
83
+ header,
84
+ hgroup,
85
+ hr,
86
+ iframe,
87
+ li,
88
+ math,
89
+ nav,
90
+ object,
91
+ ol,
92
+ p,
93
+ pre,
94
+ // section,
95
+ svg,
96
+ table,
97
+ ul,
98
+ img,
99
+ label,
100
+ input,
101
+ textarea,
102
+ video {
103
+ @include spacing-before-auto($spacing-small);
104
+ }
105
+
106
+ label,
107
+ .cl-p-label {
108
+ + ul,
109
+ + p {
110
+ margin-top: $spacing-micro;
111
+ }
112
+ }
113
+ }
114
+
115
+ .cl-p,
116
+ .cl-h1,
117
+ .cl-h2,
118
+ .cl-h3,
119
+ .cl-h4,
120
+ .cl-h5,
121
+ .cl-h6 {
122
+ @include spacing-before-auto($spacing-small);
123
+ }
124
+
125
+ // remove margins for divs in certain flexbox variants
126
+ %cl-grid-flex-centered,
127
+ .cl-grid-flex-centered {
128
+ > * {
129
+ @include spacing-before(0);
130
+ }
131
+ }
132
+
133
+ // -----------------------------------------------------------------------------
134
+
135
+ .cl-spacing {
136
+ + * {
137
+ margin-top: 0;
138
+ }
139
+ }
140
+
141
+ .cl-spacing-huge {
142
+ margin-top: $spacing-huge !important; // sass-lint:disable-line no-important
143
+ }
144
+
145
+ .cl-spacing-large {
146
+ margin-top: $spacing-large !important; // sass-lint:disable-line no-important
147
+ }
148
+
149
+ .cl-spacing-medium {
150
+ margin-top: $spacing-medium !important; // sass-lint:disable-line no-important
151
+ }
152
+
153
+ .cl-spacing-small {
154
+ margin-top: $spacing-small !important; // sass-lint:disable-line no-important
155
+ }
156
+
157
+ .cl-spacing-tiny {
158
+ margin-top: $spacing-tiny !important; // sass-lint:disable-line no-important
159
+ }
160
+
161
+ .cl-spacing-micro {
162
+ margin-top: $spacing-micro !important; // sass-lint:disable-line no-important
163
+ }
164
+
165
+ .cl-spacing-none {
166
+ margin-top: 0 !important; // sass-lint:disable-line no-important
167
+ }
168
+
169
+ .cl-md-padding {
170
+ @include media-breakpoint-up(md) {
171
+ padding-right: $spacing-medium;
172
+ }
173
+ }
174
+
175
+ @mixin spacing-box-x($spacing) {
176
+ line-height: 1em;
177
+
178
+ > *,
179
+ > *:first-child {
180
+ display: inline-block;
181
+ margin: $spacing $spacing 0 0;
182
+
183
+ @include media-breakpoint-down(sm) {
184
+ // buttons are 100% width on sm
185
+ &.btn {
186
+ display: block;
187
+ }
188
+ }
189
+ }
190
+
191
+ @include media-breakpoint-up(sm) {
192
+ &.cl-spread {
193
+ display: flex;
194
+ justify-content: space-between;
195
+
196
+ > *:last-child {
197
+ margin-right: 0;
198
+ }
199
+ }
200
+ }
201
+
202
+ &.text-center,
203
+ &.cl-text-center {
204
+ // move margins to half-half of items
205
+ > *,
206
+ > *:first-child {
207
+ margin: $spacing ($spacing * 0.5) 0;
208
+
209
+ @include media-breakpoint-down(sm) {
210
+ // buttons are 100% width on sm
211
+ &.btn {
212
+ margin-left: 0;
213
+ margin-right: 0;
214
+ }
215
+ }
216
+ }
217
+ }
218
+
219
+ &.text-end,
220
+ &.cl-text-end {
221
+ // move margins to left of items
222
+ > *,
223
+ > *:first-child {
224
+ margin: $spacing 0 0 $spacing;
225
+
226
+ @include media-breakpoint-down(sm) {
227
+ // buttons are 100% width on sm
228
+ &.btn {
229
+ margin-left: 0;
230
+ }
231
+ }
232
+ }
233
+ }
234
+
235
+ &.cl-spacing-huge {
236
+ margin-top: $spacing-huge - $spacing !important; // sass-lint:disable-line no-important
237
+ }
238
+
239
+ &.cl-spacing-large {
240
+ margin-top: $spacing-large - $spacing !important; // sass-lint:disable-line no-important
241
+ }
242
+
243
+ &.cl-spacing-medium {
244
+ margin-top: $spacing-medium - $spacing !important; // sass-lint:disable-line no-important
245
+ }
246
+
247
+ &.cl-spacing-small {
248
+ margin-top: $spacing-small - $spacing !important; // sass-lint:disable-line no-important
249
+ }
250
+
251
+ &.cl-spacing-tiny {
252
+ margin-top: $spacing-tiny - $spacing !important; // sass-lint:disable-line no-important
253
+ }
254
+
255
+ &.cl-spacing-micro {
256
+ margin-top: $spacing-micro - $spacing !important; // sass-lint:disable-line no-important
257
+ }
258
+
259
+ &.cl-spacing-none {
260
+ margin-top: 0 - $spacing !important; // sass-lint:disable-line no-important
261
+ }
262
+ }
263
+
264
+ .cl-spacing-box-huge {
265
+ @include spacing-box-x($spacing-huge);
266
+ }
267
+
268
+ .cl-spacing-box-large {
269
+ @include spacing-box-x($spacing-large);
270
+ }
271
+
272
+ .cl-spacing-box-medium {
273
+ @include spacing-box-x($spacing-medium);
274
+ }
275
+
276
+ .cl-spacing-box,
277
+ .cl-spacing-box-small {
278
+ @include spacing-box-x($spacing-small);
279
+ }
280
+
281
+ .cl-spacing-box-tiny {
282
+ @include spacing-box-x($spacing-tiny);
283
+ }
284
+
285
+ .cl-spacing-box-micro {
286
+ @include spacing-box-x($spacing-micro);
287
+ }
288
+
289
+ .cl-mobile-reverse {
290
+ // reverse order of vertical items (usually buttons) on mobile
291
+ @include media-breakpoint-down(sm) {
292
+ display: flex;
293
+ flex-direction: column-reverse;
294
+ }
295
+ }