@dataworkz/crystal 0.1.0-beta.4 → 0.1.0-beta.6

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,37 @@
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.6 — 2026-11-05
6
+
7
+ ### Added
8
+ - `dw-date-picker`: date, date-time (to the second) and range picking, as a field or an inline calendar, on the shared
9
+ form-control base (ngModel, reactive forms, `[(value)]`). Replaces PrimeNG's DatePicker in apps.
10
+ - `dw-chart`: a chart.js chart (`line`, `bar`, `doughnut`…) over PrimeNG's Chart, with chart.js's own `data` and
11
+ `options`. A new `type`, size or `plugins` builds the chart again, as new `data` or `options` do.
12
+ - chart.js is a crystal dependency, so an app drops it from its own package.json.
13
+
14
+ ### Changed
15
+ - The form controls no longer write the user's own change back into their PrimeNG control (as ngModel doesn't). The
16
+ control has the value already; a date picker written its own value turned its calendar to that date's month.
17
+
18
+ ## 0.1.0-beta.5 — 2026-11-04
19
+
20
+ ### Added
21
+ - `dwTooltipVariant="preview"`: a long value shown whole, up to 720 × 340px, then scrolled (line breaks kept). Pair it
22
+ with `dwTooltipInteractive` so the pointer can scroll it.
23
+ - `dw-select` / `dw-multiselect` `baseZIndex`: stacks the list above a layer that sets its own z-index (as dw-dialog /
24
+ dw-drawer / dw-popover's `baseZIndex`).
25
+ - `dw-checkbox` `option`: one box of a set that fills one array (ticked while the array holds the option; a click adds
26
+ or removes it). `DwCheckboxComponent` is generic (`<T = boolean>`); a plain checkbox is unchanged.
27
+ - `DW_PRIMENG_Z_INDEX`, the z-index bases `provideCrystalPrimeNG()` installs.
28
+ - `styles/icons.css`: the PrimeIcons font on its own, for an app that imports crystal's styles file by file (crystal.css
29
+ and crystal-no-fonts.css import it). With it, an app drops primeicons from its own package.json and build.
30
+
31
+ ### Changed
32
+ - Tooltips stack from a 5000 base instead of PrimeNG's 1100, so they also clear layers that set their own z-index (they
33
+ already cleared PrimeNG's own overlays). An app's `zIndex` setting still wins. The `code` variant's CSS `z-index`
34
+ (which PrimeNG's inline z-index always overrode) is gone.
35
+
5
36
  ## 0.1.0-beta.4 — 2026-11-04
6
37
 
7
38
  ### Added
@@ -259,6 +259,12 @@ const DW_PRIMENG_PT = {
259
259
  select: { overlay: smallPanel },
260
260
  multiselect: { overlay: smallPanel },
261
261
  };
262
+ /**
263
+ * PrimeNG's z-index bases, with tooltips raised to 5000: PrimeNG already stacks a tooltip above the overlays it manages
264
+ * (dialogs, drawers, popovers), and the higher base keeps it above layers that set their own z-index too (a panel or
265
+ * page chrome with `z-index` in CSS), so a tooltip is never hidden under what it describes.
266
+ */
267
+ const DW_PRIMENG_Z_INDEX = { modal: 1100, overlay: 1000, menu: 1000, tooltip: 5000 };
262
268
  /**
263
269
  * PrimeNG with the Dataworkz preset, dark mode on `[data-theme="dark"]`. Pass app-specific PrimeNG settings
264
270
  * (ripple, zIndex, translation…) as `config`; its `theme.options` are merged over crystal's.
@@ -272,6 +278,7 @@ function provideCrystalPrimeNG(config = {}) {
272
278
  const pt = (config.pt ?? {});
273
279
  return providePrimeNG({
274
280
  ...config,
281
+ zIndex: { ...DW_PRIMENG_Z_INDEX, ...(config.zIndex ?? {}) },
275
282
  // An app's own pass-through settings are merged over crystal's, section by section.
276
283
  pt: {
277
284
  ...pt,
@@ -295,5 +302,5 @@ function provideCrystalPrimeNG(config = {}) {
295
302
  * Generated bundle index. Do not edit.
296
303
  */
297
304
 
298
- export { AZURE_PRIMARY_RAMP, DW_COLOR_SCHEME, DW_DARK_MODE_SELECTOR, DW_PRESET_OVERRIDES, DW_PRIMENG_PT, DW_SELECT_PANEL_SM, DwPreset, provideCrystalPrimeNG };
305
+ export { AZURE_PRIMARY_RAMP, DW_COLOR_SCHEME, DW_DARK_MODE_SELECTOR, DW_PRESET_OVERRIDES, DW_PRIMENG_PT, DW_PRIMENG_Z_INDEX, DW_SELECT_PANEL_SM, DwPreset, provideCrystalPrimeNG };
299
306
  //# sourceMappingURL=dataworkz-crystal-primeng.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"dataworkz-crystal-primeng.mjs","sources":["../../../../packages/crystal/primeng/src/dw-preset.ts","../../../../packages/crystal/primeng/src/provide-crystal-primeng.ts","../../../../packages/crystal/primeng/src/index.ts","../../../../packages/crystal/primeng/src/dataworkz-crystal-primeng.ts"],"sourcesContent":["import Aura from '@primeng/themes/aura';\nimport { definePreset } from '@primeng/themes';\n\n/**\n * Azure Electric primary ramp. Same hex values as `--dw-primary-*` in\n * tokens/primitives.css — PrimeNG needs literal hex for the\n * primitive ramp because it derives other tokens from it at build time.\n */\nexport const AZURE_PRIMARY_RAMP = {\n 50: '#ecf3ff',\n 100: '#d6e5ff',\n 200: '#b0ccff',\n 300: '#82abff',\n 400: '#4d84ff',\n 500: '#2463f5',\n 600: '#144ce6',\n 700: '#113dc2',\n 800: '#16359b',\n 900: '#19327b',\n 950: '#101d49',\n} as const;\n\nconst primaryRefs = Object.fromEntries(\n Object.keys(AZURE_PRIMARY_RAMP).map((step) => [step, `{blue.${step}}`]),\n) as Record<keyof typeof AZURE_PRIMARY_RAMP, string>;\n\n/** The same (variable-driven) component tokens for light and dark. */\nconst bothSchemes = <T>(scheme: T): { light: T; dark: T } => ({ light: scheme, dark: scheme });\n\n/** Shorthand for a design-system CSS variable reference. */\nconst dw = (token: string): string => `var(--dw-${token})`;\n\n/**\n * PrimeNG color scheme, used for both light and dark. Every value points at a\n * design-system CSS variable, so PrimeNG follows the semantic tokens (tokens/semantic.css\n * and semantic-dark.css): switching theme re-points the variables, the preset\n * never changes. (The surface ramp is the raw neutral scale, light → dark,\n * which is the order Aura's own light and dark schemes expect.)\n */\nexport const DW_COLOR_SCHEME = {\n surface: {\n 0: dw('neutral-0'),\n 50: dw('neutral-50'),\n 100: dw('neutral-100'),\n 200: dw('neutral-200'),\n 300: dw('neutral-300'),\n 400: dw('neutral-400'),\n 500: dw('neutral-500'),\n 600: dw('neutral-600'),\n 700: dw('neutral-700'),\n 800: dw('neutral-800'),\n 900: dw('neutral-900'),\n 950: dw('neutral-950'),\n },\n primary: {\n color: dw('accent'),\n contrastColor: dw('text-inverse'),\n hoverColor: dw('accent-hover'),\n activeColor: dw('accent-active'),\n },\n highlight: {\n background: dw('accent-tint'),\n focusBackground: dw('accent-tint-strong'),\n color: dw('accent-text'),\n focusColor: dw('accent-text'),\n },\n mask: {\n background: dw('scrim'),\n color: dw('border'),\n },\n formField: {\n background: dw('surface'),\n disabledBackground: dw('surface-disabled'),\n filledBackground: dw('surface-section'),\n filledHoverBackground: dw('surface-section'),\n filledFocusBackground: dw('surface-section'),\n borderColor: dw('border-strong'),\n hoverBorderColor: dw('border-hover'),\n focusBorderColor: dw('focus-border'),\n invalidBorderColor: dw('danger-solid'),\n color: dw('text'),\n disabledColor: dw('text-muted'),\n placeholderColor: dw('text-muted'),\n invalidPlaceholderColor: dw('status-danger-fg'),\n floatLabelColor: dw('text-secondary'),\n floatLabelFocusColor: dw('accent'),\n floatLabelActiveColor: dw('text-secondary'),\n floatLabelInvalidColor: dw('status-danger-fg'),\n iconColor: dw('text-muted'),\n shadow: dw('shadow-xs'),\n },\n text: {\n color: dw('text'),\n hoverColor: dw('text-strong'),\n mutedColor: dw('text-secondary'),\n hoverMutedColor: dw('text'),\n },\n content: {\n background: dw('surface'),\n hoverBackground: dw('surface-hover'),\n borderColor: dw('border'),\n color: dw('text'),\n hoverColor: dw('text-strong'),\n },\n overlay: {\n select: { background: dw('surface'), borderColor: dw('border'), color: dw('text') },\n popover: { background: dw('surface'), borderColor: dw('border'), color: dw('text') },\n modal: { background: dw('surface'), borderColor: dw('border'), color: dw('text') },\n },\n list: {\n option: {\n focusBackground: dw('surface-hover'),\n selectedBackground: dw('surface-selected'),\n selectedFocusBackground: dw('accent-tint-strong'),\n color: dw('text'),\n focusColor: dw('text-strong'),\n selectedColor: dw('accent-text'),\n selectedFocusColor: dw('accent-text'),\n icon: { color: dw('text-muted'), focusColor: dw('text-secondary') },\n },\n optionGroup: { background: 'transparent', color: dw('text-secondary') },\n },\n navigation: {\n item: {\n focusBackground: dw('surface-hover'),\n activeBackground: dw('surface-selected'),\n color: dw('text'),\n focusColor: dw('text-strong'),\n activeColor: dw('accent-text'),\n icon: { color: dw('text-muted'), focusColor: dw('text-secondary'), activeColor: dw('accent') },\n },\n submenuLabel: { background: 'transparent', color: dw('text-secondary') },\n submenuIcon: { color: dw('text-muted'), focusColor: dw('text-secondary'), activeColor: dw('accent') },\n },\n};\n\n/**\n * Overrides layered on top of Aura. Aura's `blue` primitive is replaced with\n * the Azure ramp so every `{primary.*}` resolves to Azure; semantic and\n * component tokens are bound to the `--dw-*` CSS variables.\n */\nexport const DW_PRESET_OVERRIDES = {\n primitive: {\n blue: { ...AZURE_PRIMARY_RAMP },\n },\n semantic: {\n primary: primaryRefs,\n transitionDuration: dw('dur-micro'),\n disabledOpacity: '0.6',\n focusRing: {\n width: '0',\n style: 'none',\n color: 'transparent',\n offset: '0',\n shadow: dw('focus-ring'),\n },\n formField: {\n paddingX: '0.75rem',\n // Large (default) fields: 7px + 20px line + 7px + 1px borders = 36px (--dw-size-control-lg)\n paddingY: '0.4375rem',\n // pSize=\"small\": as tall as a small dw-button (28px), with its 12px text\n sm: { fontSize: dw('font-size-12'), paddingX: '0.625rem', paddingY: '0.3125rem' },\n borderRadius: dw('radius-control'),\n // Focused fields (inputs, search, selects): just a focus-blue border, no glow — the\n // 1px border plus a 0.5px inset line reads as 1.5px without shifting the content\n focusRing: {\n width: '0',\n style: 'none',\n color: 'transparent',\n offset: '0',\n shadow: dw('focus-border-ring'),\n },\n },\n list: {\n option: { borderRadius: dw('radius-sm') },\n },\n content: {\n borderRadius: dw('radius-card'),\n },\n navigation: {\n item: { borderRadius: dw('radius-sm') },\n },\n overlay: {\n select: { borderRadius: dw('radius-overlay'), shadow: dw('shadow-popover') },\n popover: { borderRadius: dw('radius-overlay'), padding: '0.75rem', shadow: dw('shadow-popover') },\n modal: { borderRadius: dw('radius-modal'), padding: '1.25rem', shadow: dw('shadow-modal') },\n navigation: { shadow: dw('shadow-menu') },\n },\n colorScheme: {\n light: DW_COLOR_SCHEME,\n dark: DW_COLOR_SCHEME,\n },\n },\n components: {\n button: {\n root: {\n borderRadius: dw('radius-control'),\n label: { fontWeight: '500' },\n },\n },\n datatable: {\n headerCell: {\n padding: '0.625rem 0.75rem',\n background: dw('surface-section'),\n color: dw('text-label'),\n // Sorted column looks like any other header; only the sort arrow marks it\n selectedBackground: dw('surface-section'),\n selectedColor: dw('text-label'),\n },\n bodyCell: { padding: '0.625rem 0.75rem' },\n colorScheme: bothSchemes({\n root: { borderColor: dw('border') },\n row: { stripedBackground: dw('surface-hover') },\n }),\n },\n // Compact, right-aligned bar: 28px buttons, a little room above and more below so it\n // doesn't sit on the bottom edge of the table's card\n paginator: {\n root: { padding: '0.25rem 0.75rem 0.5rem', gap: '0.125rem' },\n navButton: { width: '1.75rem', height: '1.75rem', borderRadius: dw('radius-control') },\n },\n dialog: {\n title: { fontSize: dw('font-size-16'), fontWeight: '600' },\n },\n drawer: {\n title: { fontSize: dw('font-size-16'), fontWeight: '600' },\n },\n tooltip: {\n colorScheme: bothSchemes({\n root: { background: dw('surface-inverse'), color: dw('text-inverse') },\n }),\n },\n tabs: {\n tab: { padding: '0.625rem 1rem', fontWeight: '500' },\n },\n toggleswitch: {\n colorScheme: bothSchemes({\n root: {\n checkedBackground: dw('accent'),\n checkedHoverBackground: dw('accent-hover'),\n },\n }),\n },\n skeleton: {\n colorScheme: bothSchemes({\n root: { background: dw('skeleton-base'), animationBackground: dw('skeleton-shine') },\n }),\n },\n },\n};\n\n/** Dataworkz PrimeNG preset: Aura retargeted to the design system. */\nexport const DwPreset = definePreset(Aura, DW_PRESET_OVERRIDES);\n","import { EnvironmentProviders } from '@angular/core';\nimport { PrimeNGConfigType, providePrimeNG } from 'primeng/config';\nimport { DwPreset } from './dw-preset';\n\n/** PrimeNG's dark mode follows the attribute ThemeService (and provideCrystal()) put on `<html>`. */\nexport const DW_DARK_MODE_SELECTOR = '[data-theme=\"dark\"]';\n\n/** Panel class that sizes a select's option list for a small trigger (components/form.css). */\nexport const DW_SELECT_PANEL_SM = 'dw-select-panel--sm';\n\ntype SizedInstance = { size?: () => string | null | undefined };\n\n/** The small-panel class for an overlay whose select is `size=\"small\"`, wherever the list is appended. */\nconst smallPanel = ({ instance }: { instance?: SizedInstance }) =>\n instance?.size?.() === 'small' ? { class: DW_SELECT_PANEL_SM } : {};\n\n/**\n * Crystal's pass-through defaults: a small `p-select` / `p-multiselect` gets small options even when its list is\n * appended to `<body>` (where CSS can't see the trigger).\n */\nexport const DW_PRIMENG_PT = {\n select: { overlay: smallPanel },\n multiselect: { overlay: smallPanel },\n} as const;\n\n/**\n * PrimeNG with the Dataworkz preset, dark mode on `[data-theme=\"dark\"]`. Pass app-specific PrimeNG settings\n * (ripple, zIndex, translation…) as `config`; its `theme.options` are merged over crystal's.\n *\n * ```ts\n * providers: [provideCrystal(), provideCrystalPrimeNG({ ripple: false })]\n * ```\n */\nexport function provideCrystalPrimeNG(config: PrimeNGConfigType = {}): EnvironmentProviders {\n const theme = typeof config.theme === 'object' ? config.theme : {};\n const pt = (config.pt ?? {}) as Record<string, Record<string, unknown> | undefined>;\n return providePrimeNG({\n ...config,\n // An app's own pass-through settings are merged over crystal's, section by section.\n pt: {\n ...pt,\n select: { ...DW_PRIMENG_PT.select, ...pt['select'] },\n multiselect: { ...DW_PRIMENG_PT.multiselect, ...pt['multiselect'] },\n } as PrimeNGConfigType['pt'],\n theme: {\n preset: DwPreset,\n ...theme,\n options: { darkModeSelector: DW_DARK_MODE_SELECTOR, ...(theme.options ?? {}) },\n },\n });\n}\n","/*\n * @dataworkz/crystal/primeng — the Dataworkz PrimeNG preset and provideCrystalPrimeNG().\n * Needs the optional peer @primeng/themes.\n */\nexport * from './dw-preset';\nexport * from './provide-crystal-primeng';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataworkz-crystal-primeng.mjs","sources":["../../../../packages/crystal/primeng/src/dw-preset.ts","../../../../packages/crystal/primeng/src/provide-crystal-primeng.ts","../../../../packages/crystal/primeng/src/index.ts","../../../../packages/crystal/primeng/src/dataworkz-crystal-primeng.ts"],"sourcesContent":["import Aura from '@primeng/themes/aura';\nimport { definePreset } from '@primeng/themes';\n\n/**\n * Azure Electric primary ramp. Same hex values as `--dw-primary-*` in\n * tokens/primitives.css — PrimeNG needs literal hex for the\n * primitive ramp because it derives other tokens from it at build time.\n */\nexport const AZURE_PRIMARY_RAMP = {\n 50: '#ecf3ff',\n 100: '#d6e5ff',\n 200: '#b0ccff',\n 300: '#82abff',\n 400: '#4d84ff',\n 500: '#2463f5',\n 600: '#144ce6',\n 700: '#113dc2',\n 800: '#16359b',\n 900: '#19327b',\n 950: '#101d49',\n} as const;\n\nconst primaryRefs = Object.fromEntries(\n Object.keys(AZURE_PRIMARY_RAMP).map((step) => [step, `{blue.${step}}`]),\n) as Record<keyof typeof AZURE_PRIMARY_RAMP, string>;\n\n/** The same (variable-driven) component tokens for light and dark. */\nconst bothSchemes = <T>(scheme: T): { light: T; dark: T } => ({ light: scheme, dark: scheme });\n\n/** Shorthand for a design-system CSS variable reference. */\nconst dw = (token: string): string => `var(--dw-${token})`;\n\n/**\n * PrimeNG color scheme, used for both light and dark. Every value points at a\n * design-system CSS variable, so PrimeNG follows the semantic tokens (tokens/semantic.css\n * and semantic-dark.css): switching theme re-points the variables, the preset\n * never changes. (The surface ramp is the raw neutral scale, light → dark,\n * which is the order Aura's own light and dark schemes expect.)\n */\nexport const DW_COLOR_SCHEME = {\n surface: {\n 0: dw('neutral-0'),\n 50: dw('neutral-50'),\n 100: dw('neutral-100'),\n 200: dw('neutral-200'),\n 300: dw('neutral-300'),\n 400: dw('neutral-400'),\n 500: dw('neutral-500'),\n 600: dw('neutral-600'),\n 700: dw('neutral-700'),\n 800: dw('neutral-800'),\n 900: dw('neutral-900'),\n 950: dw('neutral-950'),\n },\n primary: {\n color: dw('accent'),\n contrastColor: dw('text-inverse'),\n hoverColor: dw('accent-hover'),\n activeColor: dw('accent-active'),\n },\n highlight: {\n background: dw('accent-tint'),\n focusBackground: dw('accent-tint-strong'),\n color: dw('accent-text'),\n focusColor: dw('accent-text'),\n },\n mask: {\n background: dw('scrim'),\n color: dw('border'),\n },\n formField: {\n background: dw('surface'),\n disabledBackground: dw('surface-disabled'),\n filledBackground: dw('surface-section'),\n filledHoverBackground: dw('surface-section'),\n filledFocusBackground: dw('surface-section'),\n borderColor: dw('border-strong'),\n hoverBorderColor: dw('border-hover'),\n focusBorderColor: dw('focus-border'),\n invalidBorderColor: dw('danger-solid'),\n color: dw('text'),\n disabledColor: dw('text-muted'),\n placeholderColor: dw('text-muted'),\n invalidPlaceholderColor: dw('status-danger-fg'),\n floatLabelColor: dw('text-secondary'),\n floatLabelFocusColor: dw('accent'),\n floatLabelActiveColor: dw('text-secondary'),\n floatLabelInvalidColor: dw('status-danger-fg'),\n iconColor: dw('text-muted'),\n shadow: dw('shadow-xs'),\n },\n text: {\n color: dw('text'),\n hoverColor: dw('text-strong'),\n mutedColor: dw('text-secondary'),\n hoverMutedColor: dw('text'),\n },\n content: {\n background: dw('surface'),\n hoverBackground: dw('surface-hover'),\n borderColor: dw('border'),\n color: dw('text'),\n hoverColor: dw('text-strong'),\n },\n overlay: {\n select: { background: dw('surface'), borderColor: dw('border'), color: dw('text') },\n popover: { background: dw('surface'), borderColor: dw('border'), color: dw('text') },\n modal: { background: dw('surface'), borderColor: dw('border'), color: dw('text') },\n },\n list: {\n option: {\n focusBackground: dw('surface-hover'),\n selectedBackground: dw('surface-selected'),\n selectedFocusBackground: dw('accent-tint-strong'),\n color: dw('text'),\n focusColor: dw('text-strong'),\n selectedColor: dw('accent-text'),\n selectedFocusColor: dw('accent-text'),\n icon: { color: dw('text-muted'), focusColor: dw('text-secondary') },\n },\n optionGroup: { background: 'transparent', color: dw('text-secondary') },\n },\n navigation: {\n item: {\n focusBackground: dw('surface-hover'),\n activeBackground: dw('surface-selected'),\n color: dw('text'),\n focusColor: dw('text-strong'),\n activeColor: dw('accent-text'),\n icon: { color: dw('text-muted'), focusColor: dw('text-secondary'), activeColor: dw('accent') },\n },\n submenuLabel: { background: 'transparent', color: dw('text-secondary') },\n submenuIcon: { color: dw('text-muted'), focusColor: dw('text-secondary'), activeColor: dw('accent') },\n },\n};\n\n/**\n * Overrides layered on top of Aura. Aura's `blue` primitive is replaced with\n * the Azure ramp so every `{primary.*}` resolves to Azure; semantic and\n * component tokens are bound to the `--dw-*` CSS variables.\n */\nexport const DW_PRESET_OVERRIDES = {\n primitive: {\n blue: { ...AZURE_PRIMARY_RAMP },\n },\n semantic: {\n primary: primaryRefs,\n transitionDuration: dw('dur-micro'),\n disabledOpacity: '0.6',\n focusRing: {\n width: '0',\n style: 'none',\n color: 'transparent',\n offset: '0',\n shadow: dw('focus-ring'),\n },\n formField: {\n paddingX: '0.75rem',\n // Large (default) fields: 7px + 20px line + 7px + 1px borders = 36px (--dw-size-control-lg)\n paddingY: '0.4375rem',\n // pSize=\"small\": as tall as a small dw-button (28px), with its 12px text\n sm: { fontSize: dw('font-size-12'), paddingX: '0.625rem', paddingY: '0.3125rem' },\n borderRadius: dw('radius-control'),\n // Focused fields (inputs, search, selects): just a focus-blue border, no glow — the\n // 1px border plus a 0.5px inset line reads as 1.5px without shifting the content\n focusRing: {\n width: '0',\n style: 'none',\n color: 'transparent',\n offset: '0',\n shadow: dw('focus-border-ring'),\n },\n },\n list: {\n option: { borderRadius: dw('radius-sm') },\n },\n content: {\n borderRadius: dw('radius-card'),\n },\n navigation: {\n item: { borderRadius: dw('radius-sm') },\n },\n overlay: {\n select: { borderRadius: dw('radius-overlay'), shadow: dw('shadow-popover') },\n popover: { borderRadius: dw('radius-overlay'), padding: '0.75rem', shadow: dw('shadow-popover') },\n modal: { borderRadius: dw('radius-modal'), padding: '1.25rem', shadow: dw('shadow-modal') },\n navigation: { shadow: dw('shadow-menu') },\n },\n colorScheme: {\n light: DW_COLOR_SCHEME,\n dark: DW_COLOR_SCHEME,\n },\n },\n components: {\n button: {\n root: {\n borderRadius: dw('radius-control'),\n label: { fontWeight: '500' },\n },\n },\n datatable: {\n headerCell: {\n padding: '0.625rem 0.75rem',\n background: dw('surface-section'),\n color: dw('text-label'),\n // Sorted column looks like any other header; only the sort arrow marks it\n selectedBackground: dw('surface-section'),\n selectedColor: dw('text-label'),\n },\n bodyCell: { padding: '0.625rem 0.75rem' },\n colorScheme: bothSchemes({\n root: { borderColor: dw('border') },\n row: { stripedBackground: dw('surface-hover') },\n }),\n },\n // Compact, right-aligned bar: 28px buttons, a little room above and more below so it\n // doesn't sit on the bottom edge of the table's card\n paginator: {\n root: { padding: '0.25rem 0.75rem 0.5rem', gap: '0.125rem' },\n navButton: { width: '1.75rem', height: '1.75rem', borderRadius: dw('radius-control') },\n },\n dialog: {\n title: { fontSize: dw('font-size-16'), fontWeight: '600' },\n },\n drawer: {\n title: { fontSize: dw('font-size-16'), fontWeight: '600' },\n },\n tooltip: {\n colorScheme: bothSchemes({\n root: { background: dw('surface-inverse'), color: dw('text-inverse') },\n }),\n },\n tabs: {\n tab: { padding: '0.625rem 1rem', fontWeight: '500' },\n },\n toggleswitch: {\n colorScheme: bothSchemes({\n root: {\n checkedBackground: dw('accent'),\n checkedHoverBackground: dw('accent-hover'),\n },\n }),\n },\n skeleton: {\n colorScheme: bothSchemes({\n root: { background: dw('skeleton-base'), animationBackground: dw('skeleton-shine') },\n }),\n },\n },\n};\n\n/** Dataworkz PrimeNG preset: Aura retargeted to the design system. */\nexport const DwPreset = definePreset(Aura, DW_PRESET_OVERRIDES);\n","import { EnvironmentProviders } from '@angular/core';\nimport { PrimeNGConfigType, providePrimeNG } from 'primeng/config';\nimport { DwPreset } from './dw-preset';\n\n/** PrimeNG's dark mode follows the attribute ThemeService (and provideCrystal()) put on `<html>`. */\nexport const DW_DARK_MODE_SELECTOR = '[data-theme=\"dark\"]';\n\n/** Panel class that sizes a select's option list for a small trigger (components/form.css). */\nexport const DW_SELECT_PANEL_SM = 'dw-select-panel--sm';\n\ntype SizedInstance = { size?: () => string | null | undefined };\n\n/** The small-panel class for an overlay whose select is `size=\"small\"`, wherever the list is appended. */\nconst smallPanel = ({ instance }: { instance?: SizedInstance }) =>\n instance?.size?.() === 'small' ? { class: DW_SELECT_PANEL_SM } : {};\n\n/**\n * Crystal's pass-through defaults: a small `p-select` / `p-multiselect` gets small options even when its list is\n * appended to `<body>` (where CSS can't see the trigger).\n */\nexport const DW_PRIMENG_PT = {\n select: { overlay: smallPanel },\n multiselect: { overlay: smallPanel },\n} as const;\n\n/**\n * PrimeNG's z-index bases, with tooltips raised to 5000: PrimeNG already stacks a tooltip above the overlays it manages\n * (dialogs, drawers, popovers), and the higher base keeps it above layers that set their own z-index too (a panel or\n * page chrome with `z-index` in CSS), so a tooltip is never hidden under what it describes.\n */\nexport const DW_PRIMENG_Z_INDEX = { modal: 1100, overlay: 1000, menu: 1000, tooltip: 5000 } as const;\n\n/**\n * PrimeNG with the Dataworkz preset, dark mode on `[data-theme=\"dark\"]`. Pass app-specific PrimeNG settings\n * (ripple, zIndex, translation…) as `config`; its `theme.options` are merged over crystal's.\n *\n * ```ts\n * providers: [provideCrystal(), provideCrystalPrimeNG({ ripple: false })]\n * ```\n */\nexport function provideCrystalPrimeNG(config: PrimeNGConfigType = {}): EnvironmentProviders {\n const theme = typeof config.theme === 'object' ? config.theme : {};\n const pt = (config.pt ?? {}) as Record<string, Record<string, unknown> | undefined>;\n return providePrimeNG({\n ...config,\n zIndex: { ...DW_PRIMENG_Z_INDEX, ...(config.zIndex ?? {}) },\n // An app's own pass-through settings are merged over crystal's, section by section.\n pt: {\n ...pt,\n select: { ...DW_PRIMENG_PT.select, ...pt['select'] },\n multiselect: { ...DW_PRIMENG_PT.multiselect, ...pt['multiselect'] },\n } as PrimeNGConfigType['pt'],\n theme: {\n preset: DwPreset,\n ...theme,\n options: { darkModeSelector: DW_DARK_MODE_SELECTOR, ...(theme.options ?? {}) },\n },\n });\n}\n","/*\n * @dataworkz/crystal/primeng — the Dataworkz PrimeNG preset and provideCrystalPrimeNG().\n * Needs the optional peer @primeng/themes.\n */\nexport * from './dw-preset';\nexport * from './provide-crystal-primeng';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}