@dataworkz/crystal 0.1.0-beta.8 → 0.1.0-beta.9

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/index.d.ts CHANGED
@@ -2951,7 +2951,8 @@ declare class DwTreeNodeDirective {
2951
2951
  * commands receiving the node.
2952
2952
  *
2953
2953
  * The tree has no box of its own and sits on its container; `framed` gives it a border and padding, and
2954
- * `scrollHeight` a height after which it scrolls. `.dw-tree` (no `-view`) is the markup-only guide-line tree for
2954
+ * `scrollHeight` a height after which it scrolls. `size="sm"` makes rows compact (a smaller toggle and type), for a
2955
+ * sidebar or a narrow panel; `marker` adds an accent bar to the selected row, as on `dw-nav-list`. `.dw-tree` (no `-view`) is the markup-only guide-line tree for
2955
2956
  * hand-built lists.
2956
2957
  *
2957
2958
  * ```html
@@ -2981,6 +2982,10 @@ declare class DwTreeComponent<T = unknown> {
2981
2982
  readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
2982
2983
  /** A border, radius and padding around the tree, for one that is not already inside a framed surface. */
2983
2984
  readonly framed: _angular_core.InputSignalWithTransform<boolean, unknown>;
2985
+ /** `sm`: compact rows (smaller toggle, padding and type), for a sidebar or a narrow panel. */
2986
+ readonly size: _angular_core.InputSignal<"sm" | "md">;
2987
+ /** An accent bar at the start of the selected row (or rows), as `dw-nav-list`'s `marker`. */
2988
+ readonly marker: _angular_core.InputSignalWithTransform<boolean, unknown>;
2984
2989
  /** A `dw-menu` (`trigger="none"`) opened at the pointer when a node is right-clicked; its commands get the node. */
2985
2990
  readonly contextMenu: _angular_core.InputSignal<DwMenuComponent<DwTreeNode<T>> | undefined>;
2986
2991
  readonly nodeSelect: _angular_core.OutputEmitterRef<DwTreeNodeEvent<T>>;
@@ -3001,7 +3006,7 @@ declare class DwTreeComponent<T = unknown> {
3001
3006
  } | undefined>;
3002
3007
  protected openMenu(event: DwTreeNodeEvent<T>): void;
3003
3008
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DwTreeComponent<any>, never>;
3004
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DwTreeComponent<any>, "dw-tree", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "selection": { "alias": "selection"; "required": false; "isSignal": true; }; "propagateSelection": { "alias": "propagateSelection"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "loadingMode": { "alias": "loadingMode"; "required": false; "isSignal": true; }; "scrollHeight": { "alias": "scrollHeight"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "framed": { "alias": "framed"; "required": false; "isSignal": true; }; "contextMenu": { "alias": "contextMenu"; "required": false; "isSignal": true; }; }, { "selection": "selectionChange"; "nodeSelect": "nodeSelect"; "nodeUnselect": "nodeUnselect"; "nodeExpand": "nodeExpand"; "nodeCollapse": "nodeCollapse"; "nodeContextMenu": "nodeContextMenu"; }, ["nodeTemplate"], never, true, never>;
3009
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DwTreeComponent<any>, "dw-tree", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "selection": { "alias": "selection"; "required": false; "isSignal": true; }; "propagateSelection": { "alias": "propagateSelection"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "loadingMode": { "alias": "loadingMode"; "required": false; "isSignal": true; }; "scrollHeight": { "alias": "scrollHeight"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "framed": { "alias": "framed"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "marker": { "alias": "marker"; "required": false; "isSignal": true; }; "contextMenu": { "alias": "contextMenu"; "required": false; "isSignal": true; }; }, { "selection": "selectionChange"; "nodeSelect": "nodeSelect"; "nodeUnselect": "nodeUnselect"; "nodeExpand": "nodeExpand"; "nodeCollapse": "nodeCollapse"; "nodeContextMenu": "nodeContextMenu"; }, ["nodeTemplate"], never, true, never>;
3005
3010
  }
3006
3011
 
3007
3012
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dataworkz/crystal",
3
- "version": "0.1.0-beta.8",
3
+ "version": "0.1.0-beta.9",
4
4
  "description": "Dataworkz core UI for Angular: dw-* components, icons, toasts, design tokens, theme CSS and bundled fonts.",
5
5
  "license": "MIT",
6
6
  "author": "Dataworkz",
@@ -149,6 +149,17 @@ body .p-treetable .p-treetable-tbody > tr.p-treetable-row-selected {
149
149
  background: var(--dw-surface);
150
150
  }
151
151
  .dw-tree-view .p-tree-node-label { flex: 1 1 auto; min-width: 0; }
152
+ /* --sm: compact rows, through PrimeNG's own tree variables (row ~28px instead of ~36px). */
153
+ .dw-tree-view.dw-tree-view--sm {
154
+ --p-tree-node-padding: var(--dw-space-1) var(--dw-space-2);
155
+ --p-tree-node-gap: var(--dw-space-1);
156
+ --p-tree-node-toggle-button-size: var(--dw-space-5);
157
+ --p-tree-gap: 0;
158
+ font-size: var(--dw-font-size-13);
159
+ }
160
+ /* --marker: the selected row's accent bar, as dw-nav-list [marker] (an inset shadow, so nothing shifts). Specific
161
+ enough to outlast PrimeNG's focus styles, which it loads after crystal. */
162
+ .dw-tree-view.dw-tree-view--marker .p-tree-node-content.p-tree-node-selected { box-shadow: inset 3px 0 0 var(--dw-accent); }
152
163
 
153
164
  /* ── Skeleton ── */
154
165
  .dw-skeleton {
@@ -215,7 +215,7 @@
215
215
  }
216
216
 
217
217
  /* Selected marker: an accent left border that follows the item's rounded corners. Only the agents
218
- list page's sidebar has it (dw-nav-list [marker], and its tags tree: dw-selected-marker); every
218
+ list page's sidebar has it (dw-nav-list [marker], and its tags tree: dw-tree [marker]); every
219
219
  other selection is the plain selected fill. An inset shadow, not a border, so the item's content
220
220
  does not shift when it is selected. */
221
221
  .dw-nav-list--marker .dw-nav-item.is-active,