@rvx/ui 0.1.13 → 0.1.14

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 (94) hide show
  1. package/dist/common/theme.d.ts +10 -0
  2. package/dist/components/button.js +3 -2
  3. package/dist/components/button.js.map +1 -1
  4. package/dist/components/card.d.ts +1 -0
  5. package/dist/components/card.js +6 -3
  6. package/dist/components/card.js.map +1 -1
  7. package/dist/components/checkbox.js +6 -6
  8. package/dist/components/checkbox.js.map +1 -1
  9. package/dist/components/collapse.d.ts +16 -2
  10. package/dist/components/collapse.js +85 -4
  11. package/dist/components/collapse.js.map +1 -1
  12. package/dist/components/column.d.ts +1 -0
  13. package/dist/components/column.js +1 -0
  14. package/dist/components/column.js.map +1 -1
  15. package/dist/components/dialog.d.ts +1 -2
  16. package/dist/components/dialog.js +3 -5
  17. package/dist/components/dialog.js.map +1 -1
  18. package/dist/components/dropdown-input.js +2 -2
  19. package/dist/components/dropdown-input.js.map +1 -1
  20. package/dist/components/dropdown.js +2 -2
  21. package/dist/components/dropdown.js.map +1 -1
  22. package/dist/components/label.js +1 -1
  23. package/dist/components/label.js.map +1 -1
  24. package/dist/components/link.js +2 -1
  25. package/dist/components/link.js.map +1 -1
  26. package/dist/components/nav-list.js +2 -1
  27. package/dist/components/nav-list.js.map +1 -1
  28. package/dist/components/popout.d.ts +1 -2
  29. package/dist/components/popout.js +1 -2
  30. package/dist/components/popout.js.map +1 -1
  31. package/dist/components/popover.js +1 -2
  32. package/dist/components/popover.js.map +1 -1
  33. package/dist/components/radio-buttons.js +11 -10
  34. package/dist/components/radio-buttons.js.map +1 -1
  35. package/dist/components/slider.js +1 -2
  36. package/dist/components/slider.js.map +1 -1
  37. package/dist/components/tabs.d.ts +10 -0
  38. package/dist/components/tabs.js +31 -0
  39. package/dist/components/tabs.js.map +1 -0
  40. package/dist/components/text-input.js +5 -4
  41. package/dist/components/text-input.js.map +1 -1
  42. package/dist/components/validation-rules.d.ts +11 -0
  43. package/dist/components/validation-rules.js +37 -0
  44. package/dist/components/validation-rules.js.map +1 -0
  45. package/dist/components/validation.d.ts +53 -77
  46. package/dist/components/validation.js +117 -95
  47. package/dist/components/validation.js.map +1 -1
  48. package/dist/index.d.ts +2 -3
  49. package/dist/index.js +2 -3
  50. package/dist/index.js.map +1 -1
  51. package/dist/theme.module.css +75 -0
  52. package/dist/theme.module.css.map +1 -1
  53. package/package.json +3 -3
  54. package/src/common/theme.tsx +11 -0
  55. package/src/components/button.tsx +3 -2
  56. package/src/components/card.tsx +10 -5
  57. package/src/components/checkbox.tsx +6 -6
  58. package/src/components/collapse.tsx +127 -5
  59. package/src/components/column.tsx +2 -0
  60. package/src/components/dialog.tsx +3 -5
  61. package/src/components/dropdown-input.tsx +2 -2
  62. package/src/components/dropdown.tsx +2 -2
  63. package/src/components/label.tsx +1 -3
  64. package/src/components/link.tsx +2 -1
  65. package/src/components/nav-list.tsx +2 -1
  66. package/src/components/popout.tsx +1 -2
  67. package/src/components/popover.tsx +1 -2
  68. package/src/components/radio-buttons.tsx +21 -20
  69. package/src/components/slider.tsx +1 -2
  70. package/src/components/tabs.tsx +67 -0
  71. package/src/components/text-input.tsx +5 -4
  72. package/src/components/validation-rules.tsx +50 -0
  73. package/src/components/validation.tsx +175 -177
  74. package/src/index.tsx +2 -3
  75. package/src/theme/base.scss +7 -0
  76. package/src/theme/components/card.scss +4 -1
  77. package/src/theme/components/checkbox.scss +5 -0
  78. package/src/theme/components/column.scss +5 -0
  79. package/src/theme/components/radio-buttons.scss +5 -0
  80. package/src/theme/components/slider.scss +1 -0
  81. package/src/theme/components/tabs.scss +72 -0
  82. package/src/theme/theme.scss +1 -0
  83. package/dist/common/debounce.d.ts +0 -12
  84. package/dist/common/debounce.js +0 -23
  85. package/dist/common/debounce.js.map +0 -1
  86. package/dist/common/parsers.d.ts +0 -88
  87. package/dist/common/parsers.js +0 -62
  88. package/dist/common/parsers.js.map +0 -1
  89. package/dist/common/trim.d.ts +0 -12
  90. package/dist/common/trim.js +0 -16
  91. package/dist/common/trim.js.map +0 -1
  92. package/src/common/debounce.tsx +0 -36
  93. package/src/common/parsers.tsx +0 -167
  94. package/src/common/trim.tsx +0 -30
@@ -1,30 +1,62 @@
1
1
  import { jsx as _jsx } from "rvx/jsx-runtime";
2
- import { $, Context, For, map, teardown, trigger, untrack } from "rvx";
2
+ import { $, Context, Emitter, memo, teardown, trigger, uniqueIdFor, untrack } from "rvx";
3
3
  import { Queue } from "rvx/async";
4
- import { Emitter } from "rvx/event";
5
- import { uniqueId } from "rvx/id";
6
4
  import { THEME } from "../common/theme.js";
7
- import { Collapse } from "./collapse.js";
5
+ import { CollapseFor } from "./collapse.js";
8
6
  import { Text } from "./text.js";
9
7
  const VALIDATORS = new WeakMap();
8
+ const ALERTS = new WeakMap();
10
9
  export const VALIDATION = new Context();
10
+ export class ValidationRuleEntry {
11
+ #rule;
12
+ #pipe;
13
+ #result = $([]);
14
+ constructor(rule, notify) {
15
+ this.#rule = rule;
16
+ this.#pipe = trigger(notify);
17
+ }
18
+ get messages() {
19
+ return this.#result.value;
20
+ }
21
+ async validate(abortSignal, sideEffect) {
22
+ const messages = (await this.#pipe(() => this.#rule(abortSignal))) ?? [];
23
+ if (!sideEffect) {
24
+ for (const message of messages) {
25
+ if (this.#result.value.includes(message)) {
26
+ ALERTS.get(message)?.emit();
27
+ }
28
+ }
29
+ }
30
+ this.#result.value = messages;
31
+ return messages.length === 0;
32
+ }
33
+ reset() {
34
+ this.#pipe(() => { });
35
+ this.#result.value = [];
36
+ }
37
+ }
11
38
  export class Validator {
12
39
  #queue = new Queue();
13
- #signalTrigger;
40
+ #trigger;
14
41
  #rules = $([]);
15
- #invalid = $(false);
42
+ #notified = false;
16
43
  constructor() {
17
44
  const options = VALIDATION.current;
18
- this.#signalTrigger = options?.signalTrigger ?? "if-validated";
45
+ this.#trigger = options?.trigger ?? "if-invalid";
19
46
  }
20
- rules = () => this.#rules.value;
21
- errorMessageIds = () => this.#rules.value.map(r => r.id).join(" ");
22
- invalid = () => this.#invalid.value;
23
- #addRule(rule, add) {
24
- const entry = new ValidationRuleEntry(rule, trigger(this.#ruleUpdated));
25
- this.#rules.update(rules => {
26
- add(rules, entry);
47
+ #notify = () => {
48
+ if (this.#notified || this.#trigger === "never" || (this.#trigger === "if-invalid" && !this.#invalid())) {
49
+ return;
50
+ }
51
+ this.#notified = true;
52
+ queueMicrotask(() => {
53
+ if (this.#notified) {
54
+ this.#queue.sideEffect(abortSignal => this.#validate(abortSignal, true));
55
+ }
27
56
  });
57
+ };
58
+ #createRuleEntry(rule) {
59
+ const entry = new ValidationRuleEntry(rule, this.#notify);
28
60
  teardown(() => {
29
61
  this.#rules.update(rules => {
30
62
  const index = rules.indexOf(entry);
@@ -34,68 +66,54 @@ export class Validator {
34
66
  rules.splice(index, 1);
35
67
  });
36
68
  });
69
+ return entry;
37
70
  }
38
- #ruleUpdated = () => {
39
- const signalTrigger = this.#signalTrigger;
40
- if (signalTrigger === "never" || (signalTrigger === "if-invalid" && !this.#invalid.value)) {
41
- return;
42
- }
43
- this.triggerValidation();
44
- };
45
- prependRule(rule) {
46
- this.#addRule(rule, (rules, entry) => rules.unshift(entry));
47
- }
48
- appendRule(rule) {
49
- this.#addRule(rule, (rules, entry) => rules.push(entry));
50
- }
51
- attach(target) {
52
- VALIDATORS.set(target, this);
53
- }
54
- async #validate(sideEffect, signal) {
55
- const rules = untrack(() => this.#rules.value);
56
- for (let i = 0; i < rules.length; i++) {
57
- if (signal?.aborted) {
58
- return false;
59
- }
60
- const { validate, visible, alert, updated } = rules[i];
61
- const valid = await updated(() => validate(signal));
71
+ #validate = async (abortSignal, sideEffect) => {
72
+ this.#notified = false;
73
+ let valid = true;
74
+ for (const rule of untrack(() => this.#rules.value)) {
62
75
  if (valid) {
63
- visible.value = false;
76
+ valid = await rule.validate(abortSignal, sideEffect);
64
77
  }
65
78
  else {
66
- const wasVisible = visible.value;
67
- visible.value = true;
68
- for (let r = i + 1; r < rules.length; r++) {
69
- rules[r].visible.value = false;
70
- }
71
- this.#invalid.value = true;
72
- if (wasVisible && !sideEffect) {
73
- alert.emit();
74
- }
75
- return false;
79
+ rule.reset();
76
80
  }
77
81
  }
78
- this.#invalid.value = false;
79
- return true;
82
+ return valid;
83
+ };
84
+ validate(abortSignal) {
85
+ return this.#queue.block(() => this.#validate(abortSignal, false));
80
86
  }
81
- async validate(signal) {
82
- return this.#queue.block(() => this.#validate(false, signal));
87
+ #invalid = () => {
88
+ return this.#rules.value.some(r => r.messages.length > 0);
89
+ };
90
+ invalid = memo(this.#invalid);
91
+ messageIds = memo(() => {
92
+ return this.#rules.value.flatMap(r => r.messages).map(uniqueIdFor).join(" ");
93
+ });
94
+ get rules() {
95
+ return this.#rules.value;
83
96
  }
84
- triggerValidation() {
85
- this.#queue.sideEffect(signal => this.#validate(true, signal));
97
+ appendRule(rule) {
98
+ const entry = this.#createRuleEntry(rule);
99
+ this.#rules.update(rules => {
100
+ rules.push(entry);
101
+ });
86
102
  }
87
- reset() {
88
- this.#invalid.value = false;
89
- const rules = untrack(() => this.#rules.value);
90
- for (let i = 0; i < rules.length; i++) {
91
- rules[i].visible.value = false;
92
- }
103
+ prependRule(rule) {
104
+ const entry = this.#createRuleEntry(rule);
105
+ this.#rules.update(rules => {
106
+ rules.unshift(entry);
107
+ });
108
+ }
109
+ attach(target) {
110
+ VALIDATORS.set(target, this);
93
111
  }
94
- static attach(target) {
95
- let validator = VALIDATORS.get(target);
112
+ static get(target) {
113
+ let validator = closestValidator(target);
96
114
  if (!validator) {
97
115
  validator = new Validator();
98
- VALIDATORS.set(target, validator);
116
+ validator.attach(target.root);
99
117
  }
100
118
  return validator;
101
119
  }
@@ -103,48 +121,52 @@ export class Validator {
103
121
  export function validatorFor(target) {
104
122
  return VALIDATORS.get(target);
105
123
  }
106
- export class ValidationRuleEntry {
107
- id = uniqueId();
108
- visible = $(false);
109
- alert = new Emitter();
110
- message;
111
- validate;
112
- updated;
113
- constructor(rule, updated) {
114
- this.message = rule.message;
115
- this.validate = rule.validate.bind(rule);
116
- this.updated = updated;
124
+ export function closestValidator(target) {
125
+ while (target) {
126
+ const validator = VALIDATORS.get(target);
127
+ if (validator) {
128
+ return validator;
129
+ }
130
+ target = target.source;
117
131
  }
118
132
  }
119
- export function rule(target, validate, message) {
120
- Validator.attach(target).prependRule({
121
- validate(signal) {
122
- return validate(target.value, signal);
123
- },
124
- message,
125
- });
126
- return target;
127
- }
128
- export async function validate(...targets) {
133
+ export async function validate(targets, abortSignal) {
129
134
  const tasks = [];
130
- for (const target of targets) {
131
- const validator = validatorFor(target);
135
+ for (let i = 0; i < targets.length; i++) {
136
+ const validator = validatorFor(targets[i]);
132
137
  if (validator === undefined) {
133
- throw new Error("target has no attached validator.");
138
+ throw new Error(`targets[${i}] has no attached validator.`);
134
139
  }
135
- tasks.push(validator.validate());
140
+ tasks.push(validator.validate(abortSignal));
136
141
  }
137
142
  return !(await Promise.all(tasks)).includes(false);
138
143
  }
139
144
  export function ValidationMessage(props) {
140
145
  const theme = THEME.current;
141
- return _jsx(Collapse, { visible: map(props.visible, v => v ?? true), alert: props.alert, class: [
142
- props.class,
143
- theme?.validation_message_container,
144
- ], style: props.style, id: props.id, children: _jsx("div", { class: theme?.validation_message, children: _jsx(Text, { children: props.children }) }) });
146
+ return _jsx(Text, { class: theme?.validation_message, children: props.children });
145
147
  }
146
148
  export function ValidationMessages(props) {
147
- const validator = Validator.attach(props.for);
148
- return _jsx(For, { each: validator.rules, children: rule => _jsx(ValidationMessage, { visible: rule.visible, alert: rule.alert.event, id: rule.id, children: rule.message }) });
149
+ const validator = props.for instanceof Validator
150
+ ? props.for
151
+ : closestValidator(props.for);
152
+ if (!validator) {
153
+ throw new Error("props.for is or has no attached validator.");
154
+ }
155
+ return _jsx(CollapseFor, { each: function* () {
156
+ for (const rule of validator.rules) {
157
+ for (const message of rule.messages) {
158
+ let alert = ALERTS.get(message);
159
+ if (!alert) {
160
+ alert = new Emitter();
161
+ ALERTS.set(message, alert);
162
+ }
163
+ yield {
164
+ value: message,
165
+ id: uniqueIdFor(message),
166
+ alert: alert.event,
167
+ };
168
+ }
169
+ }
170
+ }, children: message => _jsx(ValidationMessage, { children: message() }) });
149
171
  }
150
172
  //# sourceMappingURL=validation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/components/validation.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/components/validation.tsx"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,9 +1,6 @@
1
1
  export * from "./common/coupling.js";
2
- export * from "./common/debounce.js";
3
2
  export * from "./common/events.js";
4
- export * from "./common/parsers.js";
5
3
  export * from "./common/theme.js";
6
- export * from "./common/trim.js";
7
4
  export * from "./common/types.js";
8
5
  export * from "./common/writing-mode.js";
9
6
  export * from "./components/button.js";
@@ -28,7 +25,9 @@ export * from "./components/radio-buttons.js";
28
25
  export * from "./components/row.js";
29
26
  export * from "./components/scroll-view.js";
30
27
  export * from "./components/slider.js";
28
+ export * from "./components/tabs.js";
31
29
  export * from "./components/text-input.js";
32
30
  export * from "./components/text.js";
31
+ export * from "./components/validation-rules.js";
33
32
  export * from "./components/validation.js";
34
33
  export * from "./components/value.js";
package/dist/index.js CHANGED
@@ -1,9 +1,6 @@
1
1
  export * from "./common/coupling.js";
2
- export * from "./common/debounce.js";
3
2
  export * from "./common/events.js";
4
- export * from "./common/parsers.js";
5
3
  export * from "./common/theme.js";
6
- export * from "./common/trim.js";
7
4
  export * from "./common/types.js";
8
5
  export * from "./common/writing-mode.js";
9
6
  export * from "./components/button.js";
@@ -28,8 +25,10 @@ export * from "./components/radio-buttons.js";
28
25
  export * from "./components/row.js";
29
26
  export * from "./components/scroll-view.js";
30
27
  export * from "./components/slider.js";
28
+ export * from "./components/tabs.js";
31
29
  export * from "./components/text-input.js";
32
30
  export * from "./components/text.js";
31
+ export * from "./components/validation-rules.js";
33
32
  export * from "./components/validation.js";
34
33
  export * from "./components/value.js";
35
34
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC"}
@@ -23,6 +23,8 @@
23
23
  --control-pad-inline-start: 0.7142857143rem;
24
24
  --control-pad-block-end: 0.5714285714rem;
25
25
  --control-pad-inline-end: 0.7142857143rem;
26
+ --input-padding: 0.2857142857rem;
27
+ --separator: 0.0714285714rem;
26
28
  --focus-outline-offset: 0.1428571429rem;
27
29
  --overflow-safe-area: 0.2857142857rem;
28
30
  --line-gap: 0.4285714286rem;
@@ -37,6 +39,7 @@
37
39
  --bg: rgb(36, 36, 36);
38
40
  --fg: white;
39
41
  --focus-outline: var(--control-border) dashed var(--accent);
42
+ --separator-color: rgb(64, 64, 64);
40
43
  color-scheme: dark;
41
44
  }
42
45
  }
@@ -237,6 +240,8 @@ body {
237
240
  .card {
238
241
  box-shadow: var(--content-shadow);
239
242
  border-radius: var(--content-radius);
243
+ }
244
+ .card:not(.card_raw) {
240
245
  padding-block: calc(var(--content-pad-block-start) - var(--content-border)) calc(var(--content-pad-block-end) - var(--content-border));
241
246
  padding-inline: calc(var(--content-pad-inline-start) - var(--content-border)) calc(var(--content-pad-inline-end) - var(--content-border));
242
247
  }
@@ -277,6 +282,11 @@ body {
277
282
  outline-offset: var(--focus-outline-offset);
278
283
  }
279
284
 
285
+ .checkbox_padding {
286
+ padding: var(--input-padding);
287
+ margin: calc(var(--input-padding) * -1);
288
+ }
289
+
280
290
  .checkbox_input {
281
291
  margin: 0;
282
292
  outline: none;
@@ -366,6 +376,10 @@ body {
366
376
  .column_content > * {
367
377
  --parent-row-gap: var(--content-row-gap);
368
378
  }
379
+ .column_content.column_padded {
380
+ padding-block: calc(var(--content-pad-block-start) - var(--content-border)) calc(var(--content-pad-block-end) - var(--content-border));
381
+ padding-inline: calc(var(--content-pad-inline-start) - var(--content-border)) calc(var(--content-pad-inline-end) - var(--content-border));
382
+ }
369
383
 
370
384
  .column_control {
371
385
  row-gap: var(--control-row-gap);
@@ -373,6 +387,10 @@ body {
373
387
  .column_control > * {
374
388
  --parent-row-gap: var(--control-row-gap);
375
389
  }
390
+ .column_control.column_padded {
391
+ padding-block: calc(var(--control-pad-block-start) - var(--content-border)) calc(var(--control-pad-block-end) - var(--content-border));
392
+ padding-inline: calc(var(--control-pad-inline-start) - var(--content-border)) calc(var(--control-pad-inline-end) - var(--content-border));
393
+ }
376
394
 
377
395
  .control_group {
378
396
  display: flex;
@@ -728,6 +746,11 @@ h6.heading {
728
746
  filter: var(--control-disabled);
729
747
  }
730
748
 
749
+ .radio_button_padding {
750
+ padding: var(--input-padding);
751
+ margin: calc(var(--input-padding) * -1);
752
+ }
753
+
731
754
  .radio_button_input {
732
755
  margin: 0;
733
756
  outline: none;
@@ -813,11 +836,63 @@ h6.heading {
813
836
  }
814
837
  .slider_host > input {
815
838
  outline: none;
839
+ cursor: grab;
816
840
  }
817
841
  .slider_host > input:focus-visible {
818
842
  outline: var(--focus-outline);
819
843
  }
820
844
 
845
+ @media (prefers-color-scheme: dark) {
846
+ :root {
847
+ --tab-handle-marker: rgb(150, 150, 150);
848
+ --tab-handle-bg: rgb(64, 64, 64);
849
+ --tab-handle-bg-active: rgb(72, 72, 72);
850
+ --tab-handle-fg: rgb(172, 172, 172);
851
+ --tab-handle-fg-active: var(--fg);
852
+ --tab-handle-fg-current: var(--fg);
853
+ color-scheme: dark;
854
+ }
855
+ }
856
+ .tab_list {
857
+ display: flex;
858
+ flex-direction: row;
859
+ border-bottom: var(--separator) solid var(--separator-color);
860
+ }
861
+
862
+ .tab_handle {
863
+ font-family: inherit;
864
+ font-size: inherit;
865
+ font-weight: 600;
866
+ line-height: 1;
867
+ cursor: pointer;
868
+ outline: none;
869
+ padding-block: var(--control-pad-block-start) calc(var(--control-pad-block-end) - var(--control-border));
870
+ padding-inline: var(--control-pad-inline-start) var(--control-pad-inline-end);
871
+ background-color: transparent;
872
+ color: var(--tab-handle-fg);
873
+ border: none;
874
+ border-block-end: transparent solid var(--control-border);
875
+ border-radius: var(--control-radius) var(--control-radius) 0 0;
876
+ transition: var(--color-transition) background-color, var(--color-transition) border-color;
877
+ }
878
+ .tab_handle:hover, .tab_handle:focus-visible {
879
+ color: var(--tab-handle-fg-active);
880
+ background-color: var(--tab-handle-bg-active);
881
+ }
882
+ .tab_handle:active {
883
+ background-color: var(--tab-handle-bg);
884
+ }
885
+
886
+ .tab_handle_current {
887
+ border-block-end-color: var(--tab-handle-marker);
888
+ color: var(--tab-handle-fg-current);
889
+ }
890
+
891
+ .tab_panel_padded {
892
+ padding-block: calc(var(--content-pad-block-start) - var(--content-border)) calc(var(--content-pad-block-end) - var(--content-border));
893
+ padding-inline: calc(var(--content-pad-inline-start) - var(--content-border)) calc(var(--content-pad-inline-end) - var(--content-border));
894
+ }
895
+
821
896
  @media (prefers-color-scheme: dark) {
822
897
  :root {
823
898
  --text-input-bg: rgb(16, 16, 16);
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../src/theme/base.scss","../src/theme/common.scss","../src/theme/components/button.scss","../src/theme/components/card.scss","../src/theme/components/checkbox.scss","../src/theme/components/collapse.scss","../src/theme/components/column.scss","../src/theme/components/control-group.scss","../src/theme/components/dialog.scss","../src/theme/components/dropdown.scss","../src/theme/components/flex-space.scss","../src/theme/components/heading.scss","../src/theme/components/label.scss","../src/theme/components/link.scss","../src/theme/components/nav-list.scss","../src/theme/components/page.scss","../src/theme/components/popover.scss","../src/theme/components/radio-buttons.scss","../src/theme/components/row.scss","../src/theme/components/scroll-view.scss","../src/theme/components/slider.scss","../src/theme/components/text-input.scss","../src/theme/components/text.scss","../src/theme/components/validation.scss","../src/theme/components/value.scss"],"names":[],"mappings":"AASA;EACC;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;EACA;ECOA;EACA;EACA;EACA;EDPA;EACA;EACA;EACA;EACA;EACA;ECDA;EACA;EACA;EACA;EDCA;EAEA;EAEA;EACA;EAEA;EACA;EAEA;;;AC7BC;EAFD;IANE;IAAA;IAAA;IAUA;;;AD0CH;EACC;EACA;EAEA;;AACA;EALD;IAME;;;;AAIF;EACC;EACA;EACA;EACA;;;AAGD;EACC;;;AC9DC;EAFD;IANE;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAUA;;;ACgFH;EACC;EACA;EACA;EACA;EAEA;EAEA;EDnEC,eACC;EAED,gBACC;ECkEF;EACA;;AAGA;EACC;;AAGD;EACC;EACA;;;AAKD;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAdF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAdF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAdF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAdF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAdF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAdF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAKH;EACC;;;ADhIC;EAFD;IANE;IAAA;IAAA;IAAA;IAAA;IAUA;;;AEKH;EACC;EACA;EFcC,eACC;EAED,gBACC;;;AEbF;EACC;;;AADD;EACC;;;AADD;EACC;;;AADD;EACC;;;AADD;EACC;;;AC3BF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;EACA;;;AAIF;EACC;EACA;EACA;;;ACtBD;EACC;EACA;EACA;;;AAGD;EACC,YACC;;;AAIF;EACC;IAAO;;EACP;IAAM;;EACN;IAAM;;EACN;IAAK;;;AAGN;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;;AAEA;EACC,YACC;;AAIF;EACC;EACA;;;AAIF;EACC;EACA;EACA;EACA;;AAEA;EACC,YACC;;AAKF;EACC;EACA;EACA;;;AC5DF;EACC;EACA;;AAEA;EACC;;AAMD;EACC;;AAGD;EACC;;AAMD;EACC;;;AAKD;EACC;;AACA;EACC;;;AAHF;EACC;;AACA;EACC;;;AC/BH;EACC;EACA;EAEA;;AACA;EACC;;AAGD;EACC;EACA;;AAED;EACC;EACA;;;ANHA;EAFD;IANE;IAAA;IAAA;IAAA;IAUA;;;AOEH;EACC;EACA;EAEA;EAEA;EACA;EACA;EAEA;EAEA;EACA;;;AAGD;EACC;;AACA;EACC;;;AAIF;EACC;EACA;;AACA;EACC;;;AAIF;EACC;IACC;;;AAIF;EACC;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;EP5BC,eACC;EAED,gBACC;;;AO4BH;EACC;;;APxDC;EAFD;IANE;IAAA;IAAA;IAAA;IAUA;;;AQEH;EACC;EACA;;AAEA;EACC;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;EACC;ERPC,eACC;EAED,gBACC;;AQMF;EACC;;;AC9CF;EACC;EACA;EACA;;;ACHD;EACC;EACA;;AAEA;EAEC;EACA;EACA;EACA;;;AAIF;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;AAAA;AAAA;EAGC;EACA;EACA;;;AVxBC;EAFD;IANE;IAUA;;;AWPH;EACC;EACA;EAEA;EACA;EACA;;AAEA;EAEC;EACA;EACA;EACA;;;AXRA;EAFD;IANE;IAUA;;;AYPH;EACC;EACA;EAEA;EACA;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;;AZTA;EAFD;IANE;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAUA;;;AaiBH;EACC;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EAEA;EAEA;EbhBC,eACC;EAED,gBACC;EaeF;EACA;;AAGA;EACC;EACA;;AAGD;EAEC;EACA;;AAGD;EACC;EACA;;;AAIF;EACC;EACA;EACA;EACA;;;AC/ED;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;;;AdPC;EAFD;IANE;IAAA;IAAA;IAUA;;;AeDH;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EAEA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EfnBC,eACC;EAED,gBACC;;;AgBvCH;EACC;EACA;EACA;;AAEA;EACC;EACA;;;AAIF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;;AAIF;EACC;EACA;EACA;;;AC5BD;EACC;EACA;EACA;;;AAIA;EACC;EACA;;AACA;EACC;EACA;;;AALF;EACC;EACA;;AACA;EACC;EACA;;;AjBAD;EAFD;IANE;IAAA;IAUA;;;AkBJH;EACC;EACA;EACA;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;AAAA;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AChDD;EACC;EACA;EACA;;AAEA;EACC;;AAEA;EACC;;;AnBGD;EAFD;IANE;IAAA;IAAA;IAAA;IAUA;;;AoBEH;EACC;EACA;EACA;EAEA;EAEA;EpBmBC,eACC;EAED,gBACC;EoBrBF;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAGD;EACC;EACA;;;AAIF;EACC;;;AC1CD;EACC;;AAEA;EAEC;EACA;EACA;EACA;;;ArBIA;EAFD;IANE;IAUA;;;AsBPH;EACC;;;AAGD;EACC;;;ACZD;EACC","file":"theme.module.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../src/theme/base.scss","../src/theme/common.scss","../src/theme/components/button.scss","../src/theme/components/card.scss","../src/theme/components/checkbox.scss","../src/theme/components/collapse.scss","../src/theme/components/column.scss","../src/theme/components/control-group.scss","../src/theme/components/dialog.scss","../src/theme/components/dropdown.scss","../src/theme/components/flex-space.scss","../src/theme/components/heading.scss","../src/theme/components/label.scss","../src/theme/components/link.scss","../src/theme/components/nav-list.scss","../src/theme/components/page.scss","../src/theme/components/popover.scss","../src/theme/components/radio-buttons.scss","../src/theme/components/row.scss","../src/theme/components/scroll-view.scss","../src/theme/components/slider.scss","../src/theme/components/tabs.scss","../src/theme/components/text-input.scss","../src/theme/components/text.scss","../src/theme/components/validation.scss","../src/theme/components/value.scss"],"names":[],"mappings":"AASA;EACC;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;EACA;ECOA;EACA;EACA;EACA;EDPA;EACA;EACA;EACA;EACA;EACA;ECDA;EACA;EACA;EACA;EDCA;EAEA;EAEA;EAEA;EAEA;EACA;EAEA;EACA;EAEA;;;ACjCC;EAFD;IANE;IAAA;IAAA;IAAA;IAUA;;;ADiDH;EACC;EACA;EAEA;;AACA;EALD;IAME;;;;AAIF;EACC;EACA;EACA;EACA;;;AAGD;EACC;;;ACrEC;EAFD;IANE;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAUA;;;ACgFH;EACC;EACA;EACA;EACA;EAEA;EAEA;EDnEC,eACC;EAED,gBACC;ECkEF;EACA;;AAGA;EACC;;AAGD;EACC;EACA;;;AAKD;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAdF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAdF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAdF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAdF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAdF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAdF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAKH;EACC;;;ADhIC;EAFD;IANE;IAAA;IAAA;IAAA;IAAA;IAUA;;;AEKH;EACC;EACA;;AAEA;EFYC,eACC;EAED,gBACC;;;AEVF;EACC;;;AADD;EACC;;;AADD;EACC;;;AADD;EACC;;;AADD;EACC;;;AC9BF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;EACA;;;AAIF;EACC;EACA;;;AAGD;EACC;EACA;EACA;;;AC3BD;EACC;EACA;EACA;;;AAGD;EACC,YACC;;;AAIF;EACC;IAAO;;EACP;IAAM;;EACN;IAAM;;EACN;IAAK;;;AAGN;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;;AAEA;EACC,YACC;;AAIF;EACC;EACA;;;AAIF;EACC;EACA;EACA;EACA;;AAEA;EACC,YACC;;AAKF;EACC;EACA;EACA;;;AC3DF;EACC;EACA;;AAEA;EACC;;AAMD;EACC;;AAGD;EACC;;AAMD;EACC;;;AAKD;EACC;;AACA;EACC;;AAGD;ELAA,eACC;EAED,gBACC;;;AKVF;EACC;;AACA;EACC;;AAGD;ELAA,eACC;EAED,gBACC;;;AMvCH;EACC;EACA;EAEA;;AACA;EACC;;AAGD;EACC;EACA;;AAED;EACC;EACA;;;ANHA;EAFD;IANE;IAAA;IAAA;IAAA;IAUA;;;AOEH;EACC;EACA;EAEA;EAEA;EACA;EACA;EAEA;EAEA;EACA;;;AAGD;EACC;;AACA;EACC;;;AAIF;EACC;EACA;;AACA;EACC;;;AAIF;EACC;IACC;;;AAIF;EACC;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;EP5BC,eACC;EAED,gBACC;;;AO4BH;EACC;;;APxDC;EAFD;IANE;IAAA;IAAA;IAAA;IAUA;;;AQEH;EACC;EACA;;AAEA;EACC;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;EACC;ERPC,eACC;EAED,gBACC;;AQMF;EACC;;;AC9CF;EACC;EACA;EACA;;;ACHD;EACC;EACA;;AAEA;EAEC;EACA;EACA;EACA;;;AAIF;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;AAAA;AAAA;EAGC;EACA;EACA;;;AVxBC;EAFD;IANE;IAUA;;;AWPH;EACC;EACA;EAEA;EACA;EACA;;AAEA;EAEC;EACA;EACA;EACA;;;AXRA;EAFD;IANE;IAUA;;;AYPH;EACC;EACA;EAEA;EACA;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;;AZTA;EAFD;IANE;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAUA;;;AaiBH;EACC;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EAEA;EAEA;EbhBC,eACC;EAED,gBACC;EaeF;EACA;;AAGA;EACC;EACA;;AAGD;EAEC;EACA;;AAGD;EACC;EACA;;;AAIF;EACC;EACA;EACA;EACA;;;AC/ED;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;;;AdPC;EAFD;IANE;IAAA;IAAA;IAUA;;;AeDH;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EAEA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EfnBC,eACC;EAED,gBACC;;;AgBvCH;EACC;EACA;EACA;;AAEA;EACC;EACA;;;AAIF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;;AAIF;EACC;EACA;;;AAGD;EACC;EACA;EACA;;;ACjCD;EACC;EACA;EACA;;;AAIA;EACC;EACA;;AACA;EACC;EACA;;;AALF;EACC;EACA;;AACA;EACC;EACA;;;AjBAD;EAFD;IANE;IAAA;IAUA;;;AkBJH;EACC;EACA;EACA;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;AAAA;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AChDD;EACC;EACA;EACA;;AAEA;EACC;EACA;;AAEA;EACC;;;AnBED;EAFD;IANE;IAAA;IAAA;IAAA;IAAA;IAAA;IAUA;;;AoBQH;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EAEA;EACA;EAEA,eACC;EAED,gBACC;EAGD;EACA;EACA;EACA;EAEA;EACA;;AAGA;EAEC;EACA;;AAED;EACC;;;AAIF;EACC;EACA;;;AAGD;EpBjCE,eACC;EAED,gBACC;;;AA3BD;EAFD;IANE;IAAA;IAAA;IAAA;IAUA;;;AqBEH;EACC;EACA;EACA;EAEA;EAEA;ErBmBC,eACC;EAED,gBACC;EqBrBF;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAGD;EACC;EACA;;;AAIF;EACC;;;AC1CD;EACC;;AAEA;EAEC;EACA;EACA;EACA;;;AtBIA;EAFD;IANE;IAUA;;;AuBPH;EACC;;;AAGD;EACC;;;ACZD;EACC","file":"theme.module.css"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rvx/ui",
3
- "description": "Rvx based complete UI component library",
3
+ "description": "Rvx based UI component library",
4
4
  "homepage": "https://github.com/mxjp/rvx-ui",
5
5
  "repository": {
6
6
  "type": "git",
@@ -12,7 +12,7 @@
12
12
  "rvx"
13
13
  ],
14
14
  "license": "MIT",
15
- "version": "0.1.13",
15
+ "version": "0.1.14",
16
16
  "type": "module",
17
17
  "main": "./dist/index.js",
18
18
  "sideEffects": false,
@@ -28,6 +28,6 @@
28
28
  "./dist/": "./dist/"
29
29
  },
30
30
  "dependencies": {
31
- "rvx": "^19.5.1"
31
+ "rvx": "^22.0.0"
32
32
  }
33
33
  }
@@ -33,6 +33,7 @@ export interface Theme {
33
33
  button_text?: string;
34
34
 
35
35
  card?: string;
36
+ card_raw?: string;
36
37
  card_content?: string;
37
38
  card_default?: string;
38
39
  card_info?: string;
@@ -41,6 +42,7 @@ export interface Theme {
41
42
  card_danger?: string;
42
43
 
43
44
  checkbox_label?: string;
45
+ checkbox_padding?: string;
44
46
  checkbox_input?: string;
45
47
  checkbox_content?: string;
46
48
 
@@ -52,6 +54,7 @@ export interface Theme {
52
54
  collapse_content?: string;
53
55
 
54
56
  column?: string;
57
+ column_padded?: string;
55
58
  column_content?: string;
56
59
  column_control?: string;
57
60
 
@@ -95,6 +98,7 @@ export interface Theme {
95
98
 
96
99
  radio_buttons?: string;
97
100
  radio_button_label?: string;
101
+ radio_button_padding?: string;
98
102
  radio_button_input?: string;
99
103
  radio_button_content?: string;
100
104
 
@@ -111,6 +115,13 @@ export interface Theme {
111
115
 
112
116
  slider_host?: string;
113
117
 
118
+ tab_handle?: string;
119
+ tab_handle_current?: string;
120
+ tab_list?: string;
121
+ tab_list_padded?: string;
122
+ tab_panel?: string;
123
+ tab_panel_padded?: string;
124
+
114
125
  text_input?: string;
115
126
 
116
127
  text?: string;
@@ -1,5 +1,6 @@
1
- import { ClassValue, Expression, get, optionalString, StyleValue } from "rvx";
1
+ import { ClassValue, Expression, get, StyleValue } from "rvx";
2
2
  import { isPending } from "rvx/async";
3
+ import { optionalString } from "rvx/convert";
3
4
  import { Action, handleActionEvent, keyFor } from "../common/events.js";
4
5
  import { THEME } from "../common/theme.js";
5
6
  import { Validator } from "./validation.js";
@@ -77,7 +78,7 @@ export function Button(props: {
77
78
  aria-haspopup={props["aria-haspopup"]}
78
79
  aria-controls={props["aria-controls"]}
79
80
  aria-invalid={props.validator ? optionalString(props.validator.invalid) : undefined}
80
- aria-errormessage={props.validator ? props.validator.errorMessageIds : undefined}
81
+ aria-errormessage={props.validator ? props.validator.messageIds : undefined}
81
82
  autofocus={props.autofocus}
82
83
 
83
84
  on:click={action}
@@ -1,4 +1,4 @@
1
- import { Expression, get } from "rvx";
1
+ import { Expression, map } from "rvx";
2
2
  import { THEME } from "../common/theme.js";
3
3
  import { Column } from "./column.js";
4
4
 
@@ -6,17 +6,22 @@ export type CardVariant = "default" | "info" | "success" | "warning" | "danger";
6
6
 
7
7
  export function Card(props: {
8
8
  variant?: Expression<CardVariant | undefined>;
9
+ raw?: boolean;
9
10
  children?: unknown;
10
11
  }): unknown {
11
12
  const theme = THEME.current;
12
13
  return <div
13
14
  class={[
14
15
  theme?.card,
15
- () => theme?.[`card_${get(props.variant) ?? "default"}`],
16
+ map(props.variant, variant => theme?.[`card_${variant ?? "default"}`]),
17
+ map(props.raw, unpadded => unpadded ? theme?.card_raw : undefined),
16
18
  ]}
17
19
  >
18
- <Column class={theme?.card_content}>
19
- {props.children}
20
- </Column>
20
+ {props.raw
21
+ ? props.children
22
+ : <Column class={theme?.card_content}>
23
+ {props.children}
24
+ </Column>
25
+ }
21
26
  </div>;
22
27
  }