@schukai/monster 3.85.2 → 3.86.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (25) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/package.json +1 -1
  3. package/source/components/datatable/datatable/header.mjs +4 -2
  4. package/source/components/datatable/datatable.mjs +2 -1
  5. package/source/components/datatable/style/datatable.pcss +41 -9
  6. package/source/components/datatable/stylesheet/datatable.mjs +1 -1
  7. package/source/components/form/button-bar.mjs +3 -38
  8. package/source/components/form/button.mjs +0 -1
  9. package/source/components/form/style/button-bar.pcss +3 -2
  10. package/source/components/form/style/button.pcss +6 -1
  11. package/source/components/form/style/confirm-button.pcss +6 -1
  12. package/source/components/form/style/field-set.pcss +41 -56
  13. package/source/components/form/style/message-state-button.pcss +6 -2
  14. package/source/components/form/style/popper-button.pcss +7 -1
  15. package/source/components/form/style/select.pcss +2 -2
  16. package/source/components/form/style/state-button.pcss +4 -1
  17. package/source/components/form/stylesheet/button-bar.mjs +7 -14
  18. package/source/components/form/stylesheet/button.mjs +7 -14
  19. package/source/components/form/stylesheet/confirm-button.mjs +7 -14
  20. package/source/components/form/stylesheet/field-set.mjs +7 -14
  21. package/source/components/form/stylesheet/message-state-button.mjs +7 -14
  22. package/source/components/form/stylesheet/popper-button.mjs +7 -14
  23. package/source/components/form/stylesheet/select.mjs +7 -14
  24. package/source/components/form/stylesheet/state-button.mjs +7 -14
  25. package/source/components/layout/stylesheet/panel.mjs +7 -14
@@ -124,39 +124,6 @@ const switchElementSymbol = Symbol("switchElement");
124
124
  */
125
125
  const ATTRIBUTE_POPPER_POSITION = "data-monster-popper-position";
126
126
 
127
- /**
128
- * This CustomControl creates a button bar.
129
- *
130
- * <img src="./images/button-bar.png">
131
- *
132
- * Dependencies: the system uses functions of the [monsterjs](https://monsterjs.org/) library.
133
- *
134
- * You can create this control either by specifying the HTML tag `<monster-tabs />` directly in the HTML or using
135
- * Javascript via the `document.createElement('monster-tabs');` method.
136
- *
137
- * ```html
138
- * <monster-tabs></monster-tabs>
139
- * ```
140
- *
141
- * Or you can create this CustomControl directly in Javascript:
142
- *
143
- * ```js
144
- * import {ButtonBar} from '@schukai/component-form/source/tab.js';
145
- * document.createElement('monster-tabs');
146
- * ```
147
- *
148
- * @startuml button-bar.png
149
- * skinparam monochrome true
150
- * skinparam shadowing false
151
- * HTMLElement <|-- CustomElement
152
- * CustomElement <|-- ButtonBar
153
- * @enduml
154
- *
155
- * @copyright schukai GmbH
156
- * @summary A configurable tab control
157
- * @fires monster-fetched
158
- */
159
-
160
127
  /**
161
128
  * A button bar control.
162
129
  *
@@ -164,9 +131,8 @@ const ATTRIBUTE_POPPER_POSITION = "data-monster-popper-position";
164
131
  *
165
132
  * @example /examples/components/form/button-bar-simple
166
133
  *
167
- * @since 3.19.0
168
134
  * @copyright schukai GmbH
169
- * @summary A button bar control
135
+ * @summary This is a button bar control that can be used to display a set of buttons.
170
136
  * @fires monster-fetched
171
137
  */
172
138
  class ButtonBar extends CustomElement {
@@ -198,7 +164,8 @@ class ButtonBar extends CustomElement {
198
164
  },
199
165
  labels: {},
200
166
  popper: {
201
- placement: "bottom",
167
+ placement: "left",
168
+ middleware: ["autoPlacement", "shift" ,"offset:5"],
202
169
  },
203
170
  });
204
171
 
@@ -448,8 +415,6 @@ function rearrangeButtons() {
448
415
  continue;
449
416
  }
450
417
 
451
- const buttonLabel = element.innerText;
452
-
453
418
  if (sum > space) {
454
419
  element.setAttribute("slot", "popper");
455
420
  } else {
@@ -47,7 +47,6 @@ export const buttonElementSymbol = Symbol("buttonElement");
47
47
  * @example /examples/components/form/button-simple
48
48
  * @example /examples/components/form/button-with-click-event
49
49
  *
50
- * @since 1.5.0
51
50
  * @copyright schukai GmbH
52
51
  * @summary A beautiful button that can make your life easier and also looks good.
53
52
  * @fires monster-button-clicked this event is triggered when the button is clicked. It contains the field {button} with the button instance.
@@ -39,11 +39,12 @@ div[data-monster-role="control"] {
39
39
 
40
40
  & slot[name=popper] {
41
41
  display: flex;
42
- flex-direction: row;
42
+ flex-direction: column;
43
43
  flex-wrap: nowrap;
44
- align-items: stretch;
44
+ align-items: center;
45
45
  align-content: center;
46
46
  justify-content: space-between;
47
+ gap: 0.4rem;
47
48
  }
48
49
 
49
50
 
@@ -1,10 +1,15 @@
1
1
  @import "../../style/control.pcss";
2
2
  @import "../../style/button.pcss";
3
3
  @import "../../style/border.pcss";
4
+ @import "../../style/typography.pcss";
4
5
 
5
6
  :host(monster-button){display:flex;}
6
7
 
7
8
  [data-monster-role="control"] {
8
9
  display: flex;
9
10
  align-items: stretch;
10
- }
11
+ }
12
+
13
+ button {
14
+ width: max-content;
15
+ }
@@ -6,7 +6,7 @@
6
6
 
7
7
  div[data-monster-role="decision"] {
8
8
  display: flex;
9
- width: 100%;
9
+ width: max-content;
10
10
  align-items: center;
11
11
  justify-content: space-evenly;
12
12
  margin: 1rem 0 0.4rem 0;
@@ -14,4 +14,9 @@ div[data-monster-role="decision"] {
14
14
 
15
15
  div[data-monster-role="control"] {
16
16
  height: 100%;
17
+ width: max-content;
18
+ }
19
+
20
+ button {
21
+ width: max-content;
17
22
  }
@@ -53,7 +53,7 @@
53
53
 
54
54
  slot {
55
55
  display: grid;
56
- grid-template-columns: 10em 1fr;
56
+ grid-template-columns: auto 1fr;
57
57
  grid-gap: 0.8rem;
58
58
  accent-color: var(--monster-color-secondary-2);
59
59
  }
@@ -68,13 +68,21 @@ slot {
68
68
  border-bottom: thin dotted var(--monster-color-primary-1);
69
69
  }
70
70
 
71
+ ::slotted(hr),
71
72
  ::slotted(h1),
72
73
  ::slotted(h2),
73
74
  ::slotted(h3),
74
75
  ::slotted(h4),
75
76
  ::slotted(h5),
76
- ::slotted(h6) {
77
- grid-column: 1 / 3;
77
+ ::slotted(h6) {
78
+ grid-column: 1 / -1;
79
+ }
80
+
81
+ ::slotted(hr) {
82
+ border: none;
83
+ border-top: thin dotted var(--monster-color-gray-3);
84
+ margin: 1rem 0;
85
+ padding: 0;
78
86
  }
79
87
 
80
88
  ::slotted(select) {
@@ -83,16 +91,13 @@ slot {
83
91
 
84
92
  ::slotted(monster-button),
85
93
  ::slotted(monster-state-button),
86
- ::slotted(monster-select),
87
94
  ::slotted(monster-api-button),
88
95
  ::slotted(monster-state-button),
89
96
  ::slotted(monster-datasource-save-button) {
90
- grid-column: 2;
91
97
  }
92
98
 
93
99
  ::slotted(input),
94
100
  ::slotted(monster-button),
95
- ::slotted(monster-select),
96
101
  ::slotted(monster-state-button),
97
102
  ::slotted(monster-api-button),
98
103
  ::slotted(monster-state-button),
@@ -100,28 +105,16 @@ slot {
100
105
 
101
106
  }
102
107
 
103
- ::slotted(input) {
108
+ ::slotted(input) ,
109
+ ::slotted(monster-toggle-switch) ,
110
+ ::slotted(select) {
104
111
  align-self: end;
105
-
106
112
  }
107
113
 
108
114
  ::slotted(monster-toggle-switch) {
109
- width: 4.5rem;
110
- }
111
-
112
- .multiple-columns ::slotted(.span-1) {
113
- grid-column: 2 / span 3;
115
+ width: 3rem;
114
116
  }
115
117
 
116
- .multiple-columns ::slotted(.span-1-max) {
117
- grid-column: 2 / span 5;
118
- }
119
-
120
- .multiple-columns ::slotted(.span-2) {
121
- grid-column: 4 / span 3;
122
- }
123
-
124
-
125
118
  @container field-set (max-width: 1200px) {
126
119
 
127
120
  .multiple-columns {
@@ -129,43 +122,19 @@ slot {
129
122
  & slot {
130
123
  grid-template-columns: auto 1fr auto 1fr;
131
124
  }
132
-
133
- & ::slotted(.span-1) {
134
- grid-column: 2 / span 3;
135
- }
136
-
137
- & ::slotted(.span-2) {
138
- grid-column: unset;
139
- }
140
-
141
- & ::slotted(.span-1-max:first-child) {
142
- grid-column: 2 / span 3;
143
- }
144
125
  }
145
126
 
146
127
  }
147
128
 
148
- @container field-set (max-width: 800px) {
129
+ @container field-set (max-width: 900px) {
149
130
 
150
131
  .multiple-columns {
151
132
 
152
133
  & slot {
153
134
  grid-template-columns: auto 1fr;
154
135
  }
155
- & ::slotted(.span-1) {
156
- grid-column: unset;
157
- }
158
-
159
- & ::slotted(.span-2) {
160
- grid-column: unset;
161
- }
162
-
163
- & ::slotted(.span-1-max) {
164
- grid-column: unset;
165
- }
166
136
  }
167
137
 
168
-
169
138
  }
170
139
 
171
140
  @container field-set (max-width: 500px) {
@@ -174,39 +143,55 @@ slot {
174
143
  gap: 0;
175
144
  }
176
145
 
177
-
178
146
  ::slotted(h1),
179
147
  ::slotted(h2),
180
148
  ::slotted(h3),
181
149
  ::slotted(h4),
182
150
  ::slotted(h5),
183
151
  ::slotted(h6) {
184
- grid-column: 1
152
+ grid-column: 1;
185
153
  }
186
154
 
187
- ::slotted(label),
188
- ::slotted(.label) {
189
- padding-top: 1rem;
190
- border-bottom: none;
155
+ ::slotted(select) {
156
+ grid-column: 1;
157
+ }
158
+
159
+ ::slotted(input),
160
+ ::slotted(monster-toggle-switch),
161
+ ::slotted(textarea),
162
+ ::slotted(select) {
163
+ grid-column: 1;
191
164
  }
192
165
 
193
166
  ::slotted(monster-button),
167
+ ::slotted(monster-action-button),
194
168
  ::slotted(monster-state-button),
195
169
  ::slotted(monster-api-button),
196
170
  ::slotted(monster-state-button),
197
171
  ::slotted(monster-datasource-save-button) {
198
172
  grid-column: 1;
173
+ }
174
+
175
+ ::slotted(h1),
176
+ ::slotted(h2),
177
+ ::slotted(h3),
178
+ ::slotted(h4),
179
+ ::slotted(h5),
180
+ ::slotted(h6) {
181
+ grid-column: 1
199
182
  }
200
183
 
184
+ ::slotted(label),
185
+ ::slotted(.label) {
186
+ padding-top: 1rem;
187
+ border-bottom: none;
188
+ }
201
189
 
202
190
  .multiple-columns {
203
191
  & slot {
204
192
  grid-template-columns: 1fr;
205
193
  }
206
194
 
207
- & ::slotted(.span-1-max) {
208
- grid-column: unset;
209
- }
210
195
  }
211
196
 
212
197
 
@@ -1,4 +1,4 @@
1
-
1
+ @import "../../style/typography.pcss";
2
2
 
3
3
 
4
4
 
@@ -7,4 +7,8 @@
7
7
  [data-monster-role=button] {
8
8
  width: 100%;
9
9
  }
10
- }
10
+ }
11
+
12
+ button {
13
+ width: max-content;
14
+ }
@@ -1,6 +1,7 @@
1
1
  @import "../../style/control.pcss";
2
2
  @import "../../style/floating-ui.pcss";
3
3
  @import "../../style/button.pcss";
4
+ @import "../../style/typography.pcss";
4
5
 
5
6
  [data-monster-role=control] {
6
7
  position: relative;
@@ -8,9 +9,14 @@
8
9
  }
9
10
 
10
11
  [data-monster-role=button] {
11
- width: fill-available;
12
+ width: max-content;
12
13
  }
13
14
 
14
15
  div[data-monster-role="control"] {
15
16
  height: 100%;
17
+ width: max-content;
18
+ }
19
+
20
+ button {
21
+ width: max-content;
16
22
  }
@@ -16,7 +16,7 @@
16
16
  width: 100%;
17
17
  overflow: auto;
18
18
 
19
- scrollbar-color: var(--monster-color-primary-1) var(--monster-color-primary-3);
19
+ scrollbar-color: var(--monster-color-primary-1) var(--monster-bg-color-primary-1);
20
20
  scrollbar-width: thin;
21
21
 
22
22
  }
@@ -231,7 +231,7 @@ div[data-monster-role=selection] {
231
231
  display: flex;
232
232
  flex-direction: column;
233
233
  flex-grow: 1;
234
- scrollbar-color: var(--monster-color-primary-1) var(--monster-color-primary-3);
234
+ scrollbar-color: var(--monster-color-primary-1) var(--monster-bg-color-primary-1);
235
235
  scrollbar-width: thin;
236
236
 
237
237
  }
@@ -1,12 +1,15 @@
1
1
  @import "../../style/control.pcss";
2
2
  @import "../../style/border.pcss";
3
3
  @import "../../style/color.pcss";
4
+ @import "../../style/typography.pcss";
4
5
 
5
6
  div[data-monster-role="control"] {
6
7
  height: 100%;
7
8
  }
8
9
 
9
-
10
+ button {
11
+ width: max-content;
12
+ }
10
13
 
11
14
  [data-monster-role=button] {
12
15
  display: flex;