@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 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/<key>.svg). */
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'],