blixify-ui-web-mcp 0.1.66 → 0.1.68
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/lib/components/data/dataTemplate/README.md +3 -1
- package/lib/components/display/newGrid/newGrid.stories.tsx +25 -0
- package/lib/components/display/newKanban/README.md +4 -0
- package/lib/components/display/newList/README.md +4 -0
- package/lib/components/display/newList/newList.stories.tsx +28 -0
- package/lib/components/display/newTable/README.md +2 -0
- package/lib/components/input/datePicker/README.md +1 -0
- package/package.json +1 -1
|
@@ -478,7 +478,9 @@ A calendar tab has no view settings panel (it has no columns, sort or pages). Ro
|
|
|
478
478
|
|
|
479
479
|
Under `bareNewDTW` the grid hides `Grid`'s own page buttons and renders the same `NewPagination` footer as the table and list views.
|
|
480
480
|
|
|
481
|
-
Set `organise.viewId="grid"` (or add an `extendedTabs` entry with `viewType="grid"`) to render records as
|
|
481
|
+
Set `organise.viewId="grid"` (or add an `extendedTabs` entry with `viewType="grid"`) to render records as cards. Use `bareSettings.bareListGridComponent` to fully customise each card, or use the built-in grid. `viewImage` is optional: point it at an image or multipleImage column to show a picture on each card, or leave it empty for cards with only the title and fields. The Add Tab modal offers **Grid** on every space, and shows the Preview Image picker only when the space has an image column.
|
|
482
|
+
|
|
483
|
+
The list, kanban and grid items show the view's visible columns in column order, with the table's cell renderers. The title column is the item's title, the grid's image column is its picture, and a column with nothing stored is left out. A button, timer or rating is always shown. Each item carries the edit pencil (only for users who can update) and the comment bubble (when `edit.activityLog` is on) beside its title.
|
|
482
484
|
|
|
483
485
|
```tsx
|
|
484
486
|
<DataTemplate
|
|
@@ -242,6 +242,31 @@ export const NewGrid = () => {
|
|
|
242
242
|
</div>
|
|
243
243
|
</StorySection>
|
|
244
244
|
|
|
245
|
+
<StorySection
|
|
246
|
+
title="NewGrid — Grouped sections"
|
|
247
|
+
description="groups splits the cards into collapsible sections, in the order given, each headed by its title, colour and record count."
|
|
248
|
+
>
|
|
249
|
+
<NewGridImpl
|
|
250
|
+
data={data.slice(0, 6)}
|
|
251
|
+
hidePagination
|
|
252
|
+
groups={[
|
|
253
|
+
{
|
|
254
|
+
id: "Promotions",
|
|
255
|
+
title: "Promotions",
|
|
256
|
+
colour: "orange",
|
|
257
|
+
rowIds: ["2", "3", "4"],
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
id: "Regular",
|
|
261
|
+
title: "Regular",
|
|
262
|
+
colour: "blue",
|
|
263
|
+
rowIds: ["1", "5"],
|
|
264
|
+
},
|
|
265
|
+
{ id: "__empty", title: "No Value", rowIds: ["6"] },
|
|
266
|
+
]}
|
|
267
|
+
/>
|
|
268
|
+
</StorySection>
|
|
269
|
+
|
|
245
270
|
<StorySection
|
|
246
271
|
title="Comparing with the legacy Grid"
|
|
247
272
|
description="Open Display/Grid in another tab — same sample data renders. NewGridItem is exactly GridClass — drop-in data swap."
|
|
@@ -17,6 +17,10 @@ Sectioned card board. Desktop: horizontal columns. Mobile: tab switcher between
|
|
|
17
17
|
|
|
18
18
|
`mobileView` swaps the column row for a tab rail with one column visible. The first column is selected as soon as columns exist (data usually arrives after the first render). `className` styles the desktop column row only — the stacked phone layout ignores it, so a `flex` / `inline-flex` passed for the desktop row cannot turn the phone view into a row. Rail, count badges, hint text and the default card follow `darkMode`.
|
|
19
19
|
|
|
20
|
+
## Edit pencil and comment bubble
|
|
21
|
+
|
|
22
|
+
`onCardEdit(id)` and `onCardActivity(id)` add an edit pencil and a comment bubble to the default card's header. Neither opens the card or starts a drag. Under `bareNewDTW`, DataTemplate passes the pencil only to users who can update records.
|
|
23
|
+
|
|
20
24
|
## Lane colours
|
|
21
25
|
|
|
22
26
|
Each lane carries an accent colour: a coloured top border and a matching dot beside its title (and on its tab in the phone view). Colours come from a fixed palette in lane order. `Unassigned` is always grey and is left out of the order, so switching `nullColumn` on does not change any other lane's colour. When `columns` is passed, a column's own `color` (any CSS colour) is used as it is.
|
|
@@ -66,6 +66,10 @@ The legacy `List` renders **every** extra key on an item. `NewList` renders only
|
|
|
66
66
|
|
|
67
67
|
ChatDashboard's conversation list uses all four.
|
|
68
68
|
|
|
69
|
+
## Edit pencil and comment bubble
|
|
70
|
+
|
|
71
|
+
`onRowEdit(id)` and `onRowActivity(id)` add an edit pencil and a comment bubble beside each item's title. Neither opens the row or follows its link, and neither makes the row taller. Under `bareNewDTW`, DataTemplate passes the pencil only to users who can update records.
|
|
72
|
+
|
|
69
73
|
## Status
|
|
70
74
|
|
|
71
75
|
🚧 **Scaffold only.** Implementation lands in follow-up commits per #1714.
|
|
@@ -259,6 +259,34 @@ export const NewList = () => (
|
|
|
259
259
|
/>
|
|
260
260
|
</StorySection>
|
|
261
261
|
|
|
262
|
+
<StorySection
|
|
263
|
+
title="NewList — Grouped sections"
|
|
264
|
+
description="groups splits the rows into collapsible sections, in the order given, each headed by its title, colour and record count."
|
|
265
|
+
>
|
|
266
|
+
<NewListImpl
|
|
267
|
+
list={baseLists}
|
|
268
|
+
hidePagination
|
|
269
|
+
groups={[
|
|
270
|
+
{
|
|
271
|
+
id: "Active",
|
|
272
|
+
title: "Active",
|
|
273
|
+
colour: "green",
|
|
274
|
+
rowIds: baseLists
|
|
275
|
+
.filter((_, index) => index % 2 === 0)
|
|
276
|
+
.map((each) => each.id),
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
id: "Archived",
|
|
280
|
+
title: "Archived",
|
|
281
|
+
colour: "dark",
|
|
282
|
+
rowIds: baseLists
|
|
283
|
+
.filter((_, index) => index % 2 === 1)
|
|
284
|
+
.map((each) => each.id),
|
|
285
|
+
},
|
|
286
|
+
]}
|
|
287
|
+
/>
|
|
288
|
+
</StorySection>
|
|
289
|
+
|
|
262
290
|
<StorySection
|
|
263
291
|
title="Comparing with the legacy List"
|
|
264
292
|
description="Open Display/List in another tab — same sample data renders. NewListItem is exactly ListClass — drop-in data swap. NewListImpl renders the same shape with modernised card styling, optional sticky section headers, and sticky search slot."
|
|
@@ -6,6 +6,8 @@ Tabular display with a List-shaped mobile breakpoint. The architectural key: **`
|
|
|
6
6
|
|
|
7
7
|
Pass `onRowActivity={(id) => ...}` to show a keyboard-accessible chat button at the right of the first visible cell (beside the title on mobile cards). It stops row navigation and does not enter inline editing. When no left pins are configured, the first ungrouped column is pinned automatically; existing pin configurations are preserved. DTW wires this callback automatically when `edit.activityLog` is enabled with `bareNewDTW`.
|
|
8
8
|
|
|
9
|
+
Pass `onRowEdit={(id) => ...}` as well to put an edit pencil before the chat button, at the same size and colour. Both sit over the cell's right padding, so the row does not grow. DTW passes it only when the user can update records (`edit.allEditable`) and opens the record's edit form with `handleNavigate("update", id, "general")`.
|
|
10
|
+
|
|
9
11
|
## Adding a row
|
|
10
12
|
|
|
11
13
|
With `addable.active`, a `+` row at the bottom starts a new record where the click lands. While it is filled in, ✓ and ✕ sit in the Actions column and **Save** and **Cancel** are repeated under the row, held at the left edge as the table scrolls sideways. Enter saves and opens the next row, Escape cancels, and clicking another row saves it.
|
|
@@ -70,6 +70,7 @@ const ref = useRef(null);
|
|
|
70
70
|
| `minDate` | `Date` | — | Earliest selectable date |
|
|
71
71
|
| `maxDate` | `Date` | — | Latest selectable date |
|
|
72
72
|
| `range` | `boolean` | `false` | Renders two pickers for a start/end date range |
|
|
73
|
+
| `freeRangeEnds` | `boolean` | `false` | Range mode: neither end's calendar is limited by the other end; the owner keeps them in order |
|
|
73
74
|
| `showTime` | `boolean` | `false` | Adds a time selector alongside the calendar |
|
|
74
75
|
| `hideDate` | `boolean` | `false` | Shows only the time picker (hides the calendar) |
|
|
75
76
|
| `timeInterval` | `number` | `5` | Minute step for the time picker |
|