@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.
Files changed (37) hide show
  1. package/dist/components/BottomNavigation.js +1 -1
  2. package/dist/components/BottomSheet.js +20 -5
  3. package/dist/components/Card.js +1 -1
  4. package/dist/components/Checkbox.js +3 -3
  5. package/dist/components/Clipboard.js +20 -8
  6. package/dist/components/ColorPicker.js +1 -1
  7. package/dist/components/Combobox.js +2 -2
  8. package/dist/components/ConfirmDialog.js +2 -2
  9. package/dist/components/DateInput.js +4 -4
  10. package/dist/components/Dialog.js +21 -5
  11. package/dist/components/Drawer.js +2 -2
  12. package/dist/components/FileUpload.js +3 -3
  13. package/dist/components/FilterGroup.js +1 -1
  14. package/dist/components/Icon.js +20 -1
  15. package/dist/components/Input.js +1 -1
  16. package/dist/components/Listbox.js +1 -1
  17. package/dist/components/Menu.js +1 -1
  18. package/dist/components/MoneyInput.js +1 -1
  19. package/dist/components/NumberInput.js +1 -1
  20. package/dist/components/Pagination.js +1 -1
  21. package/dist/components/Popover.js +2 -2
  22. package/dist/components/RadioGroup.js +1 -1
  23. package/dist/components/Select.js +65 -132
  24. package/dist/components/SelectPc.js +2 -2
  25. package/dist/components/SignaturePad.js +6 -1
  26. package/dist/components/Steps.js +2 -2
  27. package/dist/components/Switch.js +2 -2
  28. package/dist/components/TagsInput.js +1 -1
  29. package/dist/components/Toast.js +2 -2
  30. package/dist/components/Toggle.js +1 -1
  31. package/dist/components/Tour.js +1 -1
  32. package/dist/tsumiki.css +1 -1
  33. package/docs/api.md +0 -2
  34. package/docs/scroll-lock-issue.md +35 -0
  35. package/package.json +5 -5
  36. package/src/styles/color.css +15 -5
  37. 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 |