@dataworkz/crystal 0.1.0-beta.1 → 0.1.0-beta.10
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 +120 -0
- package/fesm2022/dataworkz-crystal-icons.mjs +1 -1
- package/fesm2022/dataworkz-crystal-icons.mjs.map +1 -1
- package/fesm2022/dataworkz-crystal-primeng.mjs +28 -2
- package/fesm2022/dataworkz-crystal-primeng.mjs.map +1 -1
- package/fesm2022/dataworkz-crystal.mjs +2555 -206
- package/fesm2022/dataworkz-crystal.mjs.map +1 -1
- package/icons/index.d.ts +4 -2
- package/index.d.ts +1125 -25
- package/package.json +5 -7
- package/primeng/index.d.ts +42 -2
- package/styles/components/button.css +3 -0
- package/styles/components/content.css +100 -0
- package/styles/components/data.css +23 -0
- package/styles/components/form.css +116 -13
- package/styles/components/navigation.css +31 -1
- package/styles/components/overlay.css +16 -1
- package/styles/components/surface.css +36 -0
- package/styles/crystal-no-fonts.css +2 -0
- package/styles/icons.css +6 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,126 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this package. Versions follow [semver](https://semver.org); betas may still change the API.
|
|
4
4
|
|
|
5
|
+
## 0.1.0-beta.10 — 2026-11-05
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
- `dw-accordion` / `dw-accordion-panel` (`DW_ACCORDION`): one or several open panels, `flush` and `card` variants, rich
|
|
9
|
+
headers (`dwAccordionHeader`) with controls that don't toggle (`dwAccordionHeaderAction`), lazy content
|
|
10
|
+
(`dwAccordionContent`), `opened` / `closed` once the animation is over.
|
|
11
|
+
- `dw-stepper`: a wizard's step list (done / current / upcoming), `linear`, `md` / `sm`, `framed`, `doneIcon`.
|
|
12
|
+
Crystal-native.
|
|
13
|
+
- `dw-autocomplete`: a form control that suggests as you type, free text or `forceSelection`, an item template, the
|
|
14
|
+
list as wide as the field by default.
|
|
15
|
+
- `dw-slider`: a number form control between `min` and `max`.
|
|
16
|
+
- `dw-splitter`: resizable panes with sizes, minimum sizes and remembered sizes (compatible with what `p-splitter`
|
|
17
|
+
saved), on `dw-resizer`.
|
|
18
|
+
- `dw-table`: `DwSortMeta`, `DwSortEvent` and `DwSortChange` type `multiSortMeta`, `sortFunction` and `sortChange`
|
|
19
|
+
(they were PrimeNG's types, or `unknown`). Same shapes.
|
|
20
|
+
|
|
21
|
+
## 0.1.0-beta.9 — 2026-11-05
|
|
22
|
+
|
|
23
|
+
### Added
|
|
24
|
+
- `dw-tree` `size="sm"`: compact rows (a smaller toggle, padding and type), for a sidebar or a narrow panel.
|
|
25
|
+
- `dw-tree` `marker`: an accent bar at the start of the selected row, as `dw-nav-list`'s `marker`.
|
|
26
|
+
|
|
27
|
+
## 0.1.0-beta.8 — 2026-11-05
|
|
28
|
+
|
|
29
|
+
### Added
|
|
30
|
+
- `dw-tree` and `DwTreeNode`: a tree over PrimeNG's Tree, selecting one node, several, or checkboxes (a parent checks
|
|
31
|
+
its children), with children loaded when a node opens, a node template (`dwTreeNode`), `scrollHeight`, and a
|
|
32
|
+
`contextMenu`. It has no box of its own; `framed` draws one. Replaces PrimeNG's Tree and ContextMenu in apps.
|
|
33
|
+
- `dw-menu` `openAt(event, context?)`: opens the menu as a context menu, at the pointer and inside the viewport, its
|
|
34
|
+
commands receiving `context` (what was right-clicked).
|
|
35
|
+
|
|
36
|
+
## 0.1.0-beta.7 — 2026-11-05
|
|
37
|
+
|
|
38
|
+
### Added
|
|
39
|
+
- `dw-date-picker` `flush`: an inline calendar without its own border, fill, radius or padding, so it sits on a popover's
|
|
40
|
+
or panel's surface. Screens no longer reach into the calendar's PrimeNG classes for it.
|
|
41
|
+
|
|
42
|
+
### Fixed
|
|
43
|
+
- An inline `dw-date-picker` with `fluid` fills its container; it kept the calendar's own width. A field picker, and an
|
|
44
|
+
inline one without `fluid`, are unchanged.
|
|
45
|
+
|
|
46
|
+
## 0.1.0-beta.6 — 2026-11-05
|
|
47
|
+
|
|
48
|
+
### Added
|
|
49
|
+
- `dw-date-picker`: date, date-time (to the second) and range picking, as a field or an inline calendar, on the shared
|
|
50
|
+
form-control base (ngModel, reactive forms, `[(value)]`). Replaces PrimeNG's DatePicker in apps.
|
|
51
|
+
- `dw-chart`: a chart.js chart (`line`, `bar`, `doughnut`…) over PrimeNG's Chart, with chart.js's own `data` and
|
|
52
|
+
`options`. A new `type`, size or `plugins` builds the chart again, as new `data` or `options` do.
|
|
53
|
+
- chart.js is a crystal dependency, so an app drops it from its own package.json.
|
|
54
|
+
|
|
55
|
+
### Changed
|
|
56
|
+
- The form controls no longer write the user's own change back into their PrimeNG control (as ngModel doesn't). The
|
|
57
|
+
control has the value already; a date picker written its own value turned its calendar to that date's month.
|
|
58
|
+
|
|
59
|
+
## 0.1.0-beta.5 — 2026-11-04
|
|
60
|
+
|
|
61
|
+
### Added
|
|
62
|
+
- `dwTooltipVariant="preview"`: a long value shown whole, up to 720 × 340px, then scrolled (line breaks kept). Pair it
|
|
63
|
+
with `dwTooltipInteractive` so the pointer can scroll it.
|
|
64
|
+
- `dw-select` / `dw-multiselect` `baseZIndex`: stacks the list above a layer that sets its own z-index (as dw-dialog /
|
|
65
|
+
dw-drawer / dw-popover's `baseZIndex`).
|
|
66
|
+
- `dw-checkbox` `option`: one box of a set that fills one array (ticked while the array holds the option; a click adds
|
|
67
|
+
or removes it). `DwCheckboxComponent` is generic (`<T = boolean>`); a plain checkbox is unchanged.
|
|
68
|
+
- `DW_PRIMENG_Z_INDEX`, the z-index bases `provideCrystalPrimeNG()` installs.
|
|
69
|
+
- `styles/icons.css`: the PrimeIcons font on its own, for an app that imports crystal's styles file by file (crystal.css
|
|
70
|
+
and crystal-no-fonts.css import it). With it, an app drops primeicons from its own package.json and build.
|
|
71
|
+
|
|
72
|
+
### Changed
|
|
73
|
+
- Tooltips stack from a 5000 base instead of PrimeNG's 1100, so they also clear layers that set their own z-index (they
|
|
74
|
+
already cleared PrimeNG's own overlays). An app's `zIndex` setting still wins. The `code` variant's CSS `z-index`
|
|
75
|
+
(which PrimeNG's inline z-index always overrode) is gone.
|
|
76
|
+
|
|
77
|
+
## 0.1.0-beta.4 — 2026-11-04
|
|
78
|
+
|
|
79
|
+
### Added
|
|
80
|
+
- `dw-select` / `dw-multiselect` `open()` and `close()`: open the list from code (an editable select whose text opens it).
|
|
81
|
+
- `[dwTooltipInteractive]`: the tooltip stays open while the pointer moves onto it, so its text can be copied.
|
|
82
|
+
|
|
83
|
+
### Fixed
|
|
84
|
+
- `dw-field` gives a `dw-select`, `dw-multiselect` or `dw-number-input` its full width, as it did the PrimeNG controls.
|
|
85
|
+
- `dw-switch`, `dw-radio`, `dw-number-input` and `dw-multiselect` no longer take focus when a page opens (and scroll it to
|
|
86
|
+
themselves): PrimeNG's AutoFocus put `autofocus="true"` on their input unless told `false`.
|
|
87
|
+
- The form controls drive their PrimeNG control without subscribing to PrimeNG's own signals: a write that changed one
|
|
88
|
+
of them could have re-run the write without end.
|
|
89
|
+
|
|
90
|
+
## 0.1.0-beta.3 — 2026-11-04
|
|
91
|
+
|
|
92
|
+
The first step of taking PrimeNG out of apps (docs/PRIMENG-REMOVAL.md): crystal's own form controls, and crystal owns
|
|
93
|
+
PrimeNG.
|
|
94
|
+
|
|
95
|
+
### Breaking
|
|
96
|
+
- `primeng`, `@primeng/themes` and `primeicons` are crystal **dependencies**, no longer peers: an app removes them from
|
|
97
|
+
its own `package.json` (and PrimeIcons' CSS from its build: crystal's stylesheet loads it).
|
|
98
|
+
|
|
99
|
+
### Added
|
|
100
|
+
- `dwInput` on `<input>` / `<textarea>` (`DW_INPUT`): `size` (`sm|md|lg`), `fluid`, `invalid`, `autoResize`.
|
|
101
|
+
- `[dwTooltip]`: `dwTooltipPosition` (`top` by default), `dwTooltipDelay`, `dwTooltipVariant`
|
|
102
|
+
(`multiline|code|error|toolbar`), `dwTooltipDisabled`.
|
|
103
|
+
- `dw-select` (+ `dwSelectOption`, `dwSelectValue`, `dwSelectFooter` templates) and `dw-multiselect`.
|
|
104
|
+
- `dw-checkbox`, `dw-radio`, `dw-switch` (`xs|sm|md`), `dw-number-input`.
|
|
105
|
+
- All of them work with ngModel, reactive forms or `[(value)]`, show invalid once touched or dirty, emit `changed` for
|
|
106
|
+
the user's change only, and keep the look of the PrimeNG controls they replace. `DwFormControl` is their base.
|
|
107
|
+
- `dw-icon pi="<name>"`: a PrimeIcons glyph, typed by `DwPrimeIcon` (from the installed font); `spin` and `label` on
|
|
108
|
+
every dw-icon.
|
|
109
|
+
|
|
110
|
+
### Changed
|
|
111
|
+
- `dw-icon`'s `name` is optional (give `name` or `pi`).
|
|
112
|
+
- `dw-field` docs and every crystal story use crystal controls; `dw-field` keeps a `dw-switch` / `dw-checkbox` /
|
|
113
|
+
`dw-radio` at its own width, as it did PrimeNG's.
|
|
114
|
+
|
|
115
|
+
## 0.1.0-beta.2 — 2026-11-04
|
|
116
|
+
|
|
117
|
+
### Fixed
|
|
118
|
+
- Small selects get small options wherever their list is appended: `provideCrystalPrimeNG()` now adds
|
|
119
|
+
`dw-select-panel--sm` to the overlay of every `p-select` / `p-multiselect` with `size="small"`, through PrimeNG's
|
|
120
|
+
pass-through (`DW_PRIMENG_PT`, exported). Lists appended to `<body>` used to keep the 14px rows; screens no longer
|
|
121
|
+
set the class by hand. An app's own `pt` settings are merged over crystal's.
|
|
122
|
+
- A selected `dw-icon-button` with `variant="danger"` stays danger red instead of switching to the accent (e.g. a
|
|
123
|
+
"not helpful" rating). Every other variant's selected state is unchanged.
|
|
124
|
+
|
|
5
125
|
## 0.1.0-beta.1 — 2026-11-04
|
|
6
126
|
|
|
7
127
|
The package is now product-neutral: no app type ids, app-only CSS or app validator messages ship in it. An app maps
|
|
@@ -361,7 +361,7 @@ const MIME_BY_EXTENSION = {
|
|
|
361
361
|
m4a: 'audio/m4a',
|
|
362
362
|
flac: 'audio/flac',
|
|
363
363
|
};
|
|
364
|
-
/** File-type icons, inlined as data URIs (icons/svg/files
|
|
364
|
+
/** File-type icons, inlined as data URIs (icons/svg/files/`<key>`.svg). */
|
|
365
365
|
const FILE_TYPE_ICON_PATHS = {
|
|
366
366
|
word: DW_LOGO_URIS['files/word'],
|
|
367
367
|
text: DW_LOGO_URIS['files/text'],
|