@aiquants/auth-react-router 0.16.0 → 0.18.0
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/README.md +31 -6
- package/dist/admin.d.mts +0 -1
- package/dist/admin.d.ts +0 -1
- package/dist/admin.js +1 -1
- package/dist/admin.mjs +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -110,9 +110,9 @@ carry language, and they are **different axes**:
|
|
|
110
110
|
|
|
111
111
|
- **`locale`** is forwarded to both `@aiquants/select-box` pickers (the create-group dialog and the directory link
|
|
112
112
|
form). The picker strings this package owns (`directoryView.pickerNoOptions` / `pickerClear` / `pickerToggle` /
|
|
113
|
-
`pickerSelected`
|
|
114
|
-
|
|
115
|
-
`defaultUserAdminLabels` / `jaUserAdminLabels` and of select-box 0.
|
|
113
|
+
`pickerSelected`) are passed as the picker's `labels`, the placeholder is the per-instance `placeholder` prop, and
|
|
114
|
+
every other key comes from the select-box catalog of `locale` (the values below are those of
|
|
115
|
+
`defaultUserAdminLabels` / `jaUserAdminLabels` and of select-box 0.11.0):
|
|
116
116
|
|
|
117
117
|
| select-box key | Source | `"en"` | `"ja"` |
|
|
118
118
|
| --- | --- | --- | --- |
|
|
@@ -120,7 +120,7 @@ carry language, and they are **different axes**:
|
|
|
120
120
|
| `clear` | `directoryView.pickerClear` | Clear the selection | 選択を解除 |
|
|
121
121
|
| `toggle` | `directoryView.pickerToggle` | Show the group list | グループ一覧を開く |
|
|
122
122
|
| `selection` | `directoryView.pickerSelected` (`{value}` = the picked option's label) | Selected: {value} | 選択中: {value} |
|
|
123
|
-
| `status` |
|
|
123
|
+
| `status` | select-box catalog (live-region announcement; see below) | 2 options / 3 options, 2 available | 候補 2 件 / 候補 3 件・選べるもの 2 件 |
|
|
124
124
|
| `placeholder` | `placeholder` prop: `groupsView.pickUpstreamPlaceholder` (dialog) / `directoryView.pickUpstreamPlaceholder` (link form) | Search by name or address... | 名前かアドレスで検索... |
|
|
125
125
|
| `scrollUp` | select-box catalog | Scroll up | 上へスクロール |
|
|
126
126
|
| `scrollDown` | select-box catalog | Scroll down | 下へスクロール |
|
|
@@ -129,11 +129,21 @@ carry language, and they are **different axes**:
|
|
|
129
129
|
| `scrollToTop` | select-box catalog | Top | 先頭へ |
|
|
130
130
|
| `scrollToBottom` | select-box catalog | Bottom | 末尾へ |
|
|
131
131
|
| `noItems` | select-box catalog | No items | 項目がありません |
|
|
132
|
+
| `searching` | select-box catalog (message of the open list while nothing matches yet and more rows may still come) | Searching... | 検索中... |
|
|
133
|
+
| `guess` | select-box catalog (accessible description of a suggested row, one the picker lists as a guess rather than a match) | suggestion | 推測 |
|
|
132
134
|
| `removeTag` | select-box catalog (multi-select chips; both pickers are single-select) | Remove {label} | 「{label}」を削除 |
|
|
133
135
|
| `resizeHandle` | select-box catalog (tooltip of the option list's resize handle) | Resize handle | サイズ変更ハンドル |
|
|
134
136
|
|
|
135
137
|
To change a catalog-sourced string, there is no per-key override here: pick the `locale` whose catalog you want.
|
|
136
138
|
|
|
139
|
+
The live-region announcement (`status`) is not overridden, so select-box owns its whole policy in one place: silent
|
|
140
|
+
while the popup is closed, while rows may still come and while the query is being typed; `pickerNoOptions` (the
|
|
141
|
+
resolved `noOptions`) when no row is listed; otherwise the listed count alone when every row is selectable, or the
|
|
142
|
+
count followed by how many are selectable when some are not (already-linked upstream groups are listed but disabled):
|
|
143
|
+
the available rows for a blank query ("3 options, 2 available" / 「候補 3 件・選べるもの 2 件」), the available matches
|
|
144
|
+
for a typed one ("3 options, 2 available matches" / 「候補 3 件・選べる一致 2 件」). The examples in the table are
|
|
145
|
+
the blank-query phrases.
|
|
146
|
+
|
|
137
147
|
- `resolveUserAdminLabels` (run once when `createUserAdminApp` is built) **validates `locale`**: an omitted value keeps
|
|
138
148
|
the English default `"en"`; `"en"` / `"ja"` pass; anything else (`"ja-JP"`, `"EN"`, `""`, `null`, ...) throws
|
|
139
149
|
`RangeError` naming `labels.formatLocale`, so a mistake stops the app at startup instead of crashing the picker on
|
|
@@ -251,13 +261,28 @@ the host, or the group picker's dropdown renders unstyled:
|
|
|
251
261
|
@import "@aiquants/select-box/styles/select-box.css";
|
|
252
262
|
```
|
|
253
263
|
|
|
264
|
+
That is the components-only build. Follow select-box's own README ("CSS Setup") for the rest of your build: a Tailwind v4
|
|
265
|
+
host imports it (and the `@aiquants/virtualscroll` peer build) in `layer(components)` and points `@source` at
|
|
266
|
+
`node_modules/@aiquants/select-box/dist` (the published package ships no `src`); a host without Tailwind imports
|
|
267
|
+
`@aiquants/select-box/styles/select-box.standalone.css` instead.
|
|
268
|
+
|
|
269
|
+
The option rows of both pickers are drawn by this package: each row shows the group name and address, a note (the local
|
|
270
|
+
group already linked to it, which makes the row unpickable, or else its member count when known), and the part of the
|
|
271
|
+
label the typed query matched. The match paint is
|
|
272
|
+
the picker's own (`RenderOptionContext.highlight`: the query compiled once under the picker's normalization and bound to
|
|
273
|
+
the row's match category), so a row the picker lists as a guess is never painted as an exact match; the runs carry
|
|
274
|
+
`data-aqar-match="exact"` or `"fuzzy"` and are paint-only (background and text colour, no bold), so a label keeps its
|
|
275
|
+
width while you type.
|
|
276
|
+
|
|
254
277
|
`@aiquants/fuzzy-search` is a transitive peer (the picker's search index, reached only through select-box) and is
|
|
255
278
|
declared here as well, so a host that installs this package is told what the picker needs rather than discovering it
|
|
256
279
|
as a runtime resolution failure. `@aiquants/virtualscroll` is both: select-box renders its option list with it, and
|
|
257
280
|
this package imports it **directly** — `src/admin/labels.ts` resolves the UI language with
|
|
258
281
|
`resolveVirtualScrollLocale`, so `dist/admin.mjs` carries its specifier. The pickers use the `locale` / `labels` props
|
|
259
|
-
of `@aiquants/select-box` 0.
|
|
260
|
-
|
|
282
|
+
of `@aiquants/select-box` and its 0.11 render and typing contract (`RenderOptionContext.highlight`, and `value` /
|
|
283
|
+
`onChange` typed by the option type), plus the locale resolution of `@aiquants/virtualscroll` 3.7.0, so select-box 0.11.0
|
|
284
|
+
and virtualscroll 3.7.0 are the peer floors (the published manifest carries `^0.11.0`, which a 0.10 install does not
|
|
285
|
+
satisfy).
|
|
261
286
|
|
|
262
287
|
All three are **required** peers, not optional. `src/admin/views.tsx` imports `@aiquants/select-box` and
|
|
263
288
|
`src/admin/labels.ts` imports `@aiquants/virtualscroll` at the top level, and `./admin` re-exports both modules, so the
|
package/dist/admin.d.mts
CHANGED