@dataworkz/crystal 0.1.0-beta.0 → 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.
Files changed (43) hide show
  1. package/CHANGELOG.md +151 -13
  2. package/README.md +6 -0
  3. package/fesm2022/dataworkz-crystal-icons.mjs +32 -322
  4. package/fesm2022/dataworkz-crystal-icons.mjs.map +1 -1
  5. package/fesm2022/dataworkz-crystal-markdown.mjs +1 -1
  6. package/fesm2022/dataworkz-crystal-markdown.mjs.map +1 -1
  7. package/fesm2022/dataworkz-crystal-primeng.mjs +31 -5
  8. package/fesm2022/dataworkz-crystal-primeng.mjs.map +1 -1
  9. package/fesm2022/dataworkz-crystal.mjs +2635 -257
  10. package/fesm2022/dataworkz-crystal.mjs.map +1 -1
  11. package/icons/index.d.ts +33 -97
  12. package/icons/svg/files/csv.svg +0 -1
  13. package/icons/svg/files/generic.svg +0 -1
  14. package/icons/svg/files/multimedia.svg +0 -1
  15. package/icons/svg/glyphs/agentBuilder.svg +1 -1
  16. package/icons/svg/glyphs/notesPad.svg +1 -1
  17. package/icons/svg/glyphs/panelCollapse.svg +1 -1
  18. package/icons/svg/glyphs/panelExpand.svg +1 -1
  19. package/icons/svg/glyphs/play.svg +1 -1
  20. package/icons/svg/glyphs/robot.svg +1 -1
  21. package/icons/svg/glyphs/sidebarCollapse.svg +1 -1
  22. package/icons/svg/glyphs/sidebarExpand.svg +1 -1
  23. package/icons/svg/glyphs/tagFilled.svg +1 -1
  24. package/icons/svg/glyphs/testShield.svg +1 -1
  25. package/icons/svg/storage/generic.svg +0 -1
  26. package/icons/svg/storage/legacy/microsoft-mail.svg +0 -1
  27. package/icons/svg/storage/local/microsoft-mail.svg +0 -1
  28. package/index.d.ts +1207 -68
  29. package/package.json +5 -7
  30. package/primeng/index.d.ts +45 -5
  31. package/styles/base.css +4 -4
  32. package/styles/components/button.css +3 -0
  33. package/styles/components/content.css +89 -91
  34. package/styles/components/data.css +24 -1
  35. package/styles/components/form.css +116 -13
  36. package/styles/components/navigation.css +31 -1
  37. package/styles/components/overlay.css +16 -1
  38. package/styles/components/surface.css +38 -2
  39. package/styles/components/toast.css +1 -1
  40. package/styles/crystal-no-fonts.css +3 -2
  41. package/styles/icons.css +6 -0
  42. package/styles/tokens/primitives.css +1 -3
  43. package/styles/tokens/semantic-dark.css +1 -1
@@ -406,8 +406,8 @@
406
406
  .dw-avatar--tint-cyan { background: var(--dw-icon-tint-cyan); color: var(--dw-icon-tint-cyan-fg); }
407
407
  .dw-avatar--tint-pink { background: var(--dw-icon-tint-pink); color: var(--dw-icon-tint-pink-fg); }
408
408
 
409
- /* Ring (account menus): the border darkens while its button is hovered or open,
410
- like the other header controls (e.g. the tenant switcher). */
409
+ /* Ring (e.g. an account menu button): the border darkens while its button is hovered or open,
410
+ like other header controls. */
411
411
  .dw-avatar--ring { transition: border-color var(--dw-dur-micro); }
412
412
 
413
413
  button:hover > dw-avatar .dw-avatar--ring,
@@ -703,3 +703,39 @@ div.dw-section__header { cursor: default; }
703
703
  .p-splitter.dw-splitter--rail-start > .p-splitter-gutter {
704
704
  background: linear-gradient(to right, var(--dw-surface-rail) 50%, transparent 50%);
705
705
  }
706
+
707
+ /* ── dw-splitter (the component): the same flat panes and hairline gutter, the gutter holding a
708
+ dw-resizer. The pane sizes are flex-grow ratios set by the component; the handle is a zero-size
709
+ anchor at the gutter's centre that the resizer's 10px hit strip straddles. The resizer's own line
710
+ and grip are hidden: the hairline is the gutter's. ── */
711
+ .dw-splitter--horizontal,
712
+ .dw-splitter--vertical { display: flex; height: 100%; min-width: 0; min-height: 0; }
713
+ .dw-splitter--horizontal { flex-direction: row; }
714
+ .dw-splitter--vertical { flex-direction: column; }
715
+ .dw-splitter__pane { display: flex; flex: 1 1 0; min-width: 0; min-height: 0; overflow: hidden; }
716
+ .dw-splitter__pane > * { flex: 1 1 auto; height: 100%; min-width: 0; min-height: 0; }
717
+ .dw-splitter__gutter { position: relative; flex: 0 0 auto; background: transparent; }
718
+ .dw-splitter--horizontal > .dw-splitter__gutter { cursor: col-resize; }
719
+ .dw-splitter--vertical > .dw-splitter__gutter { cursor: row-resize; }
720
+ .dw-splitter__gutter::before {
721
+ content: '';
722
+ position: absolute;
723
+ background: var(--dw-border);
724
+ transition: background var(--dw-dur-micro) var(--dw-ease);
725
+ }
726
+ .dw-splitter--horizontal > .dw-splitter__gutter::before { top: 0; bottom: 0; left: 50%; width: 1px; transform: translateX(-50%); }
727
+ .dw-splitter--vertical > .dw-splitter__gutter::before { top: 50%; right: 0; left: 0; height: 1px; transform: translateY(-50%); }
728
+ .dw-splitter--horizontal > .dw-splitter__gutter:is(:hover, .is-dragging, :has(.dw-resizer:focus-visible))::before { width: 2px; background: var(--dw-accent); }
729
+ .dw-splitter--vertical > .dw-splitter__gutter:is(:hover, .is-dragging, :has(.dw-resizer:focus-visible))::before { height: 2px; background: var(--dw-accent); }
730
+ .dw-splitter__handle { position: absolute; }
731
+ .dw-splitter--horizontal > .dw-splitter__gutter > .dw-splitter__handle { top: 0; bottom: 0; left: 50%; width: 0; }
732
+ .dw-splitter--vertical > .dw-splitter__gutter > .dw-splitter__handle { top: 50%; right: 0; left: 0; height: 0; }
733
+ .dw-splitter__handle > .dw-resizer::before,
734
+ .dw-splitter__handle > .dw-resizer::after { display: none; }
735
+ .dw-splitter.is-resizing { user-select: none; }
736
+ .dw-splitter--rail-start.dw-splitter--horizontal > .dw-splitter__gutter {
737
+ background: linear-gradient(to right, var(--dw-surface-rail) 50%, transparent 50%);
738
+ }
739
+ .dw-splitter--rail-start.dw-splitter--vertical > .dw-splitter__gutter {
740
+ background: linear-gradient(to bottom, var(--dw-surface-rail) 50%, transparent 50%);
741
+ }
@@ -1,4 +1,4 @@
1
- /* ── Toasts (dw-toast-host): today's dataworkz-ui look, ported from app-notifications ──
1
+ /* ── Toasts (dw-toast-host) ──
2
2
  Rounded pills in the status colours, stacked under the top edge, centred on half the page width.
3
3
  z-index 9999 as today: it keeps toasts above PrimeNG overlays, whose z-index grows with every one opened. */
4
4
  .dw-toast-host { display: contents; }
@@ -1,10 +1,11 @@
1
1
  /*
2
2
  * @dataworkz/crystal — the full app theme without @font-face, shipped as @dataworkz/crystal/styles/crystal-no-fonts.css.
3
- * For a page that already loads Inter and IBM Plex Mono itself. Same order as dataworkz-ui's src/styles/index.css,
4
- * minus its legacy CSS and app-header.css (they stay in the app).
3
+ * For a page that already loads Inter and IBM Plex Mono itself. Same layers and order as crystal.css.
5
4
  *
6
5
  * Rules: colours only in tokens/primitives.css (everything else uses semantic tokens); font-family only in base.css.
7
6
  */
7
+ /* PrimeIcons (pi pi-*): crystal's dependency, so an app never installs or loads it itself. Its font is local. */
8
+ @import './icons.css';
8
9
  @import './tokens/primitives.css';
9
10
  @import './tokens/semantic.css';
10
11
  @import './tokens/semantic-dark.css';
@@ -0,0 +1,6 @@
1
+ /*
2
+ * @dataworkz/crystal — the PrimeIcons font (`pi pi-*`, `<dw-icon pi>`), shipped as @dataworkz/crystal/styles/icons.css.
3
+ * Crystal depends on primeicons, so an app never installs or loads it itself: crystal.css / crystal-no-fonts.css import
4
+ * this file; an app that imports crystal's styles file by file imports it too. The font files are local (no CDN).
5
+ */
6
+ @import 'primeicons/primeicons.css';
@@ -1,8 +1,6 @@
1
1
  /* ============================================================================
2
2
  Dataworkz Design System — PRIMITIVE tokens
3
- Source of truth: designs/dataworkz-design-system/handoff/design-system.html
4
-
5
- This is the ONLY file in the app allowed to contain raw color literals.
3
+ This is the ONLY file in the theme allowed to contain raw color literals.
6
4
  Components never consume primitives directly — they consume the semantic
7
5
  role tokens in semantic.css, which point at these. A future dark theme only
8
6
  re-points the semantic layer.
@@ -1,7 +1,7 @@
1
1
  /* ============================================================================
2
2
  Dataworkz Design System — DARK theme
3
3
  Re-points the semantic roles of semantic.css when <html data-theme="dark">
4
- (set by core/theme/theme.service.ts). Same names, darker values — component
4
+ (set by ThemeService / provideCrystal()). Same names, darker values — component
5
5
  CSS never changes. Tints are colour-mixed over transparent so they sit on any
6
6
  dark surface. Loaded after semantic.css, so these win on the root element.
7
7
  ============================================================================ */