@nxgt/material 3.92.0 → 3.93.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/CHANGELOG.md +40 -0
- package/README.md +2 -2
- package/dist/{alert-dialog-Bz5PlYKp.js → alert-dialog-D37eph4I.js} +1 -1
- package/dist/{async-slice-veSVxKqt.js → async-slice-BSqwhAj-.js} +1 -1
- package/dist/{button-a3tH3pq4.js → button-CG9SBAT-.js} +1 -1
- package/dist/{calculator-BtuKV3PK.js → calculator-YD3I3y-I.js} +10 -10
- package/dist/calculator-field.js +6 -6
- package/dist/{calculator-segment-CyB9IhEq.js → calculator-segment-Cjec9zi7.js} +1 -1
- package/dist/calculator.js +1 -1
- package/dist/charts.js +3 -3
- package/dist/{chip-BwGvGx_S.js → chip-BbUSBl3i.js} +2 -2
- package/dist/{code-editor-BLkmEoCi.js → code-editor-ZEM7AAcs.js} +4 -4
- package/dist/code-editor.js +4 -4
- package/dist/{code-language-items-DhAC_tCs.js → code-language-items-CAuHPrHd.js} +2 -2
- package/dist/components/components.css +1 -0
- package/dist/components/ui/widgets/event-calendar/event-calendar-backdrop.css +43 -0
- package/dist/{components-DX4aHtgP.js → components-CuFTrmGy.js} +19654 -19043
- package/dist/components.js +38 -38
- package/dist/{conversion-variant-C4t7aH9d.js → conversion-variant-DmEtTCSP.js} +3 -3
- package/dist/{currency-field-D0UQb5pn.js → currency-field-CabGnVO9.js} +5 -5
- package/dist/{dialog-vQMypIOm.js → dialog-Jhpx6ulb.js} +3 -3
- package/dist/dnd.js +1 -1
- package/dist/{dropdown-menu-B2ctUFti.js → dropdown-menu-nl0Q3tQ2.js} +1 -1
- package/dist/editor.js +7 -7
- package/dist/{empty-state-Bs44jnWk.js → empty-state-mrJuqph3.js} +1 -1
- package/dist/{financial-variant-B5iZ3pYf.js → financial-variant-P8gFA9aI.js} +5 -5
- package/dist/{hooks-CJtRFDYD.js → hooks-CjSpziWf.js} +2 -2
- package/dist/hooks.js +2 -2
- package/dist/{hover-card-B8PYUsv_.js → hover-card-BNb1M8ij.js} +1 -1
- package/dist/i18n.js +3 -3
- package/dist/{icon-badge-YT98b2Vx.js → icon-badge-CVMHwdFm.js} +1 -1
- package/dist/{icon-button-BylI02aX.js → icon-button-Ch0PThsa.js} +1 -1
- package/dist/{input-group-CiayHfBN.js → input-group-CPMSQcBx.js} +1 -1
- package/dist/lib/components/ui/collections/day-grouped-list/index.d.ts +6 -0
- package/dist/lib/components/ui/display/entity-header/entity-metadata.d.ts +2 -0
- package/dist/lib/components/ui/display/event-chip/event-chip-badges.d.ts +21 -0
- package/dist/lib/components/ui/display/event-chip/event-chip-content.d.ts +5 -7
- package/dist/lib/components/ui/display/event-chip/event-chip-title.d.ts +9 -0
- package/dist/lib/components/ui/display/event-chip/event-chip.classes.d.ts +9 -0
- package/dist/lib/components/ui/display/event-chip/event-chip.d.ts +15 -2
- package/dist/lib/components/ui/fields/attributes/attribute-values-form-field-set/attribute-values-form-field-set.d.ts +1 -1
- package/dist/lib/components/ui/fields/choice-list/choice-list-control.d.ts +1 -1
- package/dist/lib/components/ui/fields/choice-list/choice-list-field.d.ts +1 -1
- package/dist/lib/components/ui/fields/choice-list/choice-list-focus.d.ts +6 -3
- package/dist/lib/components/ui/fields/choice-list/choice-list-form-field.d.ts +2 -2
- package/dist/lib/components/ui/fields/choice-list/choice-list-names.d.ts +2 -0
- package/dist/lib/components/ui/fields/choice-list/choice-list.utils.d.ts +2 -0
- package/dist/lib/components/ui/fields/choice-list/index.d.ts +1 -1
- package/dist/lib/components/ui/fields/choice-list/partials/choice-row.d.ts +9 -3
- package/dist/lib/components/ui/fields/choice-list/types.d.ts +20 -0
- package/dist/lib/components/ui/fields/contacts/placeholders.d.ts +1 -1
- package/dist/lib/components/ui/layout/record-page/record-details.d.ts +6 -6
- package/dist/lib/components/ui/widgets/event-calendar/backdrop.types.d.ts +75 -0
- package/dist/lib/components/ui/widgets/event-calendar/chrome.types.d.ts +12 -0
- package/dist/lib/components/ui/widgets/event-calendar/event-calendar-context.d.ts +8 -1
- package/dist/lib/components/ui/widgets/event-calendar/event-calendar-events.utils.d.ts +3 -1
- package/dist/lib/components/ui/widgets/event-calendar/event-calendar-shell.d.ts +1 -1
- package/dist/lib/components/ui/widgets/event-calendar/event-calendar.backdrop.d.ts +38 -0
- package/dist/lib/components/ui/widgets/event-calendar/event-calendar.badges.d.ts +14 -0
- package/dist/lib/components/ui/widgets/event-calendar/event-calendar.labels.d.ts +14 -1
- package/dist/lib/components/ui/widgets/event-calendar/event-calendar.lanes.d.ts +9 -0
- package/dist/lib/components/ui/widgets/event-calendar/event-calendar.read-only.d.ts +57 -0
- package/dist/lib/components/ui/widgets/event-calendar/event-calendar.resources.d.ts +6 -1
- package/dist/lib/components/ui/widgets/event-calendar/index.d.ts +2 -1
- package/dist/lib/components/ui/widgets/event-calendar/partials/all-day-bars.d.ts +14 -0
- package/dist/lib/components/ui/widgets/event-calendar/partials/backdrop-bands.d.ts +11 -0
- package/dist/lib/components/ui/widgets/event-calendar/partials/backdrop-bar.d.ts +11 -0
- package/dist/lib/components/ui/widgets/event-calendar/partials/backdrop-cell.d.ts +13 -0
- package/dist/lib/components/ui/widgets/event-calendar/partials/backdrop-row.d.ts +8 -0
- package/dist/lib/components/ui/widgets/event-calendar/partials/calendar-badge.d.ts +16 -0
- package/dist/lib/components/ui/widgets/event-calendar/partials/month-day-cell.d.ts +4 -1
- package/dist/lib/components/ui/widgets/event-calendar/partials/month-day-parts.d.ts +12 -1
- package/dist/lib/components/ui/widgets/event-calendar/partials/resource-header.d.ts +2 -1
- package/dist/lib/components/ui/widgets/event-calendar/partials/span-event.d.ts +3 -1
- package/dist/lib/components/ui/widgets/event-calendar/partials/time-grid-header-day.d.ts +3 -6
- package/dist/lib/components/ui/widgets/event-calendar/partials/zone-corner.d.ts +10 -2
- package/dist/lib/components/ui/widgets/event-calendar/template.types.d.ts +7 -2
- package/dist/lib/components/ui/widgets/event-calendar/types.d.ts +25 -13
- package/dist/lib/components/ui/widgets/event-calendar/use-backdrops.d.ts +8 -0
- package/dist/lib/components/ui/widgets/event-calendar/use-badges.d.ts +5 -0
- package/dist/lib/components/ui/widgets/event-calendar/use-event-calendar.d.ts +3 -2
- package/dist/lib/components/ui/widgets/event-calendar/use-month-day.d.ts +6 -1
- package/dist/lib/components/ui/widgets/event-calendar/use-time-column.d.ts +1 -0
- package/dist/lib/i18n/resources/en/en.d.ts +7 -0
- package/dist/lib/i18n/resources/en/material.json.d.ts +7 -0
- package/dist/lib/i18n/resources/fr/fr.d.ts +7 -0
- package/dist/lib/i18n/resources/fr/material.json.d.ts +7 -0
- package/dist/lib/i18n/resources/resources.d.ts +14 -0
- package/dist/lib/i18n/translator.d.ts +1 -1
- package/dist/lib.js +1 -1
- package/dist/main.js +54 -54
- package/dist/map.js +7 -7
- package/dist/material.css +1 -1
- package/dist/pdf-reader.js +1 -1
- package/dist/{percent-field-DuoZieW9.js → percent-field-TWyupyr_.js} +1 -1
- package/dist/{picker-surface-BKzM6TWN.js → picker-surface-CoNsDWxX.js} +4 -4
- package/dist/{popover-ukgGm5B6.js → popover-BA1U82Wk.js} +1 -1
- package/dist/{pos-types-BNXbls3v.js → pos-types-BQqv-kb6.js} +1 -1
- package/dist/{pos-variant-CZ3OZtPq.js → pos-variant-D043n5y8.js} +4 -4
- package/dist/print.js +1 -1
- package/dist/{programmer-variant-DVu-pYhB.js → programmer-variant-jneMqtLs.js} +2 -2
- package/dist/{public-DtXwn8bx.js → public-DgrbdeZj.js} +9 -9
- package/dist/{rich-code-block-DUaSLxLT.js → rich-code-block-CGNjHawR.js} +5 -5
- package/dist/{scientific-variant-Ku9feVN1.js → scientific-variant-1L7brNNT.js} +2 -2
- package/dist/{sortable-provider-DIb1HgZA.js → sortable-provider-DZLV_svg.js} +2 -2
- package/dist/{spinner-CHWFXCfd.js → spinner-CQqRWxAW.js} +1 -1
- package/dist/{tabs-BideU0Rb.js → tabs-DQTx3C8e.js} +1 -1
- package/dist/theme-picker.js +2 -2
- package/dist/{theme-toggle-DUQTEe1y.js → theme-toggle-3NQ3VmJH.js} +1 -1
- package/dist/{toolbar-items-azkXY5w2.js → toolbar-items-BYCdJGUf.js} +4 -4
- package/dist/{translate-material-d8Q5K5a_.js → translate-material-jxfcGlD5.js} +1 -1
- package/dist/{translator-CxyFsfO0.js → translator-6XuDmqUJ.js} +10 -0
- package/dist/{use-chat-composer-FACltVyX.js → use-chat-composer-1eb4I1kM.js} +16 -16
- package/dist/{use-heading-spy-DHd5TScW.js → use-heading-spy-CzPujlKr.js} +4 -4
- package/dist/{use-material-translation-DA5ECZfA.js → use-material-translation-BUPqNmAg.js} +1 -1
- package/dist/{use-return-focus-CAAvJ6p5.js → use-return-focus-B_enQxp5.js} +1 -1
- package/docs/README.md +1 -0
- package/docs/components/data-display.md +6 -1
- package/docs/components/data-table-filter-and-lists.md +3 -0
- package/docs/components/form-fields.md +38 -5
- package/docs/components/navigation-and-layout.md +1 -0
- package/docs/components/rich-widgets.md +58 -5
- package/docs/guides/event-calendar.md +163 -0
- package/docs/guides/forms.md +2 -1
- package/docs/guides/i18n.md +2 -0
- package/docs/previews/data-display-eventchip.webp +0 -0
- package/docs/previews/rich-widgets-eventcalendar.webp +0 -0
- package/docs/roadmap.md +12 -0
- package/lib/components/components.css +1 -0
- package/lib/components/ui/widgets/event-calendar/event-calendar-backdrop.css +43 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,45 @@
|
|
|
1
1
|
# @nxgt/material
|
|
2
2
|
|
|
3
|
+
## 3.93.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#2722](https://github.com/softistx/nxgt-material/pull/2722) [`b79a80f`](https://github.com/softistx/nxgt-material/commit/b79a80f77a12d136c557326247dce03a03c9cc25) Thanks [@SteveGT96](https://github.com/SteveGT96)! - `ChoiceListField` and `ChoiceListFormField`: an opt-in `rowDetail` (`true`, or `{ label, placeholder, maxLength }`) adds a textarea under each row, stored as `ChoiceRow.explanation` (why a choice is right or wrong). It is kept through reorder, add and remove; a resolver's issue on `choices.<i>.explanation` shows under it and `setFocus` reaches it. `ChoiceListField` also takes `rowDetailErrors`, and `ChoiceRowDetail` is exported. New string `material.choice-list.detail`. Off by default: existing forms are unchanged. The Vue twin is softistx/nxgt-material#2720.
|
|
8
|
+
|
|
9
|
+
- [#2682](https://github.com/softistx/nxgt-material/pull/2682) [`2c416c3`](https://github.com/softistx/nxgt-material/commit/2c416c37baa0d4f3447f7d26f72f483ee02f4ce2) Thanks [@SteveGT96](https://github.com/SteveGT96)! - EventCalendar: a `CalendarEvent` can carry `badges`, further badges drawn after `badge` (a status, a priority, a progress count) in every view and the preview, each part of the event's accessible name and a tone dot where the box is narrow or short. `EventChip` takes the same `badges`. [#2654](https://github.com/softistx/nxgt-material/issues/2654)
|
|
10
|
+
|
|
11
|
+
- [#2682](https://github.com/softistx/nxgt-material/pull/2682) [`2c416c3`](https://github.com/softistx/nxgt-material/commit/2c416c37baa0d4f3447f7d26f72f483ee02f4ce2) Thanks [@SteveGT96](https://github.com/SteveGT96)! - EventCalendar: `readOnlyEvents` forbids dragging, resizing, key moves, and edits or deletes from the preview for every event, while events stay focusable, clickable (`onEventClick`) and drawn at full strength, `onSlotClick` still fires, and no drag instruction is announced. Adds the `material.event-calendar.label` string (English and French). [#2655](https://github.com/softistx/nxgt-material/issues/2655)
|
|
12
|
+
|
|
13
|
+
- [#2682](https://github.com/softistx/nxgt-material/pull/2682) [`2c416c3`](https://github.com/softistx/nxgt-material/commit/2c416c37baa0d4f3447f7d26f72f483ee02f4ce2) Thanks [@SteveGT96](https://github.com/SteveGT96)! - `EventCalendar` events take a `tone` and a `status`. `tone` draws an event in one of the library's tones (a `color` still wins, then the `tone`, then its resource's), in every view and in `mode="template"`. `status: 'cancelled'` strikes the title (`<del>`), mutes the chip with a dashed outline, and adds "Cancelled" to the event's accessible name (`material.event-calendar.cancelled`, translated in English and French); a cancelled event stays draggable. `EventChip` gains `tone` and `cancelled`, and `CalendarEventStatus` is exported.
|
|
14
|
+
|
|
15
|
+
`EventCalendarSpan` is exported: a stretch of time (a holiday, a term, a half day off) with a `label`, a `tone` and an optional `resourceId`, where a date-only `start`/`end` means whole days read in the calendar's `timeZone` and `end` is exclusive. Spans never block a slot. `EventCalendar` takes `spans` and shades them behind the events, in the thin hatch of the Refined direction (CSS classes, no inline gradient). The week and day views draw a hatched band under the hours with its label and a bar in the all-day strip (a half day only the band; with `resources`, a span shades its own column); the month shades the cell or its half, with the label from 7rem of cell width and a dot under it; the agenda and the phone's day list add a row. The shading is `aria-hidden` (the agenda and day-list rows are plain text, not controls), takes no pointer event and no tab stop, and the label is read in the name of the day or column it falls on.
|
|
16
|
+
|
|
17
|
+
`EventCalendar` also takes `dayBadges` and `weekBadges`: records of `{ label, tone? }` keyed by a `YYYY-MM-DD` date, the week's key being its first day per `weekStartsOn`. The week and day views draw the day's badge in its header and the week's in the gutter corner; the month draws the day's next to its number and the week's on the first cell of the row (with room below its events). On a phone a badge is a small tone bar, distinct from the event dots, and the labels are read in the name of the day header or cell (`material.event-calendar.week-badge`, translated in English and French). `EventCalendarBadges` and `EventCalendarDayMarksProps` (with `spans`) are exported.
|
|
18
|
+
|
|
19
|
+
Behaviour change: the week view now starts its days on `weekStartsOn`; before, it always used the locale's first day, so an app whose `weekStartsOn` differs from its locale sees its week view shift.
|
|
20
|
+
|
|
21
|
+
`EventChip` is restyled: its colour bar is a thin accent inset from the chip's edges (no border on the chip's start side), and a cancelled chip fades it. `EventChip` has its own `material.event-chip.cancelled` string (English and French).
|
|
22
|
+
|
|
23
|
+
### Patch Changes
|
|
24
|
+
|
|
25
|
+
- [#2710](https://github.com/softistx/nxgt-material/pull/2710) [`e0a3231`](https://github.com/softistx/nxgt-material/commit/e0a32318cc3db3e9d29cf1d69277af1093db59d5) Thanks [@SteveGT96](https://github.com/SteveGT96)! - fix(entity-header): align each metadata value on its label's baseline, so a value taller than its label (a link with a touch target) no longer sits lower than it ([#2709](https://github.com/softistx/nxgt-material/issues/2709))
|
|
26
|
+
|
|
27
|
+
- [#2682](https://github.com/softistx/nxgt-material/pull/2682) [`2c416c3`](https://github.com/softistx/nxgt-material/commit/2c416c37baa0d4f3447f7d26f72f483ee02f4ce2) Thanks [@SteveGT96](https://github.com/SteveGT96)! - EventCalendar: a README section and a guide for spans, day and week badges, event tones, cancelled and read-only events.
|
|
28
|
+
|
|
29
|
+
- [#2704](https://github.com/softistx/nxgt-material/pull/2704) [`2cc5f19`](https://github.com/softistx/nxgt-material/commit/2cc5f19b0aea3087e65a08f3ddfea70e396521bd) Thanks [@SteveGT96](https://github.com/SteveGT96)! - `RecordDetails`'s card title is set on the type scale (`title-md` emphasized, the section-title step of `FormSection variant="heading"`) at any heading level, instead of the global `h2` size (`headline-sm`) that made it larger than the page's other section headings.
|
|
30
|
+
|
|
31
|
+
## 3.92.1
|
|
32
|
+
|
|
33
|
+
### Patch Changes
|
|
34
|
+
|
|
35
|
+
- [#2712](https://github.com/softistx/nxgt-material/pull/2712) [`d254f1c`](https://github.com/softistx/nxgt-material/commit/d254f1c5440e71279fdb67af2fe280b69b8c9ef0) Thanks [@SteveGT96](https://github.com/SteveGT96)! - `ActivityLayout`: the breadcrumb trail no longer carries its own left padding, so its first crumb starts on the content column's left edge (an `ActivityContent` without `inset`).
|
|
36
|
+
|
|
37
|
+
- [#2696](https://github.com/softistx/nxgt-material/pull/2696) [`7d80591`](https://github.com/softistx/nxgt-material/commit/7d8059148bcffb501305e76653611a2b010d4006) Thanks [@SteveGT96](https://github.com/SteveGT96)! - `AttributeValuesFormFieldSet` is generic over the form values like the other `*FormField` wrappers: `control` takes the typed form's `Control<T>` and `name` a `Path<T>`, so `control as never` and `name as never` are no longer needed.
|
|
38
|
+
|
|
39
|
+
- [#2705](https://github.com/softistx/nxgt-material/pull/2705) [`2a7debc`](https://github.com/softistx/nxgt-material/commit/2a7debcfb9688d7428e7ae52cf808af8eba5ac36) Thanks [@SteveGT96](https://github.com/SteveGT96)! - `DayGroupedList`, its `useDayGroups` hook, `groupByDay`, `dayGroupOf`, `DAY_GROUP_ORDER` and the `DayGroupedListProps`, `DayGroupsOptions`, `ResolvedDayGroup`, `DayGroup`, `DayGroupKey` and `DayGroupDate` types are now exported from `@nxgt/material` and `@nxgt/material/components`, as the docs describe; only `groupByDate` was reachable before.
|
|
40
|
+
|
|
41
|
+
- [#2701](https://github.com/softistx/nxgt-material/pull/2701) [`a9057e8`](https://github.com/softistx/nxgt-material/commit/a9057e8e32d999ff633de37a806484a33d6316d7) Thanks [@SteveGT96](https://github.com/SteveGT96)! - `RecordDetails` takes the props of a `div` (`data-*`, `id`, `aria-*`, `className`, …) and spreads them on its root card; `className` is merged with the component's own classes.
|
|
42
|
+
|
|
3
43
|
## 3.92.0
|
|
4
44
|
|
|
5
45
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -664,7 +664,7 @@ Not components: what the stylesheet gives any element.
|
|
|
664
664
|
| <img src="https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/previews/form-fields-field.webp" width="120" alt="Field"> | [`Field`](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/components/form-fields.md#field) · `FormField` | Renders the field matching a config `type` (text, select, date, upload, otp…). | `Field` |
|
|
665
665
|
| <img src="https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/previews/form-fields-formsection.webp" width="120" alt="FormSection"> | [`FormSection`](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/components/form-fields.md#formsection) | A titled section of a form (an `h2` by default) with an optional description and actions (`variant="heading"` puts the title on the type scale), its fields in the form grid's columns, one column on a phone. | `FormSection` |
|
|
666
666
|
| <img src="https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/previews/form-fields-repeatablegroup.webp" width="120" alt="RepeatableGroup"> | [`RepeatableGroup`](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/components/form-fields.md#repeatablegroup) · `RepeatableGroupFormField` | Rows of fields a user adds, removes and reorders (`useFieldArray`), a list for assistive tech, focus that follows each change, one column on a phone. | `RepeatableGroup`, `RepeatableGroupFormField` |
|
|
667
|
-
| <img src="https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/previews/form-fields-choicelistfield.webp" width="120" alt="ChoiceListField"> | [`ChoiceListField`](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/components/form-fields.md#choicelistfield) · `ChoiceListFormField` | An editable list of answer choices with correct marks: single (radios) or multiple (checkboxes), min and max rows, reorder buttons, a stable id per row, errors per row and for the list. | not yet |
|
|
667
|
+
| <img src="https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/previews/form-fields-choicelistfield.webp" width="120" alt="ChoiceListField"> | [`ChoiceListField`](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/components/form-fields.md#choicelistfield) · `ChoiceListFormField` | An editable list of answer choices with correct marks: single (radios) or multiple (checkboxes), min and max rows, reorder buttons, a stable id per row, errors per row and for the list; `rowDetail` adds an explanation textarea under each row (`ChoiceRow.explanation`). | not yet (#2720) |
|
|
668
668
|
| <img src="https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/previews/form-fields-textfield.webp" width="120" alt="TextField"> | [`TextField`](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/components/form-fields.md#textfield) · `TextFormField` | Labelled input with leading / trailing adornments and helper text. | `TextField`, `TextFormField` |
|
|
669
669
|
| <img src="https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/previews/form-fields-textareafield.webp" width="120" alt="TextareaField"> | [`TextareaField`](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/components/form-fields.md#textareafield) · `TextareaFormField` | Labelled textarea with row sizing and a `maxLength` counter. | `TextareaField`, `TextareaFormField` |
|
|
670
670
|
| <img src="https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/previews/form-fields-emailfield.webp" width="120" alt="EmailField"> | [`EmailField`](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/components/form-fields.md#emailfield) · `EmailFormField` | Validates on blur; shows a `mailto:` button once the address is valid. | `EmailField`, `EmailFormField` |
|
|
@@ -911,7 +911,7 @@ Not components: what the stylesheet gives any element.
|
|
|
911
911
|
| --- | --- | --- | --- |
|
|
912
912
|
| <img src="https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/previews/rich-widgets-chat-overview.webp" width="120" alt="ChatInbox"> | [`ChatInbox`](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/components/rich-widgets.md#chat-kit), `ChatThread`, `ChatMessageList`, `ChatMessage`, `ChatComposer`, `ChatThreadHeader`, `ChatWidget`, `ChatConversationItem`, `ChatActionProposal`, `ChatToolActivity`… | Chat kit: inbox (list + thread, container queries from `@md`), bubbles grouped by sender or flat rows, read receipts, replies, reactions and a message toolbar, a pill composer with quick replies, attachments and stop, a floating chat widget, an approval card for an assistant's proposed action and a compact tool-step row; 320 px to desktop, light and dark. | `ChatInbox`, `ChatThread`, `ChatMessageList`, `ChatMessage`, `ChatComposer` (same parts; `ChatActionProposal` and `ChatToolActivity` not yet, [#2145](https://github.com/softistx/nxgt-material/issues/2145)) |
|
|
913
913
|
| <img src="https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/previews/rich-widgets-kanban.webp" width="120" alt="Kanban"> | [`Kanban`](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/components/rich-widgets.md#kanban) | Board with columns, swimlanes, WIP limits, search, and drag-and-drop cards and columns. | `Kanban` |
|
|
914
|
-
| <img src="https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/previews/rich-widgets-eventcalendar.webp" width="120" alt="EventCalendar"> | [`EventCalendar`](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/components/rich-widgets.md#eventcalendar) | Month / week / day / agenda calendar with drag, resize and slot creation, a day view split by resource, a named time zone, a recurring template week (`mode="template"`), an event preview you can route to your own edit and delete (`onEventEdit`, `onEventDelete`, `eventPreview`, `previewFields`), a now line, a mini-month side panel
|
|
914
|
+
| <img src="https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/previews/rich-widgets-eventcalendar.webp" width="120" alt="EventCalendar"> | [`EventCalendar`](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/components/rich-widgets.md#eventcalendar) | Month / week / day / agenda calendar with drag, resize and slot creation, a day view split by resource, a named time zone, a recurring template week (`mode="template"`), an event preview you can route to your own edit and delete (`onEventEdit`, `onEventDelete`, `eventPreview`, `previewFields`), a now line, a mini-month side panel, a phone layout, background `spans` (closures, half days), `dayBadges` / `weekBadges`, an event `tone`, `status: 'cancelled'` and `readOnlyEvents` ([guide](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/guides/event-calendar.md)). | `EventCalendar` (without `spans`, `dayBadges`, `weekBadges`, `readOnlyEvents`, `badges`, `tone` and `status`, React only for now: [#2526](https://github.com/softistx/nxgt-material/issues/2526)) |
|
|
915
915
|
| <img src="https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/previews/rich-widgets-native-charts-linechart.webp" width="120" alt="LineChart"> | [`LineChart`, `AreaChart`, `BarChart`, `PieChart`, `DonutChart`, `Gauge`, `RadialBarChart`, `FunnelChart`, `HeatmapChart`, `RadarChart`, `ScatterChart`, `ComboChart`](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/components/rich-widgets.md#charts) from `@nxgt/material/charts` | Native SVG charts with keyboard point navigation, a screen-reader summary, a "View data" table, `patterns`, a hide/isolate legend, zoom and phone scroll (client-only entry; [guide](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/guides/charts.md)). | [not yet](https://github.com/softistx/nxgt-material/issues/1255) (#1255) |
|
|
916
916
|
| <img src="https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/previews/rich-widgets-emojipicker.webp" width="120" alt="EmojiPicker"> | [`EmojiPicker`](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/components/rich-widgets.md#emojipicker), `EmojiList` | Shared picker. `ChatComposer` takes `emojis`; `Markdown` expands `:shortcode:`; the RTE toolbar uses the same picker. | `EmojiPicker`, `EmojiList` |
|
|
917
917
|
| <img src="https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/previews/rich-widgets-mentionlist.webp" width="120" alt="MentionList"> | [`MentionList`](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/components/rich-widgets.md#mentionlist) | `@` mention list from an `items` prop (local search). ChatComposer and the RTE suggestion list use it. | `MentionList` |
|
|
@@ -4,7 +4,7 @@ import { o as n } from "./dist-DVRQkaTK.js";
|
|
|
4
4
|
import { r } from "./dist-DWZXlCZR.js";
|
|
5
5
|
import { a as i } from "./dist-DHdUUM1w.js";
|
|
6
6
|
import { t as a } from "./in-dialog-D61Yeaol.js";
|
|
7
|
-
import { a as o, c as s, d as c, i as l, l as u, n as d, o as f, r as p, s as m, t as h, u as g } from "./use-return-focus-
|
|
7
|
+
import { a as o, c as s, d as c, i as l, l as u, n as d, o as f, r as p, s as m, t as h, u as g } from "./use-return-focus-B_enQxp5.js";
|
|
8
8
|
import { i as _ } from "./escape-owner-DpaP0lm1.js";
|
|
9
9
|
import * as v from "react";
|
|
10
10
|
import { Fragment as y, isValidElement as b } from "react";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { l as e, r as t, s as n, u as r } from "./translator-
|
|
1
|
+
import { l as e, r as t, s as n, u as r } from "./translator-6XuDmqUJ.js";
|
|
2
2
|
import { t as i } from "./_baseIsEqual-C6ksIHya.js";
|
|
3
3
|
import { useMemo as a } from "react";
|
|
4
4
|
import { asyncThunkCreator as o, buildCreateSlice as s } from "@reduxjs/toolkit";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as e } from "./utils-BLfntITJ.js";
|
|
2
2
|
import { n as t, t as n } from "./dist-DVRQkaTK.js";
|
|
3
|
-
import { n as r, t as i } from "./spinner-
|
|
3
|
+
import { n as r, t as i } from "./spinner-CQqRWxAW.js";
|
|
4
4
|
import { t as a } from "./dist-DkQbkF9T.js";
|
|
5
5
|
import { a as o, i as s, n as c, o as l, s as u, t as d } from "./use-click-lock-Bwg_caHO.js";
|
|
6
6
|
import { t as f } from "./is-production-GLw59WU8.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { t as e } from "./utils-BLfntITJ.js";
|
|
2
|
-
import { d as t, n, r, t as i } from "./tabs-
|
|
3
|
-
import { t as a } from "./button-
|
|
4
|
-
import { t as o } from "./use-material-translation-
|
|
5
|
-
import { t as s } from "./icon-button-
|
|
2
|
+
import { d as t, n, r, t as i } from "./tabs-DQTx3C8e.js";
|
|
3
|
+
import { t as a } from "./button-CG9SBAT-.js";
|
|
4
|
+
import { t as o } from "./use-material-translation-BUPqNmAg.js";
|
|
5
|
+
import { t as s } from "./icon-button-Ch0PThsa.js";
|
|
6
6
|
import { t as c } from "./copy-to-clipboard-Be5Ffvs_.js";
|
|
7
7
|
import { t as l } from "./useEvent-2fKq-6w8.js";
|
|
8
8
|
import { t as u } from "./useLatest-C2PnQEeD.js";
|
|
@@ -11,7 +11,7 @@ import { t as f } from "./skeleton-DSdtr2qc.js";
|
|
|
11
11
|
import { t as p } from "./live-status-BGPaN8r8.js";
|
|
12
12
|
import { n as m, t as h } from "./calculator-context-BugcKuVG.js";
|
|
13
13
|
import { a as g, c as _, i as v, l as y, n as b, o as ee, r as te, s as ne } from "./calculator-announce-DRd2c6Dq.js";
|
|
14
|
-
import { i as re, t as ie } from "./pos-types-
|
|
14
|
+
import { i as re, t as ie } from "./pos-types-BQqv-kb6.js";
|
|
15
15
|
import { a as ae, r as oe } from "./key-layout-cR79xfGE.js";
|
|
16
16
|
import { n as x, r as se, t as ce } from "./programmer-word-CNCF7DJF.js";
|
|
17
17
|
import { t as le } from "./standard-layout-BuSRr3TY.js";
|
|
@@ -279,11 +279,11 @@ function Le({ helpId: e }) {
|
|
|
279
279
|
//#endregion
|
|
280
280
|
//#region lib/components/ui/widgets/calculator/variants/variant-loader.ts
|
|
281
281
|
var Re = {
|
|
282
|
-
scientific: () => import("./scientific-variant-
|
|
283
|
-
pos: () => import("./pos-variant-
|
|
284
|
-
programmer: () => import("./programmer-variant-
|
|
285
|
-
financial: () => import("./financial-variant-
|
|
286
|
-
conversion: () => import("./conversion-variant-
|
|
282
|
+
scientific: () => import("./scientific-variant-1L7brNNT.js"),
|
|
283
|
+
pos: () => import("./pos-variant-D043n5y8.js"),
|
|
284
|
+
programmer: () => import("./programmer-variant-jneMqtLs.js"),
|
|
285
|
+
financial: () => import("./financial-variant-P8gFA9aI.js"),
|
|
286
|
+
conversion: () => import("./conversion-variant-DmEtTCSP.js")
|
|
287
287
|
}, B = "failed", V = /* @__PURE__ */ new Map(), H = /* @__PURE__ */ new Map(), U = /* @__PURE__ */ new Set(), W = () => {
|
|
288
288
|
for (let e of U) e();
|
|
289
289
|
};
|
package/dist/calculator-field.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { t as e } from "./utils-BLfntITJ.js";
|
|
2
|
-
import { t } from "./button-
|
|
3
|
-
import { t as n } from "./use-material-translation-
|
|
4
|
-
import { t as r } from "./icon-button-
|
|
5
|
-
import { a as i, i as a, n as o, r as s, t as c } from "./picker-surface-
|
|
6
|
-
import { r as l, t as u } from "./currency-field-
|
|
2
|
+
import { t } from "./button-CG9SBAT-.js";
|
|
3
|
+
import { t as n } from "./use-material-translation-BUPqNmAg.js";
|
|
4
|
+
import { t as r } from "./icon-button-Ch0PThsa.js";
|
|
5
|
+
import { a as i, i as a, n as o, r as s, t as c } from "./picker-surface-CoNsDWxX.js";
|
|
6
|
+
import { r as l, t as u } from "./currency-field-CabGnVO9.js";
|
|
7
7
|
import { r as d, t as f } from "./field-blur-DkiZOVNV.js";
|
|
8
|
-
import { t as p } from "./calculator-
|
|
8
|
+
import { t as p } from "./calculator-YD3I3y-I.js";
|
|
9
9
|
import { useId as m, useState as h } from "react";
|
|
10
10
|
import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
|
|
11
11
|
import { Calculator as y } from "lucide-react";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as e } from "./use-material-translation-
|
|
1
|
+
import { t as e } from "./use-material-translation-BUPqNmAg.js";
|
|
2
2
|
import { jsx as t } from "react/jsx-runtime";
|
|
3
3
|
//#region lib/components/ui/widgets/calculator/partials/calculator-segment.tsx
|
|
4
4
|
function n({ label: n, choices: r, value: i, nameKey: a, onChange: o }) {
|
package/dist/calculator.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, t } from "./calculator-
|
|
1
|
+
import { n as e, t } from "./calculator-YD3I3y-I.js";
|
|
2
2
|
export { e as CALCULATOR_VARIANTS, t as Calculator };
|
package/dist/charts.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { t as e } from "./ui.utils-CAnKTCw5.js";
|
|
2
2
|
import { t } from "./utils-BLfntITJ.js";
|
|
3
3
|
import { t as n } from "./warn-once-C_e47JM8.js";
|
|
4
|
-
import { t as r } from "./button-
|
|
5
|
-
import { t as i } from "./use-material-translation-
|
|
4
|
+
import { t as r } from "./button-CG9SBAT-.js";
|
|
5
|
+
import { t as i } from "./use-material-translation-BUPqNmAg.js";
|
|
6
6
|
import { t as a } from "./use-ssr-media-query-C6M5m8sf.js";
|
|
7
7
|
import { i as o, n as s, r as c, t as l } from "./util-4heV2LPI.js";
|
|
8
8
|
import { t as u } from "./useIsomorphicLayoutEffect-DfgAhWcH.js";
|
|
9
|
-
import { t as d } from "./chip-
|
|
9
|
+
import { t as d } from "./chip-BbUSBl3i.js";
|
|
10
10
|
import { c as f, d as p, f as m, i as h, o as g, p as _, s as v, t as y } from "./line-path-C5pZGC49.js";
|
|
11
11
|
import { t as b } from "./live-status-BGPaN8r8.js";
|
|
12
12
|
import { t as x } from "./linear-G97mfnKF.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as e } from "./utils-BLfntITJ.js";
|
|
2
|
-
import { n as t } from "./spinner-
|
|
2
|
+
import { n as t } from "./spinner-CQqRWxAW.js";
|
|
3
3
|
import { s as n } from "./use-click-lock-Bwg_caHO.js";
|
|
4
|
-
import { t as r } from "./use-material-translation-
|
|
4
|
+
import { t as r } from "./use-material-translation-BUPqNmAg.js";
|
|
5
5
|
import { t as i } from "./react-node-text-Crkpfpco.js";
|
|
6
6
|
import { cloneElement as a, isValidElement as o } from "react";
|
|
7
7
|
import { Fragment as s, jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { r as e } from "./rolldown-runtime-BFFgcFxR.js";
|
|
2
2
|
import { t } from "./utils-BLfntITJ.js";
|
|
3
3
|
import { t as n } from "./dist-DWZXlCZR.js";
|
|
4
|
-
import { c as r, d as i, f as a, n as o, t as s } from "./dropdown-menu-
|
|
4
|
+
import { c as r, d as i, f as a, n as o, t as s } from "./dropdown-menu-nl0Q3tQ2.js";
|
|
5
5
|
import { a as c, i as l, n as u } from "./field-blur-context-BLGgf_3z.js";
|
|
6
|
-
import { a as d, o as f, r as p, s as m, t as h } from "./toolbar-items-
|
|
6
|
+
import { a as d, o as f, r as p, s as m, t as h } from "./toolbar-items-BYCdJGUf.js";
|
|
7
7
|
import { t as g } from "./is-production-GLw59WU8.js";
|
|
8
|
-
import { t as _ } from "./use-material-translation-
|
|
9
|
-
import { i as v, n as y, o as b, t as x } from "./code-language-items-
|
|
8
|
+
import { t as _ } from "./use-material-translation-BUPqNmAg.js";
|
|
9
|
+
import { i as v, n as y, o as b, t as x } from "./code-language-items-CAuHPrHd.js";
|
|
10
10
|
import { t as S } from "./useIsomorphicLayoutEffect-DfgAhWcH.js";
|
|
11
11
|
import { n as C, t as w } from "./escape-owner-DpaP0lm1.js";
|
|
12
12
|
import { t as T } from "./skeleton-DSdtr2qc.js";
|
package/dist/code-editor.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { t as e } from "./utils-BLfntITJ.js";
|
|
2
2
|
import { t } from "./dist-DWZXlCZR.js";
|
|
3
|
-
import { o as n, r, s as i, t as a } from "./toolbar-items-
|
|
4
|
-
import { t as o } from "./use-material-translation-
|
|
5
|
-
import { i as s, n as c, o as l } from "./code-language-items-
|
|
3
|
+
import { o as n, r, s as i, t as a } from "./toolbar-items-BYCdJGUf.js";
|
|
4
|
+
import { t as o } from "./use-material-translation-BUPqNmAg.js";
|
|
5
|
+
import { i as s, n as c, o as l } from "./code-language-items-CAuHPrHd.js";
|
|
6
6
|
import { t as u } from "./skeleton-DSdtr2qc.js";
|
|
7
7
|
import { t as d } from "./live-status-BGPaN8r8.js";
|
|
8
8
|
import { t as f } from "./use-mobile-BDro060N.js";
|
|
9
9
|
import { t as p } from "./react-node-text-Crkpfpco.js";
|
|
10
|
-
import { a as m, c as h, d as g, f as _, i as v, l as y, m as b, o as x, p as S, r as C, s as w, t as T, u as E } from "./code-editor-
|
|
10
|
+
import { a as m, c as h, d as g, f as _, i as v, l as y, m as b, o as x, p as S, r as C, s as w, t as T, u as E } from "./code-editor-ZEM7AAcs.js";
|
|
11
11
|
import { r as D, t as O } from "./field-blur-DkiZOVNV.js";
|
|
12
12
|
import { useEffect as k, useRef as A, useState as j } from "react";
|
|
13
13
|
import { Fragment as M, jsx as N, jsxs as P } from "react/jsx-runtime";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { d as e, f as t } from "./dropdown-menu-
|
|
2
|
-
import { t as n } from "./use-material-translation-
|
|
1
|
+
import { d as e, f as t } from "./dropdown-menu-nl0Q3tQ2.js";
|
|
2
|
+
import { t as n } from "./use-material-translation-BUPqNmAg.js";
|
|
3
3
|
import { t as r } from "./copy-to-clipboard-Be5Ffvs_.js";
|
|
4
4
|
import { t as i } from "./live-status-BGPaN8r8.js";
|
|
5
5
|
import { useEffect as a, useRef as o, useState as s } from "react";
|
|
@@ -216,5 +216,6 @@
|
|
|
216
216
|
@import "./background-shared.css";
|
|
217
217
|
@import "./ui/layout/app-search/app-search.css"; /* AppSearchBar, SearchView */
|
|
218
218
|
@import "./ui/widgets/drawing/drawing.css"; /* @nxgt/material/draw: role colours, focus ring */
|
|
219
|
+
@import "./ui/widgets/event-calendar/event-calendar-backdrop.css"; /* EventCalendar spans: the hatch and its label */
|
|
219
220
|
@import "./ui/widgets/drawing/drawing-animate.css";
|
|
220
221
|
@import "./ui/widgets/barcode/barcode.css"; /* @nxgt/material/barcode: symbol colours, label sheet */
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/* EventCalendar spans (holidays, terms, closures): the thin hatch of direction
|
|
2
|
+
* A Refined, as CSS classes (no inline gradient, so the CSP holds). The
|
|
3
|
+
* shading is decoration under the events; the label sits on an opaque pill in
|
|
4
|
+
* the tone's text colour, which keeps it AA on the hatch. The tone comes from
|
|
5
|
+
* the nearest `data-tone`. */
|
|
6
|
+
@layer components {
|
|
7
|
+
.nxgt-ec-backdrop {
|
|
8
|
+
background-image: repeating-linear-gradient(
|
|
9
|
+
135deg,
|
|
10
|
+
color-mix(in oklab, var(--nxgt-tone) 42%, transparent) 0 1px,
|
|
11
|
+
transparent 1px 7px
|
|
12
|
+
);
|
|
13
|
+
}
|
|
14
|
+
.nxgt-ec-backdrop-bar {
|
|
15
|
+
box-shadow: inset 0 0 0 1px
|
|
16
|
+
color-mix(in oklab, var(--nxgt-tone) 28%, transparent);
|
|
17
|
+
}
|
|
18
|
+
.nxgt-ec-backdrop-label {
|
|
19
|
+
display: block;
|
|
20
|
+
width: fit-content;
|
|
21
|
+
max-width: 100%;
|
|
22
|
+
overflow: hidden;
|
|
23
|
+
text-overflow: ellipsis;
|
|
24
|
+
white-space: nowrap;
|
|
25
|
+
padding: 2px 6px;
|
|
26
|
+
border-radius: 4px;
|
|
27
|
+
border: 1px solid var(--border);
|
|
28
|
+
background: var(--card);
|
|
29
|
+
color: var(--nxgt-tone-text);
|
|
30
|
+
font-size: 11px;
|
|
31
|
+
font-weight: 500;
|
|
32
|
+
line-height: 1.2;
|
|
33
|
+
}
|
|
34
|
+
.nxgt-ec-backdrop-label-css::before {
|
|
35
|
+
content: attr(data-label);
|
|
36
|
+
}
|
|
37
|
+
.nxgt-ec-backdrop-dot {
|
|
38
|
+
width: 0.375rem;
|
|
39
|
+
height: 0.375rem;
|
|
40
|
+
border-radius: 9999px;
|
|
41
|
+
background: var(--nxgt-tone);
|
|
42
|
+
}
|
|
43
|
+
}
|