@ng-json-render/primitives 0.0.3 → 1.0.0-beta.1
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-json-render-primitives.mjs","sources":["../../../../libs/primitives/src/lib/layout.ts","../../../../libs/primitives/src/lib/content.ts","../../../../libs/primitives/src/lib/feedback.ts","../../../../libs/primitives/src/lib/charts.ts","../../../../libs/primitives/src/lib/table.ts","../../../../libs/primitives/src/lib/forms.ts","../../../../libs/primitives/src/lib/registry.ts","../../../../libs/primitives/src/index.ts","../../../../libs/primitives/src/ng-json-render-primitives.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n} from '@angular/core';\n\n/** Centered, max-width page container. */\n@Component({\n selector: 'jr-container',\n template: `<ng-content />`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'block w-full',\n '[style.max-width]': 'maxWidthValue()',\n '[style.margin-inline]': '\"auto\"',\n },\n})\nexport class JrContainer {\n readonly maxWidth = input<number | string>(960);\n protected readonly maxWidthValue = computed(() => {\n const w = this.maxWidth();\n return typeof w === 'number' ? `${w}px` : w;\n });\n}\n\n/** Flexbox stack (row or column) with configurable gap and alignment. */\n@Component({\n selector: 'jr-stack',\n template: `<ng-content />`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n style: 'display: flex; box-sizing: border-box;',\n '[style.flex-direction]': 'direction()',\n '[style.gap]': 'gapValue()',\n '[style.align-items]': 'align()',\n '[style.justify-content]': 'justify()',\n '[style.flex-wrap]': 'wrap() ? \"wrap\" : null',\n },\n})\nexport class JrStack {\n readonly direction = input<'row' | 'column'>('column');\n readonly gap = input<number | string>(12);\n readonly align = input<string>();\n readonly justify = input<string>();\n readonly wrap = input(false);\n\n protected readonly gapValue = computed(() => {\n const g = this.gap();\n return typeof g === 'number' ? `${g}px` : g;\n });\n}\n\n/**\n * Responsive grid. `columns` is the target column count at full width; the grid\n * collapses to fewer columns as the container narrows (each column never shrinks\n * below `minItemWidth`), so specs stay responsive without media queries.\n */\n@Component({\n selector: 'jr-grid',\n template: `<ng-content />`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n style: 'display: grid; box-sizing: border-box;',\n '[style.grid-template-columns]': 'templateColumns()',\n '[style.gap]': 'gapValue()',\n },\n})\nexport class JrGrid {\n readonly columns = input<number>(2);\n readonly gap = input<number | string>(16);\n /** Minimum width a column may shrink to before the grid drops a column. */\n readonly minItemWidth = input<number>(200);\n\n protected readonly gapValue = computed(() => {\n const g = this.gap();\n return typeof g === 'number' ? `${g}px` : g;\n });\n\n protected readonly templateColumns = computed(() => {\n const cols = Math.max(1, this.columns());\n if (cols === 1) return '1fr';\n const gap = this.gapValue();\n const min = this.minItemWidth();\n // Width of one column when `cols` fit; `auto-fit` drops columns once this\n // would fall below `minItemWidth`. `min(100%, …)` avoids overflow on tiny screens.\n const ideal = `calc((100% - (${cols} - 1) * ${gap}) / ${cols})`;\n return `repeat(auto-fit, minmax(min(100%, max(${min}px, ${ideal})), 1fr))`;\n });\n}\n\n/** Bordered surface with an optional title/subtitle. */\n@Component({\n selector: 'jr-card',\n template: `\n @if (title() || subtitle()) {\n <div class=\"mb-3\">\n @if (title()) {\n <div\n class=\"text-sm font-semibold text-zinc-900 dark:text-zinc-100\"\n >\n {{ title() }}\n </div>\n }\n @if (subtitle()) {\n <div class=\"text-xs text-zinc-500 dark:text-zinc-400\">\n {{ subtitle() }}\n </div>\n }\n </div>\n }\n <ng-content />\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class:\n 'block rounded-xl border border-zinc-200 bg-white p-5 shadow-sm dark:border-zinc-800 dark:bg-zinc-900',\n },\n})\nexport class JrCard {\n readonly title = input<string>();\n readonly subtitle = input<string>();\n}\n\n/** Horizontal rule. */\n@Component({\n selector: 'jr-divider',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'block border-t border-zinc-200 dark:border-zinc-800',\n role: 'separator',\n },\n})\nexport class JrDivider {}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n} from '@angular/core';\n\n/** Section heading (levels 1–4). */\n@Component({\n selector: 'jr-heading',\n template: `{{ value() }}<ng-content />`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class]': 'sizeClass()',\n },\n})\nexport class JrHeading {\n readonly value = input('');\n readonly level = input<1 | 2 | 3 | 4>(2);\n\n protected readonly sizeClass = computed(() => {\n const base =\n 'block font-semibold tracking-tight text-zinc-900 dark:text-zinc-50 ';\n return (\n base +\n { 1: 'text-3xl', 2: 'text-2xl', 3: 'text-lg', 4: 'text-base' }[\n this.level()\n ]\n );\n });\n}\n\n/** Body text. */\n@Component({\n selector: 'jr-text',\n template: `{{ value() }}<ng-content />`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'text-zinc-600 dark:text-zinc-300',\n '[class.font-medium]': 'weight() === \"medium\"',\n '[class.font-semibold]': 'weight() === \"bold\"',\n '[class.text-sm]': 'size() === \"sm\"',\n '[class.text-xs]': 'size() === \"xs\"',\n '[class.text-lg]': 'size() === \"lg\"',\n },\n})\nexport class JrText {\n readonly value = input('');\n readonly weight = input<'normal' | 'medium' | 'bold'>('normal');\n readonly size = input<'xs' | 'sm' | 'base' | 'lg'>('base');\n}\n\nconst BADGE_TONES: Record<string, string> = {\n neutral:\n 'bg-zinc-100 text-zinc-700 dark:bg-zinc-800 dark:text-zinc-300',\n success:\n 'bg-emerald-100 text-emerald-700 dark:bg-emerald-500/15 dark:text-emerald-400',\n warning:\n 'bg-amber-100 text-amber-700 dark:bg-amber-500/15 dark:text-amber-400',\n danger: 'bg-red-100 text-red-700 dark:bg-red-500/15 dark:text-red-400',\n info: 'bg-indigo-100 text-indigo-700 dark:bg-indigo-500/15 dark:text-indigo-300',\n};\n\n/** Small status pill. */\n@Component({\n selector: 'jr-badge',\n template: `{{ label() }}<ng-content />`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class]': 'toneClass()',\n },\n})\nexport class JrBadge {\n readonly label = input('');\n readonly tone = input<'neutral' | 'success' | 'warning' | 'danger' | 'info'>(\n 'neutral',\n );\n protected readonly toneClass = computed(\n () =>\n 'inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium ' +\n (BADGE_TONES[this.tone()] ?? BADGE_TONES['neutral']),\n );\n}\n\n/** KPI tile: a big value with a label and an optional delta. */\n@Component({\n selector: 'jr-stat',\n template: `\n <div class=\"text-sm font-medium text-zinc-500 dark:text-zinc-400\">\n {{ label() }}\n </div>\n <div class=\"mt-1 flex items-baseline gap-2\">\n <span class=\"text-2xl font-semibold text-zinc-900 dark:text-zinc-50\">\n {{ value() }}\n </span>\n @if (delta() !== null) {\n <span\n class=\"text-xs font-medium\"\n [class.text-emerald-600]=\"(delta() ?? 0) >= 0\"\n [class.text-red-600]=\"(delta() ?? 0) < 0\"\n >\n {{ (delta() ?? 0) >= 0 ? '▲' : '▼' }} {{ absDelta() }}%\n </span>\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'block' },\n})\nexport class JrStat {\n readonly label = input('');\n readonly value = input<string | number>('');\n readonly delta = input<number | null>(null);\n protected readonly absDelta = computed(() => Math.abs(this.delta() ?? 0));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n} from '@angular/core';\n\nconst ALERT_TONES: Record<string, string> = {\n info: 'border-indigo-200 bg-indigo-50 text-indigo-800 dark:border-indigo-500/30 dark:bg-indigo-500/10 dark:text-indigo-200',\n success:\n 'border-emerald-200 bg-emerald-50 text-emerald-800 dark:border-emerald-500/30 dark:bg-emerald-500/10 dark:text-emerald-200',\n warning:\n 'border-amber-200 bg-amber-50 text-amber-800 dark:border-amber-500/30 dark:bg-amber-500/10 dark:text-amber-200',\n danger:\n 'border-red-200 bg-red-50 text-red-800 dark:border-red-500/30 dark:bg-red-500/10 dark:text-red-200',\n};\n\n/** Inline callout / alert banner. */\n@Component({\n selector: 'jr-alert',\n template: `\n @if (title()) {\n <div class=\"font-medium\">{{ title() }}</div>\n }\n <div class=\"text-sm\" [class.mt-0.5]=\"!!title()\">\n {{ message() }}<ng-content />\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'alert',\n '[class]': 'toneClass()',\n },\n})\nexport class JrAlert {\n readonly title = input<string>();\n readonly message = input('');\n readonly tone = input<'info' | 'success' | 'warning' | 'danger'>('info');\n protected readonly toneClass = computed(\n () =>\n 'block rounded-lg border px-4 py-3 ' +\n (ALERT_TONES[this.tone()] ?? ALERT_TONES['info']),\n );\n}\n\n/** Determinate progress bar (0–100). */\n@Component({\n selector: 'jr-progress',\n template: `\n <div\n class=\"h-2 w-full overflow-hidden rounded-full bg-zinc-200 dark:bg-zinc-800\"\n >\n <div\n class=\"h-full rounded-full bg-indigo-600 transition-[width] duration-300\"\n [style.width.%]=\"clamped()\"\n ></div>\n </div>\n @if (label()) {\n <div class=\"mt-1 text-xs text-zinc-500 dark:text-zinc-400\">\n {{ label() }} · {{ clamped() }}%\n </div>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'block' },\n})\nexport class JrProgress {\n readonly value = input<number>(0);\n readonly label = input<string>();\n protected readonly clamped = computed(() =>\n Math.max(0, Math.min(100, Math.round(this.value()))),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n} from '@angular/core';\n\n/** A single {label, value} datum for charts. */\nexport interface ChartDatum {\n label: string;\n value: number;\n}\n\n/** Responsive CSS bar chart (no chart library). */\n@Component({\n selector: 'jr-bar-chart',\n template: `\n <div class=\"flex items-end gap-2\" [style.height.px]=\"height()\">\n @for (d of data(); track $index) {\n <div class=\"flex h-full flex-1 items-end\">\n <div\n class=\"w-full rounded-t-md bg-indigo-500 transition-[height] duration-300 dark:bg-indigo-400\"\n [style.height.%]=\"pct(d.value)\"\n [title]=\"d.label + ': ' + d.value\"\n ></div>\n </div>\n }\n </div>\n <div class=\"mt-1.5 flex gap-2\">\n @for (d of data(); track $index) {\n <div\n class=\"flex-1 truncate text-center text-xs text-zinc-500 dark:text-zinc-400\"\n >\n {{ d.label }}\n </div>\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'block' },\n})\nexport class JrBarChart {\n readonly data = input<ChartDatum[]>([]);\n readonly height = input(160);\n private readonly max = computed(() =>\n Math.max(1, ...this.data().map((d) => d.value)),\n );\n protected pct(value: number): number {\n return Math.max(2, (value / this.max()) * 100);\n }\n}\n\n/** Responsive SVG line/area chart (no chart library). */\n@Component({\n selector: 'jr-line-chart',\n template: `\n <svg\n viewBox=\"0 0 300 100\"\n preserveAspectRatio=\"none\"\n class=\"w-full\"\n [style.height.px]=\"height()\"\n aria-hidden=\"true\"\n >\n @if (geom().line) {\n <polygon\n [attr.points]=\"geom().area\"\n class=\"fill-indigo-500/10 dark:fill-indigo-400/10\"\n />\n <polyline\n [attr.points]=\"geom().line\"\n fill=\"none\"\n class=\"stroke-indigo-500 dark:stroke-indigo-400\"\n stroke-width=\"2\"\n stroke-linejoin=\"round\"\n stroke-linecap=\"round\"\n vector-effect=\"non-scaling-stroke\"\n />\n }\n </svg>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'block' },\n})\nexport class JrLineChart {\n readonly data = input<number[]>([]);\n readonly height = input(120);\n\n protected readonly geom = computed(() => {\n const d = this.data();\n if (d.length < 2) return { line: '', area: '' };\n const w = 300;\n const h = 100;\n const max = Math.max(...d);\n const min = Math.min(...d);\n const range = max - min || 1;\n const step = w / (d.length - 1);\n const pts = d.map((v, i) => {\n const x = i * step;\n const y = h - ((v - min) / range) * (h * 0.9) - h * 0.05;\n return `${x.toFixed(1)},${y.toFixed(1)}`;\n });\n return { line: pts.join(' '), area: `0,${h} ${pts.join(' ')} ${w},${h}` };\n });\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n} from '@angular/core';\n\n/** A table column, either a bare key or a key/label pair. */\nexport type JrTableColumn = string | { key: string; label?: string };\n\n/** Simple data table. */\n@Component({\n selector: 'jr-table',\n template: `\n <div\n class=\"overflow-x-auto rounded-xl border border-zinc-200 dark:border-zinc-800\"\n >\n <table class=\"w-full border-collapse text-sm\">\n <thead>\n <tr class=\"bg-zinc-50 dark:bg-zinc-800/50\">\n @for (col of cols(); track col.key) {\n <th\n class=\"px-4 py-2.5 text-left font-medium text-zinc-500 dark:text-zinc-400\"\n >\n {{ col.label }}\n </th>\n }\n </tr>\n </thead>\n <tbody>\n @for (row of rows(); track $index) {\n <tr\n class=\"border-t border-zinc-100 dark:border-zinc-800/70\"\n >\n @for (col of cols(); track col.key) {\n <td class=\"px-4 py-2.5 text-zinc-700 dark:text-zinc-300\">\n {{ cell(row, col.key) }}\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'block' },\n})\nexport class JrTable {\n readonly columns = input<JrTableColumn[]>([]);\n readonly rows = input<Record<string, unknown>[]>([]);\n\n protected readonly cols = computed(() =>\n this.columns().map((c) =>\n typeof c === 'string'\n ? { key: c, label: c }\n : { key: c.key, label: c.label ?? c.key },\n ),\n );\n\n protected cell(row: Record<string, unknown>, key: string): string {\n const v = row[key];\n return v == null ? '' : String(v);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n input,\n model,\n} from '@angular/core';\nimport { JR_CONTEXT } from '@ng-json-render/core';\n\n// Note: these controls expose a `value` / `checked` model(), which *structurally*\n// satisfies Angular's Signal Forms `FormValueControl` / `FormCheckboxControl`\n// contracts — so on Angular 21 they work with the `[field]` directive — without\n// importing `@angular/forms/signals`, keeping the package usable on Angular 19+.\n\nconst FIELD_LABEL =\n 'text-sm font-medium text-zinc-700 dark:text-zinc-300';\nconst CONTROL =\n 'w-full rounded-lg border border-zinc-300 bg-white px-3 py-2 text-sm text-zinc-900 shadow-sm outline-none placeholder:text-zinc-400 focus:border-indigo-500 focus:ring-2 focus:ring-indigo-500/30 dark:border-zinc-700 dark:bg-zinc-900 dark:text-zinc-100';\n\n/**\n * Text input. A Signal Forms Signal Forms value control — usable with the `[field]`\n * directive, or driven by `$bindState` through the renderer.\n */\n@Component({\n selector: 'jr-input',\n template: `\n <label class=\"flex flex-col gap-1.5\">\n @if (label()) {\n <span [class]=\"labelClass\">{{ label() }}</span>\n }\n <input\n [type]=\"type()\"\n [value]=\"value()\"\n [placeholder]=\"placeholder()\"\n [class]=\"controlClass\"\n (input)=\"value.set(read($event))\"\n />\n @if (hint()) {\n <span class=\"text-xs text-zinc-500 dark:text-zinc-400\">{{\n hint()\n }}</span>\n }\n </label>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'block' },\n})\nexport class JrInput {\n readonly value = model('');\n readonly label = input<string>();\n readonly placeholder = input('');\n readonly type = input<'text' | 'email' | 'password' | 'number'>('text');\n readonly hint = input<string>();\n protected readonly labelClass = FIELD_LABEL;\n protected readonly controlClass = CONTROL;\n protected read(e: Event): string {\n return (e.target as HTMLInputElement).value;\n }\n}\n\n/** Multi-line text input (Signal Forms value control). */\n@Component({\n selector: 'jr-textarea',\n template: `\n <label class=\"flex flex-col gap-1.5\">\n @if (label()) {\n <span [class]=\"labelClass\">{{ label() }}</span>\n }\n <textarea\n [value]=\"value()\"\n [placeholder]=\"placeholder()\"\n [rows]=\"rows()\"\n [class]=\"controlClass\"\n (input)=\"value.set(read($event))\"\n ></textarea>\n </label>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'block' },\n})\nexport class JrTextarea {\n readonly value = model('');\n readonly label = input<string>();\n readonly placeholder = input('');\n readonly rows = input(3);\n protected readonly labelClass = FIELD_LABEL;\n protected readonly controlClass = CONTROL;\n protected read(e: Event): string {\n return (e.target as HTMLTextAreaElement).value;\n }\n}\n\n/** An option for {@link JrSelect}. */\nexport type JrSelectOption = string | { value: string; label?: string };\n\n/** Dropdown select (Signal Forms value control). */\n@Component({\n selector: 'jr-select',\n template: `\n <label class=\"flex flex-col gap-1.5\">\n @if (label()) {\n <span [class]=\"labelClass\">{{ label() }}</span>\n }\n <select\n [value]=\"value()\"\n [class]=\"controlClass\"\n (change)=\"value.set(read($event))\"\n >\n @if (placeholder()) {\n <option value=\"\" disabled>{{ placeholder() }}</option>\n }\n @for (opt of normalized(); track opt.value) {\n <option [value]=\"opt.value\">{{ opt.label }}</option>\n }\n </select>\n </label>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'block' },\n})\nexport class JrSelect {\n readonly value = model('');\n readonly label = input<string>();\n readonly placeholder = input<string>();\n readonly options = input<JrSelectOption[]>([]);\n protected readonly labelClass = FIELD_LABEL;\n protected readonly controlClass = CONTROL;\n protected readonly normalized = computed(() =>\n this.options().map((o) =>\n typeof o === 'string'\n ? { value: o, label: o }\n : { value: o.value, label: o.label ?? o.value },\n ),\n );\n protected read(e: Event): string {\n return (e.target as HTMLSelectElement).value;\n }\n}\n\n/** Checkbox (Signal Forms checkbox control). */\n@Component({\n selector: 'jr-checkbox',\n template: `\n <label class=\"flex cursor-pointer items-center gap-2.5\">\n <input\n type=\"checkbox\"\n class=\"h-4 w-4 rounded border-zinc-300 text-indigo-600 focus:ring-indigo-500/40 dark:border-zinc-600 dark:bg-zinc-800\"\n [checked]=\"checked()\"\n (change)=\"checked.set(read($event))\"\n />\n <span class=\"text-sm text-zinc-700 dark:text-zinc-300\">{{\n label()\n }}</span>\n </label>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'block' },\n})\nexport class JrCheckbox {\n readonly checked = model(false);\n readonly label = input('');\n protected read(e: Event): boolean {\n return (e.target as HTMLInputElement).checked;\n }\n}\n\n/** Toggle switch (Signal Forms checkbox control). */\n@Component({\n selector: 'jr-switch',\n template: `\n <div class=\"flex cursor-pointer items-center justify-between gap-3\">\n <span class=\"text-sm text-zinc-700 dark:text-zinc-300\">{{\n label()\n }}</span>\n <button\n type=\"button\"\n role=\"switch\"\n [attr.aria-checked]=\"checked()\"\n (click)=\"checked.set(!checked())\"\n class=\"relative inline-flex h-6 w-11 items-center rounded-full transition-colors\"\n [class.bg-indigo-600]=\"checked()\"\n [class.bg-zinc-300]=\"!checked()\"\n [class.dark:bg-zinc-700]=\"!checked()\"\n >\n <span\n class=\"inline-block h-4 w-4 transform rounded-full bg-white transition-transform\"\n [class.translate-x-6]=\"checked()\"\n [class.translate-x-1]=\"!checked()\"\n ></span>\n </button>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'block' },\n})\nexport class JrSwitch {\n readonly checked = model(false);\n readonly label = input('');\n}\n\nconst BUTTON_VARIANTS: Record<string, string> = {\n primary:\n 'bg-indigo-600 text-white hover:bg-indigo-500 focus-visible:ring-indigo-500/40',\n secondary:\n 'border border-zinc-300 bg-white text-zinc-800 hover:bg-zinc-50 dark:border-zinc-700 dark:bg-zinc-900 dark:text-zinc-100 dark:hover:bg-zinc-800',\n ghost:\n 'text-zinc-700 hover:bg-zinc-100 dark:text-zinc-200 dark:hover:bg-zinc-800',\n danger: 'bg-red-600 text-white hover:bg-red-500 focus-visible:ring-red-500/40',\n};\n\n/** Button that emits the `press` action. */\n@Component({\n selector: 'jr-button',\n template: `\n <button\n type=\"button\"\n [class]=\"buttonClass()\"\n [disabled]=\"disabled()\"\n (click)=\"ctx.emit('press')\"\n >\n {{ label() }}<ng-content />\n </button>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'inline-block' },\n})\nexport class JrButton {\n readonly label = input('');\n readonly variant = input<'primary' | 'secondary' | 'ghost' | 'danger'>(\n 'primary',\n );\n readonly disabled = input(false);\n protected readonly ctx = inject(JR_CONTEXT);\n protected readonly buttonClass = computed(\n () =>\n 'inline-flex items-center justify-center rounded-lg px-4 py-2 text-sm font-medium transition-colors outline-none focus-visible:ring-2 disabled:opacity-50 disabled:pointer-events-none ' +\n (BUTTON_VARIANTS[this.variant()] ?? BUTTON_VARIANTS['primary']),\n );\n}\n","import { type JrRegistry, defineRegistry } from '@ng-json-render/core';\nimport { JrBarChart, JrLineChart } from './charts';\nimport { JrBadge, JrHeading, JrStat, JrText } from './content';\nimport {\n JrButton,\n JrCheckbox,\n JrInput,\n JrSelect,\n JrSwitch,\n JrTextarea,\n} from './forms';\nimport { JrAlert, JrProgress } from './feedback';\nimport { JrCard, JrContainer, JrDivider, JrGrid, JrStack } from './layout';\nimport { JrTable } from './table';\n\n/**\n * Registry of all built-in primitive components, keyed by catalog `type`.\n * Pass to `<jr-renderer [registry]=\"primitivesRegistry\">` or\n * `provideJsonRender({ registry: primitivesRegistry })`.\n */\nexport const primitivesRegistry: JrRegistry = defineRegistry({\n // layout\n Container: JrContainer,\n Stack: JrStack,\n Grid: JrGrid,\n Card: JrCard,\n Divider: JrDivider,\n // content\n Heading: JrHeading,\n Text: JrText,\n Badge: JrBadge,\n Stat: JrStat,\n // feedback\n Alert: JrAlert,\n Progress: JrProgress,\n // data\n Table: JrTable,\n BarChart: JrBarChart,\n LineChart: JrLineChart,\n // forms\n Input: JrInput,\n Textarea: JrTextarea,\n Select: JrSelect,\n Checkbox: JrCheckbox,\n Switch: JrSwitch,\n Button: JrButton,\n});\n","// layout\nexport { JrContainer, JrStack, JrGrid, JrCard, JrDivider } from './lib/layout';\n// content\nexport { JrHeading, JrText, JrBadge, JrStat } from './lib/content';\n// feedback\nexport { JrAlert, JrProgress } from './lib/feedback';\n// data-viz\nexport { JrBarChart, JrLineChart, type ChartDatum } from './lib/charts';\nexport { JrTable, type JrTableColumn } from './lib/table';\n// forms (Signal Forms controls)\nexport {\n JrInput,\n JrTextarea,\n JrSelect,\n type JrSelectOption,\n JrCheckbox,\n JrSwitch,\n JrButton,\n} from './lib/forms';\n// registry\nexport { primitivesRegistry } from './lib/registry';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-json-render-primitives.mjs","sources":["../../../../libs/primitives/src/lib/layout/jr-container.ts","../../../../libs/primitives/src/lib/layout/jr-stack.ts","../../../../libs/primitives/src/lib/layout/jr-grid.ts","../../../../libs/primitives/src/lib/layout/jr-card.ts","../../../../libs/primitives/src/lib/layout/jr-divider.ts","../../../../libs/primitives/src/lib/content/jr-heading.ts","../../../../libs/primitives/src/lib/content/jr-text.ts","../../../../libs/primitives/src/lib/content/jr-badge.ts","../../../../libs/primitives/src/lib/content/jr-stat.ts","../../../../libs/primitives/src/lib/feedback/jr-alert.ts","../../../../libs/primitives/src/lib/feedback/jr-progress.ts","../../../../libs/primitives/src/lib/data/jr-bar-chart.ts","../../../../libs/primitives/src/lib/data/jr-line-chart.ts","../../../../libs/primitives/src/lib/data/jr-table.ts","../../../../libs/primitives/src/lib/forms/form-styles.ts","../../../../libs/primitives/src/lib/forms/jr-input.ts","../../../../libs/primitives/src/lib/forms/jr-textarea.ts","../../../../libs/primitives/src/lib/forms/jr-select.ts","../../../../libs/primitives/src/lib/forms/jr-checkbox.ts","../../../../libs/primitives/src/lib/forms/jr-switch.ts","../../../../libs/primitives/src/lib/forms/jr-button.ts","../../../../libs/primitives/src/lib/registry.ts","../../../../libs/primitives/src/index.ts","../../../../libs/primitives/src/ng-json-render-primitives.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n} from '@angular/core';\n\n/** Centered, max-width page container. */\n@Component({\n selector: 'jr-container',\n template: `<ng-content />`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'block w-full',\n style: 'margin-inline: auto;',\n '[style.max-width]': 'maxWidthValue()',\n },\n})\nexport class JrContainer {\n readonly maxWidth = input<number | string>(960);\n protected readonly maxWidthValue = computed(() => {\n const w = this.maxWidth();\n return typeof w === 'number' ? `${w}px` : w;\n });\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n} from '@angular/core';\n\n/** Flexbox stack (row or column) with configurable gap and alignment. */\n@Component({\n selector: 'jr-stack',\n template: `<ng-content />`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n style: 'display: flex; box-sizing: border-box;',\n '[style.flex-direction]': 'direction()',\n '[style.gap]': 'gapValue()',\n '[style.align-items]': 'align()',\n '[style.justify-content]': 'justify()',\n '[style.flex-wrap]': 'wrap() ? \"wrap\" : null',\n },\n})\nexport class JrStack {\n readonly direction = input<'row' | 'column'>('column');\n readonly gap = input<number | string>(12);\n readonly align = input<string>();\n readonly justify = input<string>();\n readonly wrap = input(false);\n\n protected readonly gapValue = computed(() => {\n const g = this.gap();\n return typeof g === 'number' ? `${g}px` : g;\n });\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n} from '@angular/core';\n\n/**\n * Responsive grid. `columns` is the target column count at full width; the grid\n * collapses to fewer columns as the container narrows (each column never shrinks\n * below `minItemWidth`), so specs stay responsive without media queries.\n */\n@Component({\n selector: 'jr-grid',\n template: `<ng-content />`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n style: 'display: grid; box-sizing: border-box;',\n '[style.grid-template-columns]': 'templateColumns()',\n '[style.gap]': 'gapValue()',\n },\n})\nexport class JrGrid {\n readonly columns = input<number>(2);\n readonly gap = input<number | string>(16);\n /** Minimum width a column may shrink to before the grid drops a column. */\n readonly minItemWidth = input<number>(200);\n\n protected readonly gapValue = computed(() => {\n const g = this.gap();\n return typeof g === 'number' ? `${g}px` : g;\n });\n\n protected readonly templateColumns = computed(() => {\n const cols = Math.max(1, this.columns());\n if (cols === 1) return '1fr';\n const gap = this.gapValue();\n const min = this.minItemWidth();\n // Width of one column when `cols` fit; `auto-fit` drops columns once this\n // would fall below `minItemWidth`. `min(100%, …)` avoids overflow on tiny screens.\n const ideal = `calc((100% - (${cols} - 1) * ${gap}) / ${cols})`;\n return `repeat(auto-fit, minmax(min(100%, max(${min}px, ${ideal})), 1fr))`;\n });\n}\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\n\n/** Bordered surface with an optional title/subtitle. */\n@Component({\n selector: 'jr-card',\n template: `\n @if (title() || subtitle()) {\n <div class=\"mb-3\">\n @if (title()) {\n <div class=\"text-sm font-semibold text-zinc-900 dark:text-zinc-100\">\n {{ title() }}\n </div>\n }\n @if (subtitle()) {\n <div class=\"text-xs text-zinc-500 dark:text-zinc-400\">\n {{ subtitle() }}\n </div>\n }\n </div>\n }\n <ng-content />\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class:\n 'block rounded-xl border border-zinc-200 bg-white p-5 shadow-sm dark:border-zinc-800 dark:bg-zinc-900',\n },\n})\nexport class JrCard {\n readonly title = input<string>();\n readonly subtitle = input<string>();\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/** Horizontal rule. */\n@Component({\n selector: 'jr-divider',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'block border-t border-zinc-200 dark:border-zinc-800',\n role: 'separator',\n },\n})\nexport class JrDivider {}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n} from '@angular/core';\n\nconst HEADING_SIZES: Record<number, string> = {\n 1: 'text-3xl',\n 2: 'text-2xl',\n 3: 'text-lg',\n 4: 'text-base',\n};\n\n/** Section heading (levels 1–4), exposed to assistive tech as a heading. */\n@Component({\n selector: 'jr-heading',\n template: `{{ value() }}<ng-content />`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'heading',\n '[attr.aria-level]': 'level()',\n '[class]': 'sizeClass()',\n },\n})\nexport class JrHeading {\n readonly value = input('');\n readonly level = input<1 | 2 | 3 | 4>(2);\n\n protected readonly sizeClass = computed(\n () =>\n 'block font-semibold tracking-tight text-zinc-900 dark:text-zinc-50 ' +\n (HEADING_SIZES[this.level()] ?? HEADING_SIZES[2]),\n );\n}\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\n\n/** Body text. */\n@Component({\n selector: 'jr-text',\n template: `{{ value() }}<ng-content />`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'text-zinc-600 dark:text-zinc-300',\n '[class.font-medium]': 'weight() === \"medium\"',\n '[class.font-semibold]': 'weight() === \"bold\"',\n '[class.text-sm]': 'size() === \"sm\"',\n '[class.text-xs]': 'size() === \"xs\"',\n '[class.text-lg]': 'size() === \"lg\"',\n },\n})\nexport class JrText {\n readonly value = input('');\n readonly weight = input<'normal' | 'medium' | 'bold'>('normal');\n readonly size = input<'xs' | 'sm' | 'base' | 'lg'>('base');\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n} from '@angular/core';\n\nconst BADGE_TONES: Record<string, string> = {\n neutral: 'bg-zinc-100 text-zinc-700 dark:bg-zinc-800 dark:text-zinc-300',\n success:\n 'bg-emerald-100 text-emerald-700 dark:bg-emerald-500/15 dark:text-emerald-400',\n warning:\n 'bg-amber-100 text-amber-700 dark:bg-amber-500/15 dark:text-amber-400',\n danger: 'bg-red-100 text-red-700 dark:bg-red-500/15 dark:text-red-400',\n info: 'bg-indigo-100 text-indigo-700 dark:bg-indigo-500/15 dark:text-indigo-300',\n};\n\n/** Small status pill. */\n@Component({\n selector: 'jr-badge',\n template: `{{ label() }}<ng-content />`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class]': 'toneClass()',\n },\n})\nexport class JrBadge {\n readonly label = input('');\n readonly tone = input<'neutral' | 'success' | 'warning' | 'danger' | 'info'>(\n 'neutral',\n );\n protected readonly toneClass = computed(\n () =>\n 'inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium ' +\n (BADGE_TONES[this.tone()] ?? BADGE_TONES['neutral']),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n} from '@angular/core';\n\n/** KPI tile: a big value with a label and an optional delta. */\n@Component({\n selector: 'jr-stat',\n template: `\n <div class=\"text-sm font-medium text-zinc-500 dark:text-zinc-400\">\n {{ label() }}\n </div>\n <div class=\"mt-1 flex items-baseline gap-2\">\n <span class=\"text-2xl font-semibold text-zinc-900 dark:text-zinc-50\">\n {{ value() }}\n </span>\n @if (delta() !== null) {\n <span\n class=\"text-xs font-medium\"\n [class.text-emerald-600]=\"!down()\"\n [class.text-red-600]=\"down()\"\n >\n <span aria-hidden=\"true\">{{ down() ? '▼' : '▲' }}</span>\n <span class=\"sr-only\">{{ down() ? 'down' : 'up' }}</span>\n {{ absDelta() }}%\n </span>\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'block' },\n})\nexport class JrStat {\n readonly label = input('');\n readonly value = input<string | number>('');\n readonly delta = input<number | null>(null);\n protected readonly down = computed(() => (this.delta() ?? 0) < 0);\n protected readonly absDelta = computed(() => Math.abs(this.delta() ?? 0));\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n} from '@angular/core';\n\nconst ALERT_TONES: Record<string, string> = {\n info: 'border-indigo-200 bg-indigo-50 text-indigo-800 dark:border-indigo-500/30 dark:bg-indigo-500/10 dark:text-indigo-200',\n success:\n 'border-emerald-200 bg-emerald-50 text-emerald-800 dark:border-emerald-500/30 dark:bg-emerald-500/10 dark:text-emerald-200',\n warning:\n 'border-amber-200 bg-amber-50 text-amber-800 dark:border-amber-500/30 dark:bg-amber-500/10 dark:text-amber-200',\n danger:\n 'border-red-200 bg-red-50 text-red-800 dark:border-red-500/30 dark:bg-red-500/10 dark:text-red-200',\n};\n\n/**\n * Inline callout. `warning` and `danger` are announced immediately\n * (`role=\"alert\"`); `info` and `success` are polite (`role=\"status\"`).\n */\n@Component({\n selector: 'jr-alert',\n template: `\n @if (title()) {\n <div class=\"font-medium\">{{ title() }}</div>\n }\n <div class=\"text-sm\" [class.mt-0.5]=\"!!title()\">\n {{ message() }}<ng-content />\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.role]': 'urgent() ? \"alert\" : \"status\"',\n '[class]': 'toneClass()',\n },\n})\nexport class JrAlert {\n readonly title = input<string>();\n readonly message = input('');\n readonly tone = input<'info' | 'success' | 'warning' | 'danger'>('info');\n protected readonly urgent = computed(\n () => this.tone() === 'warning' || this.tone() === 'danger',\n );\n protected readonly toneClass = computed(\n () =>\n 'block rounded-lg border px-4 py-3 ' +\n (ALERT_TONES[this.tone()] ?? ALERT_TONES['info']),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n} from '@angular/core';\n\n/** Determinate progress bar (0–100). */\n@Component({\n selector: 'jr-progress',\n template: `\n <div\n class=\"h-2 w-full overflow-hidden rounded-full bg-zinc-200 dark:bg-zinc-800\"\n >\n <div\n class=\"h-full rounded-full bg-indigo-600 transition-[width] duration-300\"\n [style.width.%]=\"clamped()\"\n ></div>\n </div>\n @if (label()) {\n <div class=\"mt-1 text-xs text-zinc-500 dark:text-zinc-400\">\n {{ label() }} · {{ clamped() }}%\n </div>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'block',\n role: 'progressbar',\n 'aria-valuemin': '0',\n 'aria-valuemax': '100',\n '[attr.aria-valuenow]': 'clamped()',\n '[attr.aria-label]': 'label() || null',\n },\n})\nexport class JrProgress {\n readonly value = input<number>(0);\n readonly label = input<string>();\n protected readonly clamped = computed(() =>\n Math.max(0, Math.min(100, Math.round(this.value()))),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n} from '@angular/core';\n\n/** A single {label, value} datum for charts. */\nexport interface ChartDatum {\n label: string;\n value: number;\n}\n\n/** Responsive CSS bar chart (no chart library). */\n@Component({\n selector: 'jr-bar-chart',\n template: `\n <div class=\"flex items-end gap-2\" [style.height.px]=\"height()\">\n @for (bar of bars(); track $index) {\n <div class=\"flex h-full flex-1 items-end\">\n <div\n role=\"img\"\n class=\"w-full rounded-t-md bg-indigo-500 transition-[height] duration-300 dark:bg-indigo-400\"\n [style.height.%]=\"bar.pct\"\n [attr.aria-label]=\"bar.text\"\n [title]=\"bar.text\"\n ></div>\n </div>\n }\n </div>\n <div class=\"mt-1.5 flex gap-2\" aria-hidden=\"true\">\n @for (bar of bars(); track $index) {\n <div\n class=\"flex-1 truncate text-center text-xs text-zinc-500 dark:text-zinc-400\"\n >\n {{ bar.label }}\n </div>\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'block' },\n})\nexport class JrBarChart {\n readonly data = input<ChartDatum[]>([]);\n readonly height = input(160);\n\n protected readonly bars = computed(() => {\n const data = this.data();\n const max = Math.max(1, ...data.map((d) => d.value));\n return data.map((d) => ({\n label: d.label,\n text: `${d.label}: ${d.value}`,\n pct: Math.max(2, (d.value / max) * 100),\n }));\n });\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n} from '@angular/core';\n\n/**\n * Responsive SVG line/area chart (no chart library). Set `label` to describe\n * the series to assistive tech; without it the chart is decorative.\n */\n@Component({\n selector: 'jr-line-chart',\n template: `\n <svg\n viewBox=\"0 0 300 100\"\n preserveAspectRatio=\"none\"\n class=\"w-full\"\n [style.height.px]=\"height()\"\n [attr.role]=\"label() ? 'img' : null\"\n [attr.aria-label]=\"label() || null\"\n [attr.aria-hidden]=\"label() ? null : 'true'\"\n >\n @if (geom().line) {\n <polygon\n [attr.points]=\"geom().area\"\n class=\"fill-indigo-500/10 dark:fill-indigo-400/10\"\n />\n <polyline\n [attr.points]=\"geom().line\"\n fill=\"none\"\n class=\"stroke-indigo-500 dark:stroke-indigo-400\"\n stroke-width=\"2\"\n stroke-linejoin=\"round\"\n stroke-linecap=\"round\"\n vector-effect=\"non-scaling-stroke\"\n />\n }\n </svg>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'block' },\n})\nexport class JrLineChart {\n readonly data = input<number[]>([]);\n readonly height = input(120);\n /** Accessible description of the series, e.g. \"Signups, last 7 days\". */\n readonly label = input<string>();\n\n protected readonly geom = computed(() => {\n const d = this.data();\n if (d.length < 2) return { line: '', area: '' };\n const w = 300;\n const h = 100;\n const max = Math.max(...d);\n const min = Math.min(...d);\n const range = max - min || 1;\n const step = w / (d.length - 1);\n const pts = d.map((v, i) => {\n const x = i * step;\n const y = h - ((v - min) / range) * (h * 0.9) - h * 0.05;\n return `${x.toFixed(1)},${y.toFixed(1)}`;\n });\n return { line: pts.join(' '), area: `0,${h} ${pts.join(' ')} ${w},${h}` };\n });\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n} from '@angular/core';\n\n/** A table column, either a bare key or a key/label pair. */\nexport type JrTableColumn = string | { key: string; label?: string };\n\n/** Simple data table. */\n@Component({\n selector: 'jr-table',\n template: `\n <div\n class=\"overflow-x-auto rounded-xl border border-zinc-200 dark:border-zinc-800\"\n >\n <table class=\"w-full border-collapse text-sm\">\n <thead>\n <tr class=\"bg-zinc-50 dark:bg-zinc-800/50\">\n @for (col of cols(); track col.key) {\n <th\n scope=\"col\"\n class=\"px-4 py-2.5 text-left font-medium text-zinc-500 dark:text-zinc-400\"\n >\n {{ col.label }}\n </th>\n }\n </tr>\n </thead>\n <tbody>\n @for (row of rows(); track $index) {\n <tr class=\"border-t border-zinc-100 dark:border-zinc-800/70\">\n @for (col of cols(); track col.key) {\n <td class=\"px-4 py-2.5 text-zinc-700 dark:text-zinc-300\">\n {{ cell(row, col.key) }}\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'block' },\n})\nexport class JrTable {\n readonly columns = input<JrTableColumn[]>([]);\n readonly rows = input<Record<string, unknown>[]>([]);\n\n protected readonly cols = computed(() =>\n this.columns().map((c) =>\n typeof c === 'string'\n ? { key: c, label: c }\n : { key: c.key, label: c.label ?? c.key },\n ),\n );\n\n protected cell(row: Record<string, unknown>, key: string): string {\n const v = row[key];\n return v == null ? '' : String(v);\n }\n}\n","// Note: these controls expose a `value` / `checked` model(), which *structurally*\n// satisfies Angular's Signal Forms `FormValueControl` / `FormCheckboxControl`\n// contracts — so on Angular 21+ they work with the `[formField]` directive\n// (`[field]` in early 21 releases) — without importing `@angular/forms/signals`,\n// keeping the package usable on Angular 19+.\n\n/** Classes shared by the labelled text controls (Input, Textarea, Select). */\nexport const FIELD_LABEL =\n 'text-sm font-medium text-zinc-700 dark:text-zinc-300';\nexport const CONTROL =\n 'w-full rounded-lg border border-zinc-300 bg-white px-3 py-2 text-sm text-zinc-900 shadow-sm outline-none placeholder:text-zinc-400 focus:border-indigo-500 focus:ring-2 focus:ring-indigo-500/30 dark:border-zinc-700 dark:bg-zinc-900 dark:text-zinc-100';\n","import {\n ChangeDetectionStrategy,\n Component,\n input,\n model,\n} from '@angular/core';\nimport { CONTROL, FIELD_LABEL } from './form-styles';\n\n/**\n * Text input. A Signal Forms value control — usable with the `[formField]`\n * directive (Angular 21+), or driven by `$bindState` through the renderer.\n */\n@Component({\n selector: 'jr-input',\n template: `\n <label class=\"flex flex-col gap-1.5\">\n @if (label()) {\n <span [class]=\"labelClass\">{{ label() }}</span>\n }\n <input\n [type]=\"type()\"\n [value]=\"value()\"\n [placeholder]=\"placeholder()\"\n [class]=\"controlClass\"\n (input)=\"value.set(read($event))\"\n />\n @if (hint()) {\n <span class=\"text-xs text-zinc-500 dark:text-zinc-400\">{{\n hint()\n }}</span>\n }\n </label>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'block' },\n})\nexport class JrInput {\n readonly value = model('');\n readonly label = input<string>();\n readonly placeholder = input('');\n readonly type = input<'text' | 'email' | 'password' | 'number'>('text');\n readonly hint = input<string>();\n protected readonly labelClass = FIELD_LABEL;\n protected readonly controlClass = CONTROL;\n protected read(e: Event): string {\n return (e.target as HTMLInputElement).value;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n input,\n model,\n} from '@angular/core';\nimport { CONTROL, FIELD_LABEL } from './form-styles';\n\n/** Multi-line text input (Signal Forms value control). */\n@Component({\n selector: 'jr-textarea',\n template: `\n <label class=\"flex flex-col gap-1.5\">\n @if (label()) {\n <span [class]=\"labelClass\">{{ label() }}</span>\n }\n <textarea\n [value]=\"value()\"\n [placeholder]=\"placeholder()\"\n [rows]=\"rows()\"\n [class]=\"controlClass\"\n (input)=\"value.set(read($event))\"\n ></textarea>\n </label>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'block' },\n})\nexport class JrTextarea {\n readonly value = model('');\n readonly label = input<string>();\n readonly placeholder = input('');\n readonly rows = input(3);\n protected readonly labelClass = FIELD_LABEL;\n protected readonly controlClass = CONTROL;\n protected read(e: Event): string {\n return (e.target as HTMLTextAreaElement).value;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n model,\n} from '@angular/core';\nimport { CONTROL, FIELD_LABEL } from './form-styles';\n\n/** An option for {@link JrSelect}. */\nexport type JrSelectOption = string | { value: string; label?: string };\n\n/** Dropdown select (Signal Forms value control). */\n@Component({\n selector: 'jr-select',\n template: `\n <label class=\"flex flex-col gap-1.5\">\n @if (label()) {\n <span [class]=\"labelClass\">{{ label() }}</span>\n }\n <!-- Select per option: <select [value]> runs before the options exist. -->\n <select [class]=\"controlClass\" (change)=\"value.set(read($event))\">\n @if (placeholder()) {\n <option value=\"\" disabled [selected]=\"value() === ''\">\n {{ placeholder() }}\n </option>\n }\n @for (opt of normalized(); track opt.value) {\n <option [value]=\"opt.value\" [selected]=\"opt.value === value()\">\n {{ opt.label }}\n </option>\n }\n </select>\n </label>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'block' },\n})\nexport class JrSelect {\n readonly value = model('');\n readonly label = input<string>();\n readonly placeholder = input<string>();\n readonly options = input<JrSelectOption[]>([]);\n protected readonly labelClass = FIELD_LABEL;\n protected readonly controlClass = CONTROL;\n protected readonly normalized = computed(() =>\n this.options().map((o) =>\n typeof o === 'string'\n ? { value: o, label: o }\n : { value: o.value, label: o.label ?? o.value },\n ),\n );\n protected read(e: Event): string {\n return (e.target as HTMLSelectElement).value;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n input,\n model,\n} from '@angular/core';\n\n/** Checkbox (Signal Forms checkbox control). */\n@Component({\n selector: 'jr-checkbox',\n template: `\n <label class=\"flex cursor-pointer items-center gap-2.5\">\n <input\n type=\"checkbox\"\n class=\"h-4 w-4 rounded border-zinc-300 text-indigo-600 focus:ring-indigo-500/40 dark:border-zinc-600 dark:bg-zinc-800\"\n [checked]=\"checked()\"\n (change)=\"checked.set(read($event))\"\n />\n <span class=\"text-sm text-zinc-700 dark:text-zinc-300\">{{\n label()\n }}</span>\n </label>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'block' },\n})\nexport class JrCheckbox {\n readonly checked = model(false);\n readonly label = input('');\n protected read(e: Event): boolean {\n return (e.target as HTMLInputElement).checked;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n input,\n model,\n} from '@angular/core';\n\n/** Toggle switch (Signal Forms checkbox control). */\n@Component({\n selector: 'jr-switch',\n template: `\n <div class=\"flex cursor-pointer items-center justify-between gap-3\">\n <span class=\"text-sm text-zinc-700 dark:text-zinc-300\">{{\n label()\n }}</span>\n <button\n type=\"button\"\n role=\"switch\"\n [attr.aria-checked]=\"checked()\"\n [attr.aria-label]=\"label() || null\"\n (click)=\"checked.set(!checked())\"\n class=\"relative inline-flex h-6 w-11 items-center rounded-full transition-colors\"\n [class.bg-indigo-600]=\"checked()\"\n [class.bg-zinc-300]=\"!checked()\"\n [class.dark:bg-zinc-700]=\"!checked()\"\n >\n <span\n class=\"inline-block h-4 w-4 transform rounded-full bg-white transition-transform\"\n [class.translate-x-6]=\"checked()\"\n [class.translate-x-1]=\"!checked()\"\n ></span>\n </button>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'block' },\n})\nexport class JrSwitch {\n readonly checked = model(false);\n readonly label = input('');\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n input,\n} from '@angular/core';\nimport { JR_CONTEXT } from '@ng-json-render/core';\n\nconst BUTTON_VARIANTS: Record<string, string> = {\n primary:\n 'bg-indigo-600 text-white hover:bg-indigo-500 focus-visible:ring-indigo-500/40',\n secondary:\n 'border border-zinc-300 bg-white text-zinc-800 hover:bg-zinc-50 dark:border-zinc-700 dark:bg-zinc-900 dark:text-zinc-100 dark:hover:bg-zinc-800',\n ghost:\n 'text-zinc-700 hover:bg-zinc-100 dark:text-zinc-200 dark:hover:bg-zinc-800',\n danger:\n 'bg-red-600 text-white hover:bg-red-500 focus-visible:ring-red-500/40',\n};\n\n/**\n * Button that emits the `press` action. Outside a `<jr-renderer>` (no\n * `JR_CONTEXT`) it renders as a plain button.\n */\n@Component({\n selector: 'jr-button',\n template: `\n <button\n type=\"button\"\n [class]=\"buttonClass()\"\n [disabled]=\"disabled()\"\n (click)=\"ctx?.emit('press')\"\n >\n {{ label() }}<ng-content />\n </button>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'inline-block' },\n})\nexport class JrButton {\n readonly label = input('');\n readonly variant = input<'primary' | 'secondary' | 'ghost' | 'danger'>(\n 'primary',\n );\n readonly disabled = input(false);\n protected readonly ctx = inject(JR_CONTEXT, { optional: true });\n protected readonly buttonClass = computed(\n () =>\n 'inline-flex items-center justify-center rounded-lg px-4 py-2 text-sm font-medium transition-colors outline-none focus-visible:ring-2 disabled:opacity-50 disabled:pointer-events-none ' +\n (BUTTON_VARIANTS[this.variant()] ?? BUTTON_VARIANTS['primary']),\n );\n}\n","import { type JrRegistry, defineRegistry } from '@ng-json-render/core';\nimport { JrBadge } from './content/jr-badge';\nimport { JrHeading } from './content/jr-heading';\nimport { JrStat } from './content/jr-stat';\nimport { JrText } from './content/jr-text';\nimport { JrBarChart } from './data/jr-bar-chart';\nimport { JrLineChart } from './data/jr-line-chart';\nimport { JrTable } from './data/jr-table';\nimport { JrAlert } from './feedback/jr-alert';\nimport { JrProgress } from './feedback/jr-progress';\nimport { JrButton } from './forms/jr-button';\nimport { JrCheckbox } from './forms/jr-checkbox';\nimport { JrInput } from './forms/jr-input';\nimport { JrSelect } from './forms/jr-select';\nimport { JrSwitch } from './forms/jr-switch';\nimport { JrTextarea } from './forms/jr-textarea';\nimport { JrCard } from './layout/jr-card';\nimport { JrContainer } from './layout/jr-container';\nimport { JrDivider } from './layout/jr-divider';\nimport { JrGrid } from './layout/jr-grid';\nimport { JrStack } from './layout/jr-stack';\n\n/**\n * Registry of all built-in primitive components, keyed by catalog `type`.\n * Pass to `<jr-renderer [registry]=\"primitivesRegistry\">` or\n * `provideJsonRender({ registry: primitivesRegistry })`.\n */\nexport const primitivesRegistry: JrRegistry = defineRegistry({\n // layout\n Container: JrContainer,\n Stack: JrStack,\n Grid: JrGrid,\n Card: JrCard,\n Divider: JrDivider,\n // content\n Heading: JrHeading,\n Text: JrText,\n Badge: JrBadge,\n Stat: JrStat,\n // feedback\n Alert: JrAlert,\n Progress: JrProgress,\n // data\n Table: JrTable,\n BarChart: JrBarChart,\n LineChart: JrLineChart,\n // forms\n Input: JrInput,\n Textarea: JrTextarea,\n Select: JrSelect,\n Checkbox: JrCheckbox,\n Switch: JrSwitch,\n Button: JrButton,\n});\n","// layout\nexport { JrContainer } from './lib/layout/jr-container';\nexport { JrStack } from './lib/layout/jr-stack';\nexport { JrGrid } from './lib/layout/jr-grid';\nexport { JrCard } from './lib/layout/jr-card';\nexport { JrDivider } from './lib/layout/jr-divider';\n// content\nexport { JrHeading } from './lib/content/jr-heading';\nexport { JrText } from './lib/content/jr-text';\nexport { JrBadge } from './lib/content/jr-badge';\nexport { JrStat } from './lib/content/jr-stat';\n// feedback\nexport { JrAlert } from './lib/feedback/jr-alert';\nexport { JrProgress } from './lib/feedback/jr-progress';\n// data-viz\nexport { JrBarChart, type ChartDatum } from './lib/data/jr-bar-chart';\nexport { JrLineChart } from './lib/data/jr-line-chart';\nexport { JrTable, type JrTableColumn } from './lib/data/jr-table';\n// forms (Signal Forms controls)\nexport { JrInput } from './lib/forms/jr-input';\nexport { JrTextarea } from './lib/forms/jr-textarea';\nexport { JrSelect, type JrSelectOption } from './lib/forms/jr-select';\nexport { JrCheckbox } from './lib/forms/jr-checkbox';\nexport { JrSwitch } from './lib/forms/jr-switch';\nexport { JrButton } from './lib/forms/jr-button';\n// registry\nexport { primitivesRegistry } from './lib/registry';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ng-json-render/primitives",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "1.0.0-beta.1",
|
|
4
4
|
"description": "Starter primitive component catalog (Tailwind + Signal Forms-compatible controls) for @ng-json-render/core.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Maina Wycliffe (https://github.com/mainawycliffe)",
|
|
7
7
|
"homepage": "https://mainawycliffe.github.io/ng-json-render/",
|
|
8
8
|
"repository": {
|
|
9
9
|
"type": "git",
|
|
10
|
-
"url": "git+https://github.com/
|
|
10
|
+
"url": "git+https://github.com/garatropic/ng-json-render.git",
|
|
11
11
|
"directory": "libs/primitives"
|
|
12
12
|
},
|
|
13
13
|
"bugs": {
|
|
14
|
-
"url": "https://github.com/
|
|
14
|
+
"url": "https://github.com/garatropic/ng-json-render/issues"
|
|
15
15
|
},
|
|
16
16
|
"keywords": [
|
|
17
17
|
"angular",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
],
|
|
28
28
|
"peerDependencies": {
|
|
29
29
|
"@angular/core": ">=19.0.0 <23.0.0",
|
|
30
|
-
"@ng-json-render/core": "^0.0.
|
|
30
|
+
"@ng-json-render/core": "^1.0.0-beta.1"
|
|
31
31
|
},
|
|
32
32
|
"sideEffects": false,
|
|
33
33
|
"publishConfig": {
|
|
@@ -48,4 +48,4 @@
|
|
|
48
48
|
"dependencies": {
|
|
49
49
|
"tslib": "^2.3.0"
|
|
50
50
|
}
|
|
51
|
-
}
|
|
51
|
+
}
|
|
@@ -9,6 +9,7 @@ declare class JrContainer {
|
|
|
9
9
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<JrContainer, never>;
|
|
10
10
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<JrContainer, "jr-container", never, { "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
11
11
|
}
|
|
12
|
+
|
|
12
13
|
/** Flexbox stack (row or column) with configurable gap and alignment. */
|
|
13
14
|
declare class JrStack {
|
|
14
15
|
readonly direction: _angular_core.InputSignal<"row" | "column">;
|
|
@@ -20,6 +21,7 @@ declare class JrStack {
|
|
|
20
21
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<JrStack, never>;
|
|
21
22
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<JrStack, "jr-stack", never, { "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "gap": { "alias": "gap"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "justify": { "alias": "justify"; "required": false; "isSignal": true; }; "wrap": { "alias": "wrap"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
22
23
|
}
|
|
24
|
+
|
|
23
25
|
/**
|
|
24
26
|
* Responsive grid. `columns` is the target column count at full width; the grid
|
|
25
27
|
* collapses to fewer columns as the container narrows (each column never shrinks
|
|
@@ -35,6 +37,7 @@ declare class JrGrid {
|
|
|
35
37
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<JrGrid, never>;
|
|
36
38
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<JrGrid, "jr-grid", never, { "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "gap": { "alias": "gap"; "required": false; "isSignal": true; }; "minItemWidth": { "alias": "minItemWidth"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
37
39
|
}
|
|
40
|
+
|
|
38
41
|
/** Bordered surface with an optional title/subtitle. */
|
|
39
42
|
declare class JrCard {
|
|
40
43
|
readonly title: _angular_core.InputSignal<string | undefined>;
|
|
@@ -42,13 +45,14 @@ declare class JrCard {
|
|
|
42
45
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<JrCard, never>;
|
|
43
46
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<JrCard, "jr-card", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
44
47
|
}
|
|
48
|
+
|
|
45
49
|
/** Horizontal rule. */
|
|
46
50
|
declare class JrDivider {
|
|
47
51
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<JrDivider, never>;
|
|
48
52
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<JrDivider, "jr-divider", never, {}, {}, never, never, true, never>;
|
|
49
53
|
}
|
|
50
54
|
|
|
51
|
-
/** Section heading (levels 1–4). */
|
|
55
|
+
/** Section heading (levels 1–4), exposed to assistive tech as a heading. */
|
|
52
56
|
declare class JrHeading {
|
|
53
57
|
readonly value: _angular_core.InputSignal<string>;
|
|
54
58
|
readonly level: _angular_core.InputSignal<2 | 1 | 3 | 4>;
|
|
@@ -56,6 +60,7 @@ declare class JrHeading {
|
|
|
56
60
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<JrHeading, never>;
|
|
57
61
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<JrHeading, "jr-heading", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "level": { "alias": "level"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
58
62
|
}
|
|
63
|
+
|
|
59
64
|
/** Body text. */
|
|
60
65
|
declare class JrText {
|
|
61
66
|
readonly value: _angular_core.InputSignal<string>;
|
|
@@ -64,6 +69,7 @@ declare class JrText {
|
|
|
64
69
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<JrText, never>;
|
|
65
70
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<JrText, "jr-text", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "weight": { "alias": "weight"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
66
71
|
}
|
|
72
|
+
|
|
67
73
|
/** Small status pill. */
|
|
68
74
|
declare class JrBadge {
|
|
69
75
|
readonly label: _angular_core.InputSignal<string>;
|
|
@@ -72,25 +78,32 @@ declare class JrBadge {
|
|
|
72
78
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<JrBadge, never>;
|
|
73
79
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<JrBadge, "jr-badge", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "tone": { "alias": "tone"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
74
80
|
}
|
|
81
|
+
|
|
75
82
|
/** KPI tile: a big value with a label and an optional delta. */
|
|
76
83
|
declare class JrStat {
|
|
77
84
|
readonly label: _angular_core.InputSignal<string>;
|
|
78
85
|
readonly value: _angular_core.InputSignal<string | number>;
|
|
79
86
|
readonly delta: _angular_core.InputSignal<number | null>;
|
|
87
|
+
protected readonly down: _angular_core.Signal<boolean>;
|
|
80
88
|
protected readonly absDelta: _angular_core.Signal<number>;
|
|
81
89
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<JrStat, never>;
|
|
82
90
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<JrStat, "jr-stat", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "delta": { "alias": "delta"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
83
91
|
}
|
|
84
92
|
|
|
85
|
-
/**
|
|
93
|
+
/**
|
|
94
|
+
* Inline callout. `warning` and `danger` are announced immediately
|
|
95
|
+
* (`role="alert"`); `info` and `success` are polite (`role="status"`).
|
|
96
|
+
*/
|
|
86
97
|
declare class JrAlert {
|
|
87
98
|
readonly title: _angular_core.InputSignal<string | undefined>;
|
|
88
99
|
readonly message: _angular_core.InputSignal<string>;
|
|
89
100
|
readonly tone: _angular_core.InputSignal<"success" | "warning" | "danger" | "info">;
|
|
101
|
+
protected readonly urgent: _angular_core.Signal<boolean>;
|
|
90
102
|
protected readonly toneClass: _angular_core.Signal<string>;
|
|
91
103
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<JrAlert, never>;
|
|
92
104
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<JrAlert, "jr-alert", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; "tone": { "alias": "tone"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
93
105
|
}
|
|
106
|
+
|
|
94
107
|
/** Determinate progress bar (0–100). */
|
|
95
108
|
declare class JrProgress {
|
|
96
109
|
readonly value: _angular_core.InputSignal<number>;
|
|
@@ -109,21 +122,30 @@ interface ChartDatum {
|
|
|
109
122
|
declare class JrBarChart {
|
|
110
123
|
readonly data: _angular_core.InputSignal<ChartDatum[]>;
|
|
111
124
|
readonly height: _angular_core.InputSignal<number>;
|
|
112
|
-
|
|
113
|
-
|
|
125
|
+
protected readonly bars: _angular_core.Signal<{
|
|
126
|
+
label: string;
|
|
127
|
+
text: string;
|
|
128
|
+
pct: number;
|
|
129
|
+
}[]>;
|
|
114
130
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<JrBarChart, never>;
|
|
115
131
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<JrBarChart, "jr-bar-chart", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
116
132
|
}
|
|
117
|
-
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Responsive SVG line/area chart (no chart library). Set `label` to describe
|
|
136
|
+
* the series to assistive tech; without it the chart is decorative.
|
|
137
|
+
*/
|
|
118
138
|
declare class JrLineChart {
|
|
119
139
|
readonly data: _angular_core.InputSignal<number[]>;
|
|
120
140
|
readonly height: _angular_core.InputSignal<number>;
|
|
141
|
+
/** Accessible description of the series, e.g. "Signups, last 7 days". */
|
|
142
|
+
readonly label: _angular_core.InputSignal<string | undefined>;
|
|
121
143
|
protected readonly geom: _angular_core.Signal<{
|
|
122
144
|
line: string;
|
|
123
145
|
area: string;
|
|
124
146
|
}>;
|
|
125
147
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<JrLineChart, never>;
|
|
126
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<JrLineChart, "jr-line-chart", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
148
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<JrLineChart, "jr-line-chart", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
127
149
|
}
|
|
128
150
|
|
|
129
151
|
/** A table column, either a bare key or a key/label pair. */
|
|
@@ -145,8 +167,8 @@ declare class JrTable {
|
|
|
145
167
|
}
|
|
146
168
|
|
|
147
169
|
/**
|
|
148
|
-
* Text input. A Signal Forms
|
|
149
|
-
* directive, or driven by `$bindState` through the renderer.
|
|
170
|
+
* Text input. A Signal Forms value control — usable with the `[formField]`
|
|
171
|
+
* directive (Angular 21+), or driven by `$bindState` through the renderer.
|
|
150
172
|
*/
|
|
151
173
|
declare class JrInput {
|
|
152
174
|
readonly value: _angular_core.ModelSignal<string>;
|
|
@@ -160,6 +182,7 @@ declare class JrInput {
|
|
|
160
182
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<JrInput, never>;
|
|
161
183
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<JrInput, "jr-input", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
|
|
162
184
|
}
|
|
185
|
+
|
|
163
186
|
/** Multi-line text input (Signal Forms value control). */
|
|
164
187
|
declare class JrTextarea {
|
|
165
188
|
readonly value: _angular_core.ModelSignal<string>;
|
|
@@ -172,6 +195,7 @@ declare class JrTextarea {
|
|
|
172
195
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<JrTextarea, never>;
|
|
173
196
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<JrTextarea, "jr-textarea", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
|
|
174
197
|
}
|
|
198
|
+
|
|
175
199
|
/** An option for {@link JrSelect}. */
|
|
176
200
|
type JrSelectOption = string | {
|
|
177
201
|
value: string;
|
|
@@ -193,6 +217,7 @@ declare class JrSelect {
|
|
|
193
217
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<JrSelect, never>;
|
|
194
218
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<JrSelect, "jr-select", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
|
|
195
219
|
}
|
|
220
|
+
|
|
196
221
|
/** Checkbox (Signal Forms checkbox control). */
|
|
197
222
|
declare class JrCheckbox {
|
|
198
223
|
readonly checked: _angular_core.ModelSignal<boolean>;
|
|
@@ -201,6 +226,7 @@ declare class JrCheckbox {
|
|
|
201
226
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<JrCheckbox, never>;
|
|
202
227
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<JrCheckbox, "jr-checkbox", never, { "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; }, never, never, true, never>;
|
|
203
228
|
}
|
|
229
|
+
|
|
204
230
|
/** Toggle switch (Signal Forms checkbox control). */
|
|
205
231
|
declare class JrSwitch {
|
|
206
232
|
readonly checked: _angular_core.ModelSignal<boolean>;
|
|
@@ -208,12 +234,16 @@ declare class JrSwitch {
|
|
|
208
234
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<JrSwitch, never>;
|
|
209
235
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<JrSwitch, "jr-switch", never, { "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; }, never, never, true, never>;
|
|
210
236
|
}
|
|
211
|
-
|
|
237
|
+
|
|
238
|
+
/**
|
|
239
|
+
* Button that emits the `press` action. Outside a `<jr-renderer>` (no
|
|
240
|
+
* `JR_CONTEXT`) it renders as a plain button.
|
|
241
|
+
*/
|
|
212
242
|
declare class JrButton {
|
|
213
243
|
readonly label: _angular_core.InputSignal<string>;
|
|
214
244
|
readonly variant: _angular_core.InputSignal<"danger" | "primary" | "secondary" | "ghost">;
|
|
215
245
|
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
216
|
-
protected readonly ctx: _ng_json_render_core.JrContext;
|
|
246
|
+
protected readonly ctx: _ng_json_render_core.JrContext | null;
|
|
217
247
|
protected readonly buttonClass: _angular_core.Signal<string>;
|
|
218
248
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<JrButton, never>;
|
|
219
249
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<JrButton, "jr-button", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|