@plastic-js/tsumiki 0.1.53 → 0.1.55

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.
@@ -129,13 +129,13 @@ var read = (v) => typeof v === "function" ? v() : v;
129
129
  var Button = (props = {}) => {
130
130
  const [local, rest] = splitProps(mergeProps$1({
131
131
  intent: "default",
132
- solid: false,
132
+ variant: "outline",
133
133
  size: "md",
134
134
  disabled: false,
135
135
  loading: false
136
136
  }, props), [
137
137
  "intent",
138
- "solid",
138
+ "variant",
139
139
  "size",
140
140
  "loading",
141
141
  "disabled",
@@ -151,11 +151,10 @@ var Button = (props = {}) => {
151
151
  },
152
152
  className: () => {
153
153
  const size = read(local.size);
154
- const solid = read(local.solid);
154
+ const variant = read(local.variant) === "solid" ? "solid" : "outline";
155
155
  const loading = read(local.loading);
156
- const variant = solid ? "solid" : "outline";
157
156
  let intent = read(local.intent);
158
- if (intent === "neutral" && solid) intent = "default";
157
+ if (intent === "neutral" && variant === "solid") intent = "default";
159
158
  return [
160
159
  baseClass,
161
160
  sizeClasses[size],
@@ -167,7 +166,7 @@ var Button = (props = {}) => {
167
166
  },
168
167
  children: [() => local.children, () => {
169
168
  if (!read(local.loading)) return null;
170
- const solid = read(local.solid);
169
+ const variant = read(local.variant) === "solid" ? "solid" : "outline";
171
170
  const size = read(local.size);
172
171
  const spinnerSizeMap = {
173
172
  xs: 14,
@@ -186,7 +185,7 @@ var Button = (props = {}) => {
186
185
  return spinnerSizeMap[size];
187
186
  },
188
187
  strokeWidth: 3,
189
- color: solid ? "var(--_btn-solid)" : "var(--_btn-border)"
188
+ color: variant === "solid" ? "var(--_btn-solid)" : "var(--_btn-border)"
190
189
  })));
191
190
  setProp(_el2, "className", () => loadingSpinnerClass);
192
191
  setProp(_el0, "className", () => loadingOverlayClass);
@@ -247,7 +247,7 @@ var Dialog$1 = (props) => {
247
247
  },
248
248
  onClick: handleConfirm,
249
249
  size: "xl",
250
- solid: true,
250
+ variant: "solid",
251
251
  type: "button",
252
252
  children: () => local.confirmText
253
253
  })), _el2);
@@ -79,8 +79,8 @@ var FilterGroup = (props = {}) => {
79
79
  get size() {
80
80
  return local.size;
81
81
  },
82
- get solid() {
83
- return allActive();
82
+ get variant() {
83
+ return allActive() ? "solid" : "outline";
84
84
  },
85
85
  className: buttonClassNames,
86
86
  onClick: handleAllClick,
@@ -142,13 +142,13 @@ var read = (v) => typeof v === "function" ? v() : v;
142
142
  var Input = (props = {}) => {
143
143
  const [local, rest] = splitProps(mergeProps$2({
144
144
  intent: "default",
145
- solid: false,
145
+ variant: "outline",
146
146
  size: "md",
147
147
  disabled: false,
148
148
  invalid: false
149
149
  }, props), [
150
150
  "intent",
151
- "solid",
151
+ "variant",
152
152
  "size",
153
153
  "disabled",
154
154
  "invalid",
@@ -169,13 +169,13 @@ var Input = (props = {}) => {
169
169
  const effectiveInvalid = () => read(local.invalid) || fieldInvalid();
170
170
  const effectiveDisabled = () => read(local.disabled) || fieldDisabled();
171
171
  const wrapperClassName = () => {
172
- const solid = read(local.solid);
172
+ const variant = read(local.variant) === "solid" ? "solid" : "outline";
173
173
  let intent = read(local.intent);
174
- if (intent === "neutral" && solid) intent = "default";
174
+ if (intent === "neutral" && variant === "solid") intent = "default";
175
175
  return [
176
176
  wrapperClass,
177
177
  sizeClasses[read(local.size)],
178
- solid ? variantClasses.solid : variantClasses.outline,
178
+ variant === "solid" ? variantClasses.solid : variantClasses.outline,
179
179
  intentClasses[intent],
180
180
  effectiveInvalid() && errorClass,
181
181
  effectiveDisabled() && disabledClass,
@@ -87,25 +87,25 @@ var read = (v) => typeof v === "function" ? v() : v;
87
87
  var NumberInput$1 = (props = {}) => {
88
88
  const [local, rest] = splitProps(mergeProps$2({
89
89
  size: "md",
90
- solid: false,
90
+ variant: "outline",
91
91
  disabled: false
92
92
  }, props), [
93
93
  "size",
94
- "solid",
94
+ "variant",
95
95
  "disabled",
96
96
  "className",
97
97
  "children"
98
98
  ]);
99
99
  return () => {
100
100
  const size = read(local.size);
101
- const solid = read(local.solid);
101
+ const variant = read(local.variant) === "solid" ? "solid" : "outline";
102
102
  const disabled = read(local.disabled);
103
103
  return jsx(NumberInput.Root, mergeProps(rest, {
104
104
  disabled,
105
105
  get className() {
106
106
  return [
107
107
  rootBaseClass,
108
- variantClasses[solid ? "solid" : "outline"],
108
+ variantClasses[variant],
109
109
  sizeClasses[size],
110
110
  disabled && disabledClass,
111
111
  local.className
@@ -212,7 +212,7 @@ var read = (source) => {
212
212
  var Select = (props) => {
213
213
  const [local, rest] = splitProps(mergeProps$1({
214
214
  size: "md",
215
- solid: false,
215
+ variant: "outline",
216
216
  intent: "default"
217
217
  }, props), [
218
218
  "value",
@@ -228,7 +228,7 @@ var Select = (props) => {
228
228
  "backdropClassName",
229
229
  "backdropStyle",
230
230
  "filter",
231
- "solid",
231
+ "variant",
232
232
  "intent"
233
233
  ]);
234
234
  const open = (v) => {
@@ -282,10 +282,10 @@ var Select = (props) => {
282
282
  setValue,
283
283
  disabled: () => local.disabled ?? false,
284
284
  size: () => read(local.size),
285
- solid: () => read(local.solid),
285
+ variant: () => read(local.variant),
286
286
  intent: () => {
287
287
  const intent = read(local.intent);
288
- return intent === "neutral" && read(local.solid) ? "default" : intent;
288
+ return intent === "neutral" && read(local.variant) === "solid" ? "default" : intent;
289
289
  },
290
290
  backdropClassName: local.backdropClassName,
291
291
  backdropStyle: local.backdropStyle,
@@ -307,7 +307,7 @@ var SelectTrigger = (props) => {
307
307
  ]);
308
308
  return jsx("div", mergeProps(() => part("trigger"), {
309
309
  get className() {
310
- return `${triggerBaseClass} ${triggerVariants[ctx.solid() ? "solid" : "outline"]} ${intentClasses[ctx.intent()]} ${sizeClasses[ctx.size()] || ""} ${local.className || ""}`;
310
+ return `${triggerBaseClass} ${triggerVariants[ctx.variant() === "solid" ? "solid" : "outline"]} ${intentClasses[ctx.intent()]} ${sizeClasses[ctx.size()] || ""} ${local.className || ""}`;
311
311
  },
312
312
  "data-disabled": () => ctx.disabled() ? "" : void 0,
313
313
  onClick: () => {
@@ -69,7 +69,7 @@ var variantClasses = {
69
69
  }
70
70
  }),
71
71
  outline: css({
72
- border: "1px solid var(--tsu-accent-outline-border)",
72
+ border: "1px solid var(--_sel-border)",
73
73
  "&:active:not(:disabled)": {
74
74
  backgroundColor: "var(--tsu-pressed-accent)",
75
75
  borderColor: "var(--tsu-accent-solid-bg)"
@@ -80,6 +80,11 @@ var variantClasses = {
80
80
  }
81
81
  })
82
82
  };
83
+ var intentClasses = {
84
+ default: css({ "--_sel-border": "var(--tsu-accent-outline-border)" }),
85
+ neutral: css({ "--_sel-border": "var(--tsu-neutral-outline-border)" }),
86
+ danger: css({ "--_sel-border": "var(--tsu-danger-outline-border)" })
87
+ };
83
88
  var errorClass = css({
84
89
  borderColor: "var(--tsu-danger-outline-border) !important",
85
90
  "&:focus-visible": { borderColor: "var(--tsu-danger-outline-border) !important" }
@@ -164,13 +169,15 @@ var SelectItem = (props = {}) => {
164
169
  };
165
170
  var SelectPc = (props = {}) => {
166
171
  const [local, rest] = splitProps(mergeProps$2({
167
- solid: false,
172
+ variant: "outline",
173
+ intent: "default",
168
174
  size: "md",
169
175
  disabled: false,
170
176
  invalid: false,
171
177
  positioning: { sameWidth: true }
172
178
  }, props), [
173
- "solid",
179
+ "variant",
180
+ "intent",
174
181
  "size",
175
182
  "disabled",
176
183
  "invalid",
@@ -186,14 +193,20 @@ var SelectPc = (props = {}) => {
186
193
  itemToValue: local.itemToValue ?? ((item) => String(item?.value ?? item?.id ?? item)),
187
194
  itemToString: local.itemToString ?? ((item) => String(item?.label ?? item?.name ?? item))
188
195
  });
189
- const triggerClassName = () => [
190
- triggerBaseClass,
191
- sizeClasses[read(local.size)],
192
- read(local.solid) ? variantClasses.solid : variantClasses.outline,
193
- read(local.invalid) && errorClass,
194
- read(local.disabled) && disabledClass,
195
- read(local.className)
196
- ].filter(Boolean).join(" ");
196
+ const triggerClassName = () => {
197
+ const variant = read(local.variant) === "solid" ? "solid" : "outline";
198
+ let intent = read(local.intent);
199
+ if (intent === "neutral" && variant === "solid") intent = "default";
200
+ return [
201
+ triggerBaseClass,
202
+ sizeClasses[read(local.size)],
203
+ variant === "solid" ? variantClasses.solid : variantClasses.outline,
204
+ intentClasses[intent] ?? intentClasses.default,
205
+ read(local.invalid) && errorClass,
206
+ read(local.disabled) && disabledClass,
207
+ read(local.className)
208
+ ].filter(Boolean).join(" ");
209
+ };
197
210
  return jsx(Select.Root, mergeProps({
198
211
  disabled: () => read(local.disabled),
199
212
  collection
@@ -0,0 +1,170 @@
1
+ import { jsx, mergeProps, setProp, template } from "@plastic-js/plastic/jsx-runtime";
2
+ import { css } from "@emotion/css";
3
+ import { mergeProps as mergeProps$1, splitProps } from "@plastic-js/plastic";
4
+ import { ark } from "@plastic-js/ark/factory";
5
+ //#region src/components/Tag.jsx
6
+ var _tmpl = template("<button type=\"button\" data-part=\"close\" aria-label=\"Close\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" width=\"10\" height=\"10\" aria-hidden=\"true\"><path d=\"M18 6 6 18M6 6l12 12\"></path></svg></button>");
7
+ var baseClass = css({
8
+ display: "inline-flex",
9
+ alignItems: "center",
10
+ gap: "var(--tsu-spacing-xs)",
11
+ whiteSpace: "nowrap",
12
+ userSelect: "none",
13
+ borderRadius: "var(--tsu-radius-round)",
14
+ fontFamily: "inherit",
15
+ lineHeight: 1,
16
+ transition: "background-color var(--tsu-transition-fast), color var(--tsu-transition-fast), border-color var(--tsu-transition-fast)"
17
+ });
18
+ var solidClass = css({
19
+ backgroundColor: "var(--_tag-bg)",
20
+ color: "var(--_tag-solid-fg)",
21
+ border: "1px solid transparent"
22
+ });
23
+ var outlineClass = css({
24
+ backgroundColor: "transparent",
25
+ color: "var(--_tag-outline-fg)",
26
+ border: "1px solid var(--_tag-border)"
27
+ });
28
+ var intentClasses = {
29
+ neutral: css({
30
+ "--_tag-bg": "var(--tsu-neutral-solid-bg)",
31
+ "--_tag-solid-fg": "var(--tsu-neutral-solid-fg)",
32
+ "--_tag-outline-fg": "var(--tsu-text-primary)",
33
+ "--_tag-border": "var(--tsu-neutral-outline-border)"
34
+ }),
35
+ success: css({
36
+ "--_tag-bg": "var(--tsu-success-solid-bg)",
37
+ "--_tag-solid-fg": "var(--tsu-success-solid-fg)",
38
+ "--_tag-outline-fg": "var(--tsu-success-outline-fg)",
39
+ "--_tag-border": "var(--tsu-success-outline-border)"
40
+ }),
41
+ warning: css({
42
+ "--_tag-bg": "var(--tsu-warning-solid-bg)",
43
+ "--_tag-solid-fg": "var(--tsu-warning-solid-fg)",
44
+ "--_tag-outline-fg": "var(--tsu-warning-outline-fg)",
45
+ "--_tag-border": "var(--tsu-warning-outline-border)"
46
+ }),
47
+ danger: css({
48
+ "--_tag-bg": "var(--tsu-danger-solid-bg)",
49
+ "--_tag-solid-fg": "var(--tsu-danger-solid-fg)",
50
+ "--_tag-outline-fg": "var(--tsu-danger-outline-fg)",
51
+ "--_tag-border": "var(--tsu-danger-outline-border)"
52
+ }),
53
+ accent: css({
54
+ "--_tag-bg": "var(--tsu-accent-solid-bg)",
55
+ "--_tag-solid-fg": "var(--tsu-accent-solid-fg)",
56
+ "--_tag-outline-fg": "var(--tsu-accent-outline-fg)",
57
+ "--_tag-border": "var(--tsu-accent-outline-border)"
58
+ })
59
+ };
60
+ var sizeClasses = {
61
+ xs: css({
62
+ height: "var(--tsu-comp-secondary-height-xs)",
63
+ minWidth: "calc(2 * var(--tsu-comp-secondary-height-xs))",
64
+ padding: "0 6px",
65
+ fontSize: "var(--tsu-comp-font-size-xs)"
66
+ }),
67
+ sm: css({
68
+ height: "var(--tsu-comp-secondary-height-sm)",
69
+ minWidth: "calc(2 * var(--tsu-comp-secondary-height-sm))",
70
+ padding: "0 8px",
71
+ fontSize: "11px"
72
+ }),
73
+ md: css({
74
+ height: "var(--tsu-comp-secondary-height-md)",
75
+ minWidth: "calc(2 * var(--tsu-comp-secondary-height-md))",
76
+ padding: "0 10px",
77
+ fontSize: "var(--tsu-comp-font-size-sm)"
78
+ }),
79
+ lg: css({
80
+ height: "var(--tsu-comp-secondary-height-lg)",
81
+ minWidth: "calc(2 * var(--tsu-comp-secondary-height-lg))",
82
+ padding: "0 12px",
83
+ fontSize: "13px"
84
+ }),
85
+ xl: css({
86
+ height: "var(--tsu-comp-secondary-height-xl)",
87
+ minWidth: "calc(2 * var(--tsu-comp-secondary-height-xl))",
88
+ padding: "0 14px",
89
+ fontSize: "var(--tsu-comp-font-size-md)"
90
+ }),
91
+ "2xl": css({
92
+ height: "var(--tsu-comp-secondary-height-xxl)",
93
+ minWidth: "calc(2 * var(--tsu-comp-secondary-height-xxl))",
94
+ padding: "0 18px",
95
+ fontSize: "var(--tsu-comp-font-size-lg)"
96
+ })
97
+ };
98
+ var closeClass = css({
99
+ display: "inline-flex",
100
+ alignItems: "center",
101
+ justifyContent: "center",
102
+ padding: 0,
103
+ margin: 0,
104
+ marginRight: "-2px",
105
+ border: "none",
106
+ background: "none",
107
+ color: "inherit",
108
+ cursor: "pointer",
109
+ borderRadius: "var(--tsu-radius-round)",
110
+ opacity: .6,
111
+ transition: "opacity var(--tsu-transition-fast)",
112
+ "& svg": {
113
+ display: "block",
114
+ flexShrink: 0
115
+ },
116
+ "@media (hover: hover)": { "&:hover": { opacity: 1 } },
117
+ "&:active": { opacity: 1 }
118
+ });
119
+ var intentMap = {
120
+ default: "neutral",
121
+ info: "accent"
122
+ };
123
+ var read = (v) => typeof v === "function" ? v() : v;
124
+ var variantClass = {
125
+ solid: solidClass,
126
+ outline: outlineClass
127
+ };
128
+ var Tag = (props = {}) => {
129
+ const [local, rest] = splitProps(mergeProps$1({
130
+ variant: "solid",
131
+ intent: "default",
132
+ size: "sm",
133
+ closable: false
134
+ }, props), [
135
+ "variant",
136
+ "intent",
137
+ "size",
138
+ "closable",
139
+ "onClose",
140
+ "className",
141
+ "children"
142
+ ]);
143
+ return jsx(ark.span, mergeProps(rest, {
144
+ "data-part": "root",
145
+ className: () => {
146
+ const variant = read(local.variant) === "outline" ? "outline" : "solid";
147
+ const intent = intentMap[read(local.intent)] || read(local.intent);
148
+ const size = read(local.size);
149
+ return [
150
+ baseClass,
151
+ variantClass[variant],
152
+ intentClasses[intent],
153
+ sizeClasses[size],
154
+ local.className
155
+ ].filter(Boolean).join(" ");
156
+ },
157
+ children: [() => local.children, () => read(local.closable) && (() => {
158
+ const _el0 = _tmpl.cloneNode(true);
159
+ setProp(_el0, "className", () => closeClass);
160
+ setProp(_el0, "onClick", (e) => {
161
+ e.stopPropagation();
162
+ local.onClose?.();
163
+ });
164
+ return _el0;
165
+ })()]
166
+ }));
167
+ };
168
+ Tag.origin = { Root: ark.span };
169
+ //#endregion
170
+ export { Tag as default };
package/dist/index.js CHANGED
@@ -49,6 +49,7 @@ import StickyHeader from "./components/StickyHeader.js";
49
49
  import SwipeReveal from "./components/SwipeReveal.js";
50
50
  import Switch from "./components/Switch.js";
51
51
  import Tabs from "./components/Tabs.js";
52
+ import Tag from "./components/Tag.js";
52
53
  import TagsInput from "./components/TagsInput.js";
53
54
  import Toast, { ToastCloseTrigger, ToastDescription, ToastIcon, ToastTitle, ToastToaster, createToaster } from "./components/Toast.js";
54
55
  import Toggle from "./components/Toggle.js";
@@ -56,4 +57,4 @@ import ToggleGroup, { ToggleGroupItem } from "./components/ToggleGroup.js";
56
57
  import FilterGroup from "./components/FilterGroup.js";
57
58
  import Tour, { TourCloseTrigger, TourContent } from "./components/Tour.js";
58
59
  import TreeView, { TreeViewBranch, TreeViewBranchContent, TreeViewBranchControl, TreeViewBranchTrigger, TreeViewItem } from "./components/TreeView.js";
59
- export { AccordionRoot as Accordion, AccordionContent, AccordionItem, AccordionTrigger, Avatar, AvatarFallback, AvatarImage, BackToTop, BottomNavigation, BottomNavigationItem, BottomSheet, Button, Card, CardNumberInput, Carousel_default as Carousel, CarouselAutoplayTrigger, CarouselControl, CarouselIndicator, CarouselIndicatorGroup, CarouselItem, CarouselItemGroup, CarouselNextTrigger, CarouselPrevTrigger, CarouselProgressText, Checkbox, ClearTrigger, Clipboard, CloseButton, Collapsible, CollapsibleContent, CollapsibleTrigger, ColorPicker, Root as Combobox, ComboboxContent, Input as ComboboxInput, ComboboxItem, ConfirmDialog, DatePicker, Dialog, Root$1 as Drawer, DrawerContent, DrawerTrigger, Field, Fieldset, FileUpload, FileUploadClearTrigger, FileUploadItem, FileUploadItemGroup, FilterGroup, FocusTrap_default as FocusTrap, Icon, Input$1 as Input, Link, Listbox, Menu, MenuContent, MenuItem, MenuSeparator, MenuTrigger, MoneyInput, NumberInput, Pagination, Popover, Portal_default as Portal, Presence_default as Presence, Progress, ProgressLabel, RadioGroup, RatingGroup, SafeArea, SearchInput, Select, SelectItem, SelectPc, SelectTrigger, SignaturePad, Skeleton, Slider, Spinner, Splitter, SplitterPanel, SplitterResizeTrigger, SplitterResizeTriggerIndicator, Steps, StickyHeader, SwipeReveal, Switch, Tabs, TagsInput, Toast, ToastCloseTrigger, ToastDescription, ToastIcon, ToastTitle, ToastToaster, Toggle, ToggleGroup, ToggleGroupItem, Tour, TourCloseTrigger, TourContent, TreeView, TreeViewBranch, TreeViewBranchContent, TreeViewBranchControl, TreeViewBranchTrigger, TreeViewItem, confirm, createToaster };
60
+ export { AccordionRoot as Accordion, AccordionContent, AccordionItem, AccordionTrigger, Avatar, AvatarFallback, AvatarImage, BackToTop, BottomNavigation, BottomNavigationItem, BottomSheet, Button, Card, CardNumberInput, Carousel_default as Carousel, CarouselAutoplayTrigger, CarouselControl, CarouselIndicator, CarouselIndicatorGroup, CarouselItem, CarouselItemGroup, CarouselNextTrigger, CarouselPrevTrigger, CarouselProgressText, Checkbox, ClearTrigger, Clipboard, CloseButton, Collapsible, CollapsibleContent, CollapsibleTrigger, ColorPicker, Root as Combobox, ComboboxContent, Input as ComboboxInput, ComboboxItem, ConfirmDialog, DatePicker, Dialog, Root$1 as Drawer, DrawerContent, DrawerTrigger, Field, Fieldset, FileUpload, FileUploadClearTrigger, FileUploadItem, FileUploadItemGroup, FilterGroup, FocusTrap_default as FocusTrap, Icon, Input$1 as Input, Link, Listbox, Menu, MenuContent, MenuItem, MenuSeparator, MenuTrigger, MoneyInput, NumberInput, Pagination, Popover, Portal_default as Portal, Presence_default as Presence, Progress, ProgressLabel, RadioGroup, RatingGroup, SafeArea, SearchInput, Select, SelectItem, SelectPc, SelectTrigger, SignaturePad, Skeleton, Slider, Spinner, Splitter, SplitterPanel, SplitterResizeTrigger, SplitterResizeTriggerIndicator, Steps, StickyHeader, SwipeReveal, Switch, Tabs, Tag, TagsInput, Toast, ToastCloseTrigger, ToastDescription, ToastIcon, ToastTitle, ToastToaster, Toggle, ToggleGroup, ToggleGroupItem, Tour, TourCloseTrigger, TourContent, TreeView, TreeViewBranch, TreeViewBranchContent, TreeViewBranchControl, TreeViewBranchTrigger, TreeViewItem, confirm, createToaster };
package/docs/api.md CHANGED
@@ -128,8 +128,8 @@ Passthrough: Ark `Fieldset.Root` props (`disabled`, `invalid`, …).
128
128
 
129
129
  | Prop | Type | Default | Description |
130
130
  |---|---|---|---|
131
- | `solid` | `boolean` | `false` | Filled background instead of outlined. |
132
- | `intent` | `string` | `'default'` | Border intent (`'default'`, `'neutral'`, `'danger'`). `neutral` applies only to the outline variant (ignored when `solid`). |
131
+ | `variant` | `'outline' \| 'solid'` | `'outline'` | Filled background instead of outlined. |
132
+ | `intent` | `string` | `'default'` | Border intent (`'default'`, `'neutral'`, `'danger'`). `neutral` applies only to the outline variant (ignored when `variant='solid'`). |
133
133
  | `size` | `string` | `md` | See size values. |
134
134
  | `disabled` | `boolean` | `false` | Disables the input. |
135
135
  | `invalid` | `boolean` | `false` | Renders the error/invalid style. |
@@ -242,8 +242,8 @@ Mobile-optimized bottom-sheet select (draggable sheet overlay).
242
242
  | `open` | `(() => boolean)` | — | **Required** controlled open state. |
243
243
  | `onOpenChange` | `(open) => void` | — | Open/close callback. |
244
244
  | `disabled` | `boolean` | `false` | Disabled. |
245
- | `solid` | `boolean` | `false` | Filled trigger variant instead of outline. |
246
- | `intent` | `'default' \| 'neutral' \| 'danger'` | `'default'` | Border color for trigger and the search input. `neutral` applies only to the outline variant (ignored when `solid`). |
245
+ | `variant` | `'outline' \| 'solid'` | `'outline'` | Filled trigger variant instead of outline. |
246
+ | `intent` | `'default' \| 'neutral' \| 'danger'` | `'default'` | Border color for trigger and the search input. `neutral` applies only to the outline variant (ignored when `variant='solid'`). |
247
247
  | `filter` | `(item, query, itemToLabel) => boolean` | — | Custom filter for the search box. |
248
248
  | `placeholder` | `string` | — | Trigger placeholder. |
249
249
  | `backdropClassName` | `string` | — | Backdrop class. |
@@ -259,7 +259,7 @@ Desktop (popover-style) select built on Ark `Select`.
259
259
 
260
260
  | Prop | Type | Default | Description |
261
261
  |---|---|---|---|
262
- | `solid` | `boolean` | `false` | Filled trigger variant. |
262
+ | `variant` | `'outline' \| 'solid'` | `'outline'` | Filled trigger variant. |
263
263
  | `size` | `string` | `md` | See size values. |
264
264
  | `disabled` | `boolean` | `false` | Disabled. |
265
265
  | `invalid` | `boolean` | `false` | Error state. |
@@ -255,7 +255,7 @@ export { Root as FileUpload }
255
255
  import { Button } from '@plastic-js/tsumiki'
256
256
 
257
257
  // Primary usage: tsumiki-styled
258
- <Button solid>Click me</Button>
258
+ <Button variant="solid">Click me</Button>
259
259
 
260
260
  // Escape hatch: raw Ark API
261
261
  <Button.origin.Root>...</Button.origin.Root>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plastic-js/tsumiki",
3
- "version": "0.1.53",
3
+ "version": "0.1.55",
4
4
  "description": "A UI component library for Plastic JS.",
5
5
  "license": "MIT",
6
6
  "author": "tigre",