@plastic-js/tsumiki 0.1.33 → 0.1.35
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.
- package/dist/components/BottomNavigation.js +1 -1
- package/dist/components/BottomSheet.js +20 -5
- package/dist/components/Card.js +1 -1
- package/dist/components/Checkbox.js +3 -3
- package/dist/components/Clipboard.js +20 -8
- package/dist/components/ColorPicker.js +1 -1
- package/dist/components/Combobox.js +2 -2
- package/dist/components/ConfirmDialog.js +2 -2
- package/dist/components/DateInput.js +4 -4
- package/dist/components/Dialog.js +21 -5
- package/dist/components/Drawer.js +2 -2
- package/dist/components/FileUpload.js +3 -3
- package/dist/components/FilterGroup.js +1 -1
- package/dist/components/Icon.js +20 -1
- package/dist/components/Input.js +1 -1
- package/dist/components/Listbox.js +1 -1
- package/dist/components/Menu.js +1 -1
- package/dist/components/MoneyInput.js +1 -1
- package/dist/components/NumberInput.js +1 -1
- package/dist/components/Pagination.js +1 -1
- package/dist/components/Popover.js +2 -2
- package/dist/components/RadioGroup.js +1 -1
- package/dist/components/Select.js +65 -132
- package/dist/components/SelectPc.js +2 -2
- package/dist/components/SignaturePad.js +6 -1
- package/dist/components/Steps.js +2 -2
- package/dist/components/Switch.js +2 -2
- package/dist/components/TagsInput.js +1 -1
- package/dist/components/Toast.js +2 -2
- package/dist/components/Toggle.js +1 -1
- package/dist/components/Tour.js +1 -1
- package/dist/tsumiki.css +1 -1
- package/docs/api.md +0 -2
- package/docs/scroll-lock-issue.md +35 -0
- package/package.json +5 -5
- package/src/styles/color.css +15 -5
- package/docs/v0.1.33-migration.md +0 -163
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
# v0.1.33 — Migration & Release Notes
|
|
2
|
-
|
|
3
|
-
> What changed in `@plastic-js/tsumiki` 0.1.33 and how to update your code.
|
|
4
|
-
|
|
5
|
-
This release upgrades the design-token system and adds drag/dismiss, affix, and
|
|
6
|
-
icon behaviors. **No code changes are required** for the vast majority of
|
|
7
|
-
consumers — most items below are new tokens or purely visual. Breaking behavior
|
|
8
|
-
is limited to the new `BottomSheet` grabber and the re-tuned radius/transition
|
|
9
|
-
tokens; each is called out with an explicit "Action" section.
|
|
10
|
-
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
## 1. Design token system upgrade
|
|
14
|
-
|
|
15
|
-
The token layer (`src/styles/`) gained new variables and two tokens changed meaning.
|
|
16
|
-
|
|
17
|
-
### New tokens
|
|
18
|
-
|
|
19
|
-
- **Transitions** — explicit durations, easings, and composites, with
|
|
20
|
-
enter/exit asymmetry for overlays:
|
|
21
|
-
- `--tsu-duration-fast: 150ms`, `--tsu-duration-normal: 250ms`
|
|
22
|
-
- `--tsu-duration-overlay-enter: 350ms`, `--tsu-duration-overlay-exit: 200ms`
|
|
23
|
-
- `--tsu-ease-standard: cubic-bezier(0.2, 0, 0, 1)`
|
|
24
|
-
- `--tsu-ease-out: cubic-bezier(0.32, 0.72, 0, 1)` (enter — decelerate)
|
|
25
|
-
- `--tsu-ease-in: cubic-bezier(0.4, 0, 1, 1)` (exit — accelerate)
|
|
26
|
-
- `--tsu-transition-fast`, `--tsu-transition-normal`,
|
|
27
|
-
`--tsu-transition-overlay-enter`, `--tsu-transition-overlay-exit`
|
|
28
|
-
- **Typography** — exactly three font weights plus semantic type roles:
|
|
29
|
-
- `--tsu-font-weight-regular: 400`, `--tsu-font-weight-medium: 500`,
|
|
30
|
-
`--tsu-font-weight-semibold: 600`
|
|
31
|
-
- Roles (size/weight/line-height triples):
|
|
32
|
-
`--tsu-text-title-*`, `--tsu-text-body-*`, `--tsu-text-label-*`,
|
|
33
|
-
`--tsu-text-caption-*`
|
|
34
|
-
- **Colors** — pressed-state and muted-surface feedback tokens:
|
|
35
|
-
- `--tsu-color-pressed`, `--tsu-color-pressed-accent`
|
|
36
|
-
- `--tsu-color-muted`, `--tsu-color-muted-subtle`
|
|
37
|
-
- **Shadows** — `--tsu-shadow-sm/md/lg` are now two-layer (tight ambient +
|
|
38
|
-
soft key) for more natural depth.
|
|
39
|
-
|
|
40
|
-
### Behavior changes
|
|
41
|
-
|
|
42
|
-
- `--tsu-transition-overlay` is now a **deprecated alias** for
|
|
43
|
-
`--tsu-transition-overlay-enter`. Overlays (e.g. `BottomSheet`) now enter in
|
|
44
|
-
**350ms on a decelerating curve** and exit in **200ms on an accelerating one**
|
|
45
|
-
(previously a symmetric `0.3s ease`).
|
|
46
|
-
- `--tsu-radius-l1/l2/l3-*` values were aligned to the concentric formula
|
|
47
|
-
`L2 = L1 + 4px`, `L3 = L2 + 8px`:
|
|
48
|
-
|
|
49
|
-
| size | L1 | L2 | L3 |
|
|
50
|
-
|------|----|----|----|
|
|
51
|
-
| xs | 2 | 6 | 14 |
|
|
52
|
-
| sm | 2 | 6 | 14 |
|
|
53
|
-
| md | 4 | 8 | 16 |
|
|
54
|
-
| lg | 6 | 10 | 18 |
|
|
55
|
-
| xl | 8 | 12 | 20 |
|
|
56
|
-
| xxl | 16 | 20 | 28 |
|
|
57
|
-
|
|
58
|
-
(Previously L3 was `16px` and L2 `8px` across all sizes, so `lg`–`xxl`
|
|
59
|
-
radii are now slightly larger and `xs`/`sm` slightly smaller.)
|
|
60
|
-
|
|
61
|
-
- Internal: components' `fontWeight: 500 / 600` literals were migrated to
|
|
62
|
-
`--tsu-font-weight-medium / semibold` — **appearance-neutral**.
|
|
63
|
-
|
|
64
|
-
### Action
|
|
65
|
-
|
|
66
|
-
No code changes required. All `--tsu-*` names your CSS already references are
|
|
67
|
-
stable. If you want the pre-0.1.33 look, override the affected tokens in your
|
|
68
|
-
own stylesheet **after** the library import:
|
|
69
|
-
|
|
70
|
-
```css
|
|
71
|
-
:root {
|
|
72
|
-
--tsu-transition-overlay: 0.3s ease; /* old symmetric transition */
|
|
73
|
-
--tsu-radius-l3-lg: 16px; /* old radius */
|
|
74
|
-
--tsu-radius-l2-lg: 8px;
|
|
75
|
-
}
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
New tokens (weights, type roles, pressed/muted colors, two-layer shadows) are
|
|
79
|
-
ready for you to consume.
|
|
80
|
-
|
|
81
|
-
---
|
|
82
|
-
|
|
83
|
-
## 2. BottomSheet — drag-to-dismiss
|
|
84
|
-
|
|
85
|
-
`BottomSheet` now ships a grabber handle and can be dragged to close:
|
|
86
|
-
|
|
87
|
-
- New `draggable` prop (default `true`). When enabled, a grabber bar renders at
|
|
88
|
-
the top of the sheet.
|
|
89
|
-
- Drag **down** follows your finger; drag **up** meets rubber-band resistance.
|
|
90
|
-
- Release past **30%** of the sheet height, or a **fast downward flick**, closes
|
|
91
|
-
the sheet.
|
|
92
|
-
- Backdrop-click dismissal is unchanged and still respects `dismissible`.
|
|
93
|
-
|
|
94
|
-
### Action
|
|
95
|
-
|
|
96
|
-
- If you don't want the grabber or drag behavior, pass `draggable={false}`.
|
|
97
|
-
- If you render your own content flush with the top edge, the grabber now
|
|
98
|
-
occupies that top strip while `draggable` is on.
|
|
99
|
-
|
|
100
|
-
```jsx
|
|
101
|
-
<BottomSheet open={open} onOpenChange={v => open(v.open)} draggable={false}>
|
|
102
|
-
{children}
|
|
103
|
-
</BottomSheet>
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
---
|
|
107
|
-
|
|
108
|
-
## 3. Input — `hasPrefix` / `hasSuffix` boundary padding
|
|
109
|
-
|
|
110
|
-
When a `prefix`, `suffix`, or the built-in password toggle is present, the
|
|
111
|
-
matching side padding on the input wrapper is now reduced to **half** the normal
|
|
112
|
-
horizontal padding, so edge affixes sit closer to the boundary instead of
|
|
113
|
-
floating at full text padding.
|
|
114
|
-
|
|
115
|
-
### Action
|
|
116
|
-
|
|
117
|
-
Purely visual — no code changes required. If you previously compensated for the
|
|
118
|
-
full padding (e.g. absolute-positioned affixes), you may need to adjust.
|
|
119
|
-
|
|
120
|
-
---
|
|
121
|
-
|
|
122
|
-
## 4. BottomNavigation — `activeIcon` + stroke-width token
|
|
123
|
-
|
|
124
|
-
`BottomNavigationItem` gains an optional `activeIcon` prop:
|
|
125
|
-
|
|
126
|
-
- When the item is active **and** `activeIcon` is provided, it replaces `icon`
|
|
127
|
-
(reactively, via a memo). Backward compatible — omitting `activeIcon` keeps
|
|
128
|
-
the old behavior.
|
|
129
|
-
- The icon's SVG stroke width is now controlled by the `--tsu-nav-icon-stroke-width`
|
|
130
|
-
token (default `2`). Set it on the nav to thin or thicken all icon strokes.
|
|
131
|
-
|
|
132
|
-
### Action
|
|
133
|
-
|
|
134
|
-
Optional. Typical use is a filled icon for the active tab:
|
|
135
|
-
|
|
136
|
-
```jsx
|
|
137
|
-
<BottomNavigationItem
|
|
138
|
-
icon={<MyOutlineIcon />}
|
|
139
|
-
activeIcon={<MyFilledIcon />}
|
|
140
|
-
label="Home"
|
|
141
|
-
active={active() === 0}
|
|
142
|
-
onClick={() => active(0)}
|
|
143
|
-
/>
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
Tune stroke thickness with one variable:
|
|
147
|
-
|
|
148
|
-
```jsx
|
|
149
|
-
<BottomNavigation style={{ '--tsu-nav-icon-stroke-width': 1.5 }}>
|
|
150
|
-
...
|
|
151
|
-
</BottomNavigation>
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
---
|
|
155
|
-
|
|
156
|
-
## Summary
|
|
157
|
-
|
|
158
|
-
| Area | Change | Code needed? |
|
|
159
|
-
|------|--------|--------------|
|
|
160
|
-
| Tokens | New transition/typography/color/shadow tokens; `--tsu-transition-overlay` alias; radius re-tuned | No (optional overrides) |
|
|
161
|
-
| `BottomSheet` | Grabber + drag-to-dismiss via `draggable` (default on) | Opt out with `draggable={false}` |
|
|
162
|
-
| `Input` | Reduced boundary padding when prefix/suffix/password present | No |
|
|
163
|
-
| `BottomNavigation` | New `activeIcon` prop; `--tsu-nav-icon-stroke-width` token | Optional |
|