@3ddv/software-division-components 2.0.15 → 2.1.2
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/README.md +2 -0
- package/backoffice/datepicker/datepicker.component.css +262 -0
- package/fesm2022/3ddv-software-division-components-dvm-cart.mjs +18 -6
- package/fesm2022/3ddv-software-division-components-dvm-cart.mjs.map +1 -1
- package/fesm2022/3ddv-software-division-components-dvm-loader.mjs +18 -4
- package/fesm2022/3ddv-software-division-components-dvm-loader.mjs.map +1 -1
- package/fesm2022/3ddv-software-division-components-dvm-neighbors.mjs +24 -40
- package/fesm2022/3ddv-software-division-components-dvm-neighbors.mjs.map +1 -1
- package/fesm2022/3ddv-software-division-components-generic-button.mjs +3 -2
- package/fesm2022/3ddv-software-division-components-generic-button.mjs.map +1 -1
- package/fesm2022/3ddv-software-division-components-generic-dialog.mjs +173 -19
- package/fesm2022/3ddv-software-division-components-generic-dialog.mjs.map +1 -1
- package/fesm2022/3ddv-software-division-components-generic-select.mjs +4 -3
- package/fesm2022/3ddv-software-division-components-generic-select.mjs.map +1 -1
- package/fesm2022/3ddv-software-division-components-generic-tooltip.mjs +1 -1
- package/fesm2022/3ddv-software-division-components-generic-tooltip.mjs.map +1 -1
- package/fesm2022/3ddv-software-division-components.mjs +14 -8
- package/fesm2022/3ddv-software-division-components.mjs.map +1 -1
- package/generic/braintree/braintree.component.css +7 -0
- package/host-tailwind-layer.css +7 -0
- package/package.json +77 -6
- package/shared/themes/sdc.css +171 -0
- package/styles.css +1 -1
- package/types/3ddv-software-division-components-dvm-cart.d.ts +20 -3
- package/types/3ddv-software-division-components-dvm-loader.d.ts +12 -5
- package/types/3ddv-software-division-components-dvm-neighbors.d.ts +10 -15
- package/types/3ddv-software-division-components-generic-button.d.ts +2 -1
- package/types/3ddv-software-division-components-generic-dialog.d.ts +121 -49
- package/types/3ddv-software-division-components-generic-select.d.ts +2 -1
- package/types/3ddv-software-division-components.d.ts +10 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { input, computed, effect, untracked, Directive, forwardRef, ViewEncapsulation, ChangeDetectionStrategy, Component, inject, ViewContainerRef, ViewChild, signal, OutputEmitterRef, Injectable, NgModule, viewChild } from '@angular/core';
|
|
2
|
+
import { input, computed, effect, untracked, Directive, forwardRef, ViewEncapsulation, ChangeDetectionStrategy, Component, inject, ViewContainerRef, ViewChild, signal, OutputEmitterRef, Injectable, NgModule, viewChild, ElementRef } from '@angular/core';
|
|
3
3
|
import * as i1 from '@spartan-ng/brain/dialog';
|
|
4
4
|
import { BrnDialog, BrnDialogOverlay, provideBrnDialogDefaultOptions, BrnDialogRef, injectBrnDialogContext, BrnDialogClose, BrnDialogDescription, BrnDialogTitle, BrnDialogService, cssClassesToArray, DEFAULT_BRN_DIALOG_OPTIONS } from '@spartan-ng/brain/dialog';
|
|
5
5
|
import { injectCustomClassSettable, hlm } from '@spartan-ng/brain/core';
|
|
@@ -99,16 +99,30 @@ class HlmDialogContent {
|
|
|
99
99
|
_outlet;
|
|
100
100
|
userClass = input('', { ...(ngDevMode ? { debugName: "userClass" } : {}), alias: 'class' });
|
|
101
101
|
fitContent = input(false, ...(ngDevMode ? [{ debugName: "fitContent" }] : []));
|
|
102
|
+
/** When false, the panel close (X) control is not rendered. Default true. Overridden by dialog open context `$showCloseButton` when set. */
|
|
103
|
+
showCloseButton = input(true, ...(ngDevMode ? [{ debugName: "showCloseButton" }] : []));
|
|
102
104
|
projectedRef = null;
|
|
103
105
|
state = computed(() => this._dialogRef?.state() ?? 'closed', ...(ngDevMode ? [{ debugName: "state" }] : []));
|
|
104
106
|
componentInputs = computed(() => {
|
|
105
|
-
const
|
|
107
|
+
const rawContext = this._dialogContext;
|
|
108
|
+
if (rawContext == null || typeof rawContext !== 'object') {
|
|
109
|
+
return {};
|
|
110
|
+
}
|
|
111
|
+
const { $component, $dynamicComponentClass, $fitContent, $showCloseButton, close, ...rest } = rawContext;
|
|
106
112
|
return rest;
|
|
107
113
|
}, ...(ngDevMode ? [{ debugName: "componentInputs" }] : []));
|
|
108
|
-
_computedClass = computed(() => hlm('
|
|
114
|
+
_computedClass = computed(() => hlm('grid w-full relative gap-4 border-0 bg-white p-6 shadow-lg outline-none ring-0 [animation-duration:200] data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-top-[2%] data-[state=open]:slide-in-from-top-[2%] rounded-lg md:w-full', this.userClass(), this.fitContent() || this._fitContent ? '' : 'max-w-lg', this._dynamicComponentClass), ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
|
|
109
115
|
component = this._dialogContext?.$component;
|
|
110
116
|
_dynamicComponentClass = this._dialogContext?.$dynamicComponentClass;
|
|
111
117
|
_fitContent = this._dialogContext?.$fitContent ?? false;
|
|
118
|
+
effectiveShowCloseButton = computed(() => {
|
|
119
|
+
const ctx = this._dialogContext;
|
|
120
|
+
const fromContext = ctx != null && typeof ctx === 'object' && '$showCloseButton' in ctx ? ctx.$showCloseButton : undefined;
|
|
121
|
+
if (typeof fromContext === 'boolean') {
|
|
122
|
+
return fromContext;
|
|
123
|
+
}
|
|
124
|
+
return this.showCloseButton();
|
|
125
|
+
}, ...(ngDevMode ? [{ debugName: "effectiveShowCloseButton" }] : []));
|
|
112
126
|
ngAfterViewInit() {
|
|
113
127
|
if (!this.component || !this._outlet) {
|
|
114
128
|
return;
|
|
@@ -119,17 +133,19 @@ class HlmDialogContent {
|
|
|
119
133
|
}
|
|
120
134
|
}
|
|
121
135
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: HlmDialogContent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
122
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.4", type: HlmDialogContent, isStandalone: true, selector: "hlm-dialog-content", inputs: { userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, fitContent: { classPropertyName: "fitContent", publicName: "fitContent", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()", "attr.data-state": "state()" } }, providers: [provideIcons({ lucideX })], viewQueries: [{ propertyName: "_outlet", first: true, predicate: ["outlet"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: `
|
|
136
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.4", type: HlmDialogContent, isStandalone: true, selector: "hlm-dialog-content", inputs: { userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, fitContent: { classPropertyName: "fitContent", publicName: "fitContent", isSignal: true, isRequired: false, transformFunction: null }, showCloseButton: { classPropertyName: "showCloseButton", publicName: "showCloseButton", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()", "attr.data-state": "state()" } }, providers: [provideIcons({ lucideX })], viewQueries: [{ propertyName: "_outlet", first: true, predicate: ["outlet"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: `
|
|
123
137
|
@if (component) {
|
|
124
138
|
<ng-container #outlet />
|
|
125
139
|
} @else {
|
|
126
140
|
<ng-content />
|
|
127
141
|
}
|
|
128
142
|
|
|
129
|
-
|
|
130
|
-
<
|
|
131
|
-
|
|
132
|
-
|
|
143
|
+
@if (effectiveShowCloseButton()) {
|
|
144
|
+
<button brnDialogClose class="animated-button" hlm type="button">
|
|
145
|
+
<span class="sr-only">Close</span>
|
|
146
|
+
<ng-icon hlm name="lucideX" size="sm" />
|
|
147
|
+
</button>
|
|
148
|
+
}
|
|
133
149
|
`, isInline: true, dependencies: [{ kind: "directive", type: BrnDialogClose, selector: "button[brnDialogClose]", inputs: ["delay"] }, { kind: "directive", type: HlmDialogClose, selector: "[hlmDialogClose],[brnDialogClose][hlm]", inputs: ["class"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: HlmIcon, selector: "ng-icon[hlm]", inputs: ["size", "variant"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
134
150
|
}
|
|
135
151
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: HlmDialogContent, decorators: [{
|
|
@@ -149,10 +165,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImpor
|
|
|
149
165
|
<ng-content />
|
|
150
166
|
}
|
|
151
167
|
|
|
152
|
-
|
|
153
|
-
<
|
|
154
|
-
|
|
155
|
-
|
|
168
|
+
@if (effectiveShowCloseButton()) {
|
|
169
|
+
<button brnDialogClose class="animated-button" hlm type="button">
|
|
170
|
+
<span class="sr-only">Close</span>
|
|
171
|
+
<ng-icon hlm name="lucideX" size="sm" />
|
|
172
|
+
</button>
|
|
173
|
+
}
|
|
156
174
|
`,
|
|
157
175
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
158
176
|
encapsulation: ViewEncapsulation.None,
|
|
@@ -160,7 +178,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImpor
|
|
|
160
178
|
}], propDecorators: { _outlet: [{
|
|
161
179
|
type: ViewChild,
|
|
162
180
|
args: ['outlet', { read: ViewContainerRef }]
|
|
163
|
-
}], userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], fitContent: [{ type: i0.Input, args: [{ isSignal: true, alias: "fitContent", required: false }] }] } });
|
|
181
|
+
}], userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], fitContent: [{ type: i0.Input, args: [{ isSignal: true, alias: "fitContent", required: false }] }], showCloseButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "showCloseButton", required: false }] }] } });
|
|
164
182
|
|
|
165
183
|
class HlmDialogDescription {
|
|
166
184
|
userClass = input('', { ...(ngDevMode ? { debugName: "userClass" } : {}), alias: 'class' });
|
|
@@ -232,10 +250,97 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImpor
|
|
|
232
250
|
}]
|
|
233
251
|
}], propDecorators: { userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
|
|
234
252
|
|
|
253
|
+
/** CSS custom properties read from `sdc-dialog` (or any host element). */
|
|
254
|
+
const SDC_DIALOG_PANE_CSS_VARS = {
|
|
255
|
+
width: '--sdc-dialog-pane-width',
|
|
256
|
+
maxWidth: '--sdc-dialog-pane-max-width',
|
|
257
|
+
height: '--sdc-dialog-pane-height',
|
|
258
|
+
maxHeight: '--sdc-dialog-pane-max-height',
|
|
259
|
+
};
|
|
260
|
+
function readOverlayPaneCssVars(host) {
|
|
261
|
+
const computed = getComputedStyle(host);
|
|
262
|
+
const read = (varName) => {
|
|
263
|
+
const raw = computed.getPropertyValue(varName).trim();
|
|
264
|
+
return raw === '' ? undefined : raw;
|
|
265
|
+
};
|
|
266
|
+
return {
|
|
267
|
+
width: read(SDC_DIALOG_PANE_CSS_VARS.width),
|
|
268
|
+
maxWidth: read(SDC_DIALOG_PANE_CSS_VARS.maxWidth),
|
|
269
|
+
height: read(SDC_DIALOG_PANE_CSS_VARS.height),
|
|
270
|
+
maxHeight: read(SDC_DIALOG_PANE_CSS_VARS.maxHeight),
|
|
271
|
+
};
|
|
272
|
+
}
|
|
273
|
+
function pickOverlayPaneFromOptions(options) {
|
|
274
|
+
if (!options) {
|
|
275
|
+
return {};
|
|
276
|
+
}
|
|
277
|
+
const size = {};
|
|
278
|
+
if (options.overlayPaneWidth !== undefined && options.overlayPaneWidth !== '') {
|
|
279
|
+
size.width = options.overlayPaneWidth;
|
|
280
|
+
}
|
|
281
|
+
if (options.overlayPaneMaxWidth !== undefined && options.overlayPaneMaxWidth !== '') {
|
|
282
|
+
size.maxWidth = options.overlayPaneMaxWidth;
|
|
283
|
+
}
|
|
284
|
+
if (options.overlayPaneHeight !== undefined && options.overlayPaneHeight !== '') {
|
|
285
|
+
size.height = options.overlayPaneHeight;
|
|
286
|
+
}
|
|
287
|
+
if (options.overlayPaneMaxHeight !== undefined && options.overlayPaneMaxHeight !== '') {
|
|
288
|
+
size.maxHeight = options.overlayPaneMaxHeight;
|
|
289
|
+
}
|
|
290
|
+
return size;
|
|
291
|
+
}
|
|
292
|
+
function mergeOverlayPaneSizes(...layers) {
|
|
293
|
+
const merged = {};
|
|
294
|
+
for (const layer of layers) {
|
|
295
|
+
for (const key of ['width', 'maxWidth', 'height', 'maxHeight']) {
|
|
296
|
+
const v = layer[key];
|
|
297
|
+
if (v !== undefined && v !== '') {
|
|
298
|
+
merged[key] = v;
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
return merged;
|
|
303
|
+
}
|
|
304
|
+
function overlayPaneSizeToUpdateConfig(size) {
|
|
305
|
+
const cfg = {};
|
|
306
|
+
if (size.width !== undefined) {
|
|
307
|
+
cfg.width = size.width;
|
|
308
|
+
}
|
|
309
|
+
if (size.maxWidth !== undefined) {
|
|
310
|
+
cfg.maxWidth = size.maxWidth;
|
|
311
|
+
}
|
|
312
|
+
if (size.height !== undefined) {
|
|
313
|
+
cfg.height = size.height;
|
|
314
|
+
}
|
|
315
|
+
if (size.maxHeight !== undefined) {
|
|
316
|
+
cfg.maxHeight = size.maxHeight;
|
|
317
|
+
}
|
|
318
|
+
return cfg;
|
|
319
|
+
}
|
|
320
|
+
|
|
235
321
|
class HlmDialogService {
|
|
236
322
|
ref = signal(null, ...(ngDevMode ? [{ debugName: "ref" }] : []));
|
|
237
323
|
component = signal(null, ...(ngDevMode ? [{ debugName: "component" }] : []));
|
|
324
|
+
/**
|
|
325
|
+
* Host element of `sdc-dialog`; used to read `--sdc-dialog-pane-*` CSS variables on each `open()`.
|
|
326
|
+
* Registered by `DialogComponent`; expect a single dialog host per app.
|
|
327
|
+
*/
|
|
328
|
+
hostElement = signal(null, ...(ngDevMode ? [{ debugName: "hostElement" }] : []));
|
|
329
|
+
/**
|
|
330
|
+
* Default overlay pane size from `sdc-dialog` inputs. Overridden per `open()` and by CSS vars
|
|
331
|
+
* when defined on the host (merge order: CSS vars → this signal → `open()` options).
|
|
332
|
+
*/
|
|
333
|
+
defaultOverlayPaneSize = signal({}, ...(ngDevMode ? [{ debugName: "defaultOverlayPaneSize" }] : []));
|
|
238
334
|
_brnDialogService = inject(BrnDialogService);
|
|
335
|
+
/**
|
|
336
|
+
* Clears host registration when the active `sdc-dialog` is destroyed (single-host apps).
|
|
337
|
+
*/
|
|
338
|
+
releaseHostIfMatch(host) {
|
|
339
|
+
if (this.hostElement() === host) {
|
|
340
|
+
this.hostElement.set(null);
|
|
341
|
+
this.defaultOverlayPaneSize.set({});
|
|
342
|
+
}
|
|
343
|
+
}
|
|
239
344
|
open(component, options) {
|
|
240
345
|
if (options) {
|
|
241
346
|
options.panelClass = 'dialog-overlay-margin';
|
|
@@ -243,24 +348,41 @@ class HlmDialogService {
|
|
|
243
348
|
else {
|
|
244
349
|
options = { panelClass: 'dialog-overlay-margin' };
|
|
245
350
|
}
|
|
351
|
+
const baseContext = typeof options?.context === 'object' && options?.context !== null ? options.context : {};
|
|
352
|
+
const showCloseFromContext = baseContext &&
|
|
353
|
+
typeof baseContext === 'object' &&
|
|
354
|
+
'$showCloseButton' in baseContext &&
|
|
355
|
+
typeof baseContext.$showCloseButton === 'boolean'
|
|
356
|
+
? baseContext.$showCloseButton
|
|
357
|
+
: undefined;
|
|
358
|
+
const resolvedShowCloseButton = options?.showCloseButton !== undefined ? options.showCloseButton : (showCloseFromContext ?? true);
|
|
246
359
|
const mergedOptions = {
|
|
247
360
|
...DEFAULT_BRN_DIALOG_OPTIONS,
|
|
248
361
|
...options,
|
|
249
362
|
backdropClass: cssClassesToArray(`${hlmDialogOverlayClass} ${options?.backdropClass ?? ''} dialog-container`),
|
|
250
363
|
context: {
|
|
251
|
-
...
|
|
364
|
+
...baseContext,
|
|
252
365
|
$component: component,
|
|
253
366
|
$dynamicComponentClass: options?.contentClass,
|
|
254
367
|
$fitContent: options?.fitContent,
|
|
368
|
+
$showCloseButton: resolvedShowCloseButton,
|
|
255
369
|
},
|
|
256
370
|
};
|
|
257
371
|
const reference = this._brnDialogService.open(HlmDialogContent, undefined, mergedOptions.context, mergedOptions);
|
|
258
372
|
this.ref.set(reference);
|
|
259
373
|
const cdkRef = reference._cdkDialogRef;
|
|
374
|
+
const host = this.hostElement();
|
|
375
|
+
const fromCss = host ? readOverlayPaneCssVars(host) : {};
|
|
376
|
+
const fromInputs = this.defaultOverlayPaneSize();
|
|
377
|
+
const fromOpen = pickOverlayPaneFromOptions(options);
|
|
378
|
+
const resolvedPane = mergeOverlayPaneSizes(fromCss, fromInputs, fromOpen);
|
|
379
|
+
const updateCfg = overlayPaneSizeToUpdateConfig(resolvedPane);
|
|
380
|
+
if (Object.keys(updateCfg).length > 0) {
|
|
381
|
+
cdkRef?.overlayRef?.updateSize(updateCfg);
|
|
382
|
+
}
|
|
260
383
|
cdkRef?.componentRef?.changeDetectorRef?.detectChanges();
|
|
261
384
|
const contentInstance = cdkRef?.componentRef?.instance;
|
|
262
385
|
const instance = contentInstance?.projectedRef?.instance;
|
|
263
|
-
// We only expose the component outputs here
|
|
264
386
|
let outputs = null;
|
|
265
387
|
if (instance) {
|
|
266
388
|
const result = {};
|
|
@@ -315,19 +437,51 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImpor
|
|
|
315
437
|
class DialogComponent {
|
|
316
438
|
dialogService = inject(HlmDialogService);
|
|
317
439
|
dialogComponent = viewChild(BrnDialog, ...(ngDevMode ? [{ debugName: "dialogComponent" }] : []));
|
|
440
|
+
hostEl = inject(ElementRef);
|
|
318
441
|
fitContent = input(false, ...(ngDevMode ? [{ debugName: "fitContent" }] : []));
|
|
442
|
+
showCloseButton = input(true, ...(ngDevMode ? [{ debugName: "showCloseButton" }] : []));
|
|
443
|
+
/**
|
|
444
|
+
* Default CDK overlay pane width (e.g. `800px`). Merge order: CSS vars on `sdc-dialog` → these inputs →
|
|
445
|
+
* `DialogService.open({ overlayPaneWidth, ... })` (strongest).
|
|
446
|
+
*/
|
|
447
|
+
overlayPaneWidth = input(undefined, ...(ngDevMode ? [{ debugName: "overlayPaneWidth" }] : []));
|
|
448
|
+
overlayPaneMaxWidth = input(undefined, ...(ngDevMode ? [{ debugName: "overlayPaneMaxWidth" }] : []));
|
|
449
|
+
overlayPaneHeight = input(undefined, ...(ngDevMode ? [{ debugName: "overlayPaneHeight" }] : []));
|
|
450
|
+
overlayPaneMaxHeight = input(undefined, ...(ngDevMode ? [{ debugName: "overlayPaneMaxHeight" }] : []));
|
|
319
451
|
constructor() {
|
|
320
452
|
effect(() => {
|
|
321
453
|
this.dialogService.component.set(this.dialogComponent() ?? null);
|
|
454
|
+
this.dialogService.hostElement.set(this.hostEl.nativeElement);
|
|
455
|
+
const size = {};
|
|
456
|
+
const w = this.overlayPaneWidth();
|
|
457
|
+
const maxW = this.overlayPaneMaxWidth();
|
|
458
|
+
const h = this.overlayPaneHeight();
|
|
459
|
+
const maxH = this.overlayPaneMaxHeight();
|
|
460
|
+
if (w !== undefined && w !== '') {
|
|
461
|
+
size.width = w;
|
|
462
|
+
}
|
|
463
|
+
if (maxW !== undefined && maxW !== '') {
|
|
464
|
+
size.maxWidth = maxW;
|
|
465
|
+
}
|
|
466
|
+
if (h !== undefined && h !== '') {
|
|
467
|
+
size.height = h;
|
|
468
|
+
}
|
|
469
|
+
if (maxH !== undefined && maxH !== '') {
|
|
470
|
+
size.maxHeight = maxH;
|
|
471
|
+
}
|
|
472
|
+
this.dialogService.defaultOverlayPaneSize.set(size);
|
|
322
473
|
});
|
|
323
474
|
}
|
|
475
|
+
ngOnDestroy() {
|
|
476
|
+
this.dialogService.releaseHostIfMatch(this.hostEl.nativeElement);
|
|
477
|
+
}
|
|
324
478
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: DialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
325
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.4", type: DialogComponent, isStandalone: true, selector: "sdc-dialog", inputs: { fitContent: { classPropertyName: "fitContent", publicName: "fitContent", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "dialogComponent", first: true, predicate: BrnDialog, descendants: true, isSignal: true }], ngImport: i0, template: "<hlm-dialog #dialogRef>\n <hlm-dialog-content
|
|
479
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.4", type: DialogComponent, isStandalone: true, selector: "sdc-dialog", inputs: { fitContent: { classPropertyName: "fitContent", publicName: "fitContent", isSignal: true, isRequired: false, transformFunction: null }, showCloseButton: { classPropertyName: "showCloseButton", publicName: "showCloseButton", isSignal: true, isRequired: false, transformFunction: null }, overlayPaneWidth: { classPropertyName: "overlayPaneWidth", publicName: "overlayPaneWidth", isSignal: true, isRequired: false, transformFunction: null }, overlayPaneMaxWidth: { classPropertyName: "overlayPaneMaxWidth", publicName: "overlayPaneMaxWidth", isSignal: true, isRequired: false, transformFunction: null }, overlayPaneHeight: { classPropertyName: "overlayPaneHeight", publicName: "overlayPaneHeight", isSignal: true, isRequired: false, transformFunction: null }, overlayPaneMaxHeight: { classPropertyName: "overlayPaneMaxHeight", publicName: "overlayPaneMaxHeight", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "dialogComponent", first: true, predicate: BrnDialog, descendants: true, isSignal: true }], ngImport: i0, template: "<hlm-dialog #dialogRef>\n <hlm-dialog-content\n *hlmDialogContent=\"let ctx\"\n [fitContent]=\"fitContent()\"\n [showCloseButton]=\"showCloseButton()\"\n class=\"dialog-content\" />\n</hlm-dialog>\n", dependencies: [{ kind: "component", type: HlmDialogContent, selector: "hlm-dialog-content", inputs: ["class", "fitContent", "showCloseButton"] }, { kind: "component", type: HlmDialog, selector: "hlm-dialog", exportAs: ["hlmDialog"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
326
480
|
}
|
|
327
481
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: DialogComponent, decorators: [{
|
|
328
482
|
type: Component,
|
|
329
|
-
args: [{ selector: 'sdc-dialog', imports: [HlmDialogContent, HlmDialog], changeDetection: ChangeDetectionStrategy.OnPush, template: "<hlm-dialog #dialogRef>\n <hlm-dialog-content
|
|
330
|
-
}], ctorParameters: () => [], propDecorators: { dialogComponent: [{ type: i0.ViewChild, args: [i0.forwardRef(() => BrnDialog), { isSignal: true }] }], fitContent: [{ type: i0.Input, args: [{ isSignal: true, alias: "fitContent", required: false }] }] } });
|
|
483
|
+
args: [{ selector: 'sdc-dialog', imports: [HlmDialogContent, HlmDialog], changeDetection: ChangeDetectionStrategy.OnPush, template: "<hlm-dialog #dialogRef>\n <hlm-dialog-content\n *hlmDialogContent=\"let ctx\"\n [fitContent]=\"fitContent()\"\n [showCloseButton]=\"showCloseButton()\"\n class=\"dialog-content\" />\n</hlm-dialog>\n" }]
|
|
484
|
+
}], ctorParameters: () => [], propDecorators: { dialogComponent: [{ type: i0.ViewChild, args: [i0.forwardRef(() => BrnDialog), { isSignal: true }] }], fitContent: [{ type: i0.Input, args: [{ isSignal: true, alias: "fitContent", required: false }] }], showCloseButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "showCloseButton", required: false }] }], overlayPaneWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "overlayPaneWidth", required: false }] }], overlayPaneMaxWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "overlayPaneMaxWidth", required: false }] }], overlayPaneHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "overlayPaneHeight", required: false }] }], overlayPaneMaxHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "overlayPaneMaxHeight", required: false }] }] } });
|
|
331
485
|
|
|
332
486
|
/*
|
|
333
487
|
* Public API Surface of software-division-components
|
|
@@ -337,5 +491,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImpor
|
|
|
337
491
|
* Generated bundle index. Do not edit.
|
|
338
492
|
*/
|
|
339
493
|
|
|
340
|
-
export { DialogComponent, HlmDialogService as DialogService, HlmDialog, HlmDialogClose, HlmDialogContent, HlmDialogDescription, HlmDialogFooter, HlmDialogHeader, HlmDialogImports, HlmDialogModule, HlmDialogOverlay, HlmDialogService, HlmDialogTitle, hlmDialogOverlayClass };
|
|
494
|
+
export { DialogComponent, HlmDialogService as DialogService, HlmDialog, HlmDialogClose, HlmDialogContent, HlmDialogDescription, HlmDialogFooter, HlmDialogHeader, HlmDialogImports, HlmDialogModule, HlmDialogOverlay, HlmDialogService, HlmDialogTitle, SDC_DIALOG_PANE_CSS_VARS, hlmDialogOverlayClass, mergeOverlayPaneSizes, overlayPaneSizeToUpdateConfig, pickOverlayPaneFromOptions, readOverlayPaneCssVars };
|
|
341
495
|
//# sourceMappingURL=3ddv-software-division-components-generic-dialog.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"3ddv-software-division-components-generic-dialog.mjs","sources":["../../generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-overlay.ts","../../generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog.ts","../../generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-close.ts","../../generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-content.ts","../../generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-description.ts","../../generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-footer.ts","../../generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-header.ts","../../generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-title.ts","../../generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog.service.ts","../../generic/dialog/libs/ui-dialog-helm/src/index.ts","../../generic/dialog/dialog.component.ts","../../generic/dialog/dialog.component.html","../../generic/dialog/public-api.ts","../../generic/dialog/3ddv-software-division-components-generic-dialog.ts"],"sourcesContent":["import { computed, Directive, effect, input, untracked } from '@angular/core';\nimport { hlm, injectCustomClassSettable } from '@spartan-ng/brain/core';\nimport type { ClassValue } from 'clsx';\n\nexport const hlmDialogOverlayClass =\n 'bg-black/50 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0';\n\n@Directive({\n selector: '[hlmDialogOverlay],brn-dialog-overlay[hlm]',\n})\nexport class HlmDialogOverlay {\n private readonly _classSettable = injectCustomClassSettable({ optional: true, host: true });\n\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly _computedClass = computed(() => hlm(hlmDialogOverlayClass, this.userClass()));\n\n constructor() {\n effect(() => {\n const newClass = this._computedClass();\n untracked(() => this._classSettable?.setClassToCustomElement(newClass));\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, forwardRef, ViewEncapsulation } from '@angular/core';\nimport { BrnDialog, BrnDialogOverlay, provideBrnDialogDefaultOptions } from '@spartan-ng/brain/dialog';\nimport { HlmDialogOverlay } from './hlm-dialog-overlay';\n\n@Component({\n selector: 'hlm-dialog',\n\n imports: [BrnDialogOverlay, HlmDialogOverlay],\n providers: [\n {\n provide: BrnDialog,\n useExisting: forwardRef(() => HlmDialog),\n },\n provideBrnDialogDefaultOptions({\n hasBackdrop: true,\n disableClose: false,\n closeOnBackdropClick: true,\n closeOnOutsidePointerEvents: true,\n scrollStrategy: 'reposition',\n attachPositions: [{ originX: 'center', originY: 'center', overlayX: 'center', overlayY: 'center' }],\n }),\n ],\n template: `\n <brn-dialog-overlay hlm />\n <ng-content />\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'hlmDialog',\n})\nexport class HlmDialog extends BrnDialog {}\n","import { computed, Directive, input } from '@angular/core';\nimport { hlm } from '@spartan-ng/brain/core';\nimport type { ClassValue } from 'clsx';\n\n@Directive({\n selector: '[hlmDialogClose],[brnDialogClose][hlm]',\n host: {\n '[class]': '_computedClass()',\n },\n})\nexport class HlmDialogClose {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly _computedClass = computed(() =>\n hlm(\n 'absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground',\n this.userClass()\n )\n );\n}\n","import { HlmIcon } from '@3ddv/software-division-components/generic/icon';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ComponentRef,\n computed,\n inject,\n input,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideX } from '@ng-icons/lucide';\nimport { hlm } from '@spartan-ng/brain/core';\nimport { BrnDialogClose, BrnDialogRef, injectBrnDialogContext } from '@spartan-ng/brain/dialog';\nimport type { ClassValue } from 'clsx';\nimport { HlmDialogClose } from './hlm-dialog-close';\n\n@Component({\n selector: 'hlm-dialog-content',\n imports: [BrnDialogClose, HlmDialogClose, NgIcon, HlmIcon],\n providers: [provideIcons({ lucideX })],\n host: {\n '[class]': '_computedClass()',\n '[attr.data-state]': 'state()',\n },\n template: `\n @if (component) {\n <ng-container #outlet />\n } @else {\n <ng-content />\n }\n\n <button brnDialogClose class=\"animated-button\" hlm>\n <span class=\"sr-only\">Close</span>\n <ng-icon hlm name=\"lucideX\" size=\"sm\" />\n </button>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class HlmDialogContent implements AfterViewInit {\n private readonly _dialogRef = inject(BrnDialogRef);\n private readonly _dialogContext = injectBrnDialogContext({ optional: true });\n\n @ViewChild('outlet', { read: ViewContainerRef }) private readonly _outlet!: ViewContainerRef;\n\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n public readonly fitContent = input<boolean>(false);\n public projectedRef: ComponentRef<unknown> | null = null;\n\n public readonly state = computed(() => this._dialogRef?.state() ?? 'closed');\n public readonly componentInputs = computed(() => {\n const { $component, $dynamicComponentClass, $fitContent, close, ...rest } = this._dialogContext;\n return rest;\n });\n protected readonly _computedClass = computed(() =>\n hlm(\n 'border-border grid w-full relative gap-4 border bg-white p-6 shadow-lg [animation-duration:200] data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-top-[2%] data-[state=open]:slide-in-from-top-[2%] rounded-lg md:w-full',\n this.userClass(),\n this.fitContent() || this._fitContent ? '' : 'max-w-lg',\n this._dynamicComponentClass\n )\n );\n\n public readonly component = this._dialogContext?.$component;\n private readonly _dynamicComponentClass = this._dialogContext?.$dynamicComponentClass;\n private readonly _fitContent = this._dialogContext?.$fitContent ?? false;\n\n public ngAfterViewInit(): void {\n if (!this.component || !this._outlet) {\n return;\n }\n this.projectedRef = this._outlet.createComponent(this.component);\n for (const [key, value] of Object.entries(this.componentInputs())) {\n this.projectedRef.setInput(key, value);\n }\n }\n}\n","import { computed, Directive, input } from '@angular/core';\nimport { hlm } from '@spartan-ng/brain/core';\nimport { BrnDialogDescription } from '@spartan-ng/brain/dialog';\nimport type { ClassValue } from 'clsx';\n\n@Directive({\n selector: '[hlmDialogDescription]',\n\n host: {\n '[class]': '_computedClass()',\n },\n hostDirectives: [BrnDialogDescription],\n})\nexport class HlmDialogDescription {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly _computedClass = computed(() => hlm('text-sm text-muted-foreground', this.userClass()));\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { hlm } from '@spartan-ng/brain/core';\nimport type { ClassValue } from 'clsx';\n\n@Component({\n selector: 'hlm-dialog-footer',\n\n template: ` <ng-content /> `,\n host: {\n '[class]': '_computedClass()',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmDialogFooter {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected _computedClass = computed(() =>\n hlm('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', this.userClass())\n );\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { hlm } from '@spartan-ng/brain/core';\nimport type { ClassValue } from 'clsx';\n\n@Component({\n selector: 'hlm-dialog-header',\n\n template: ` <ng-content /> `,\n host: {\n '[class]': '_computedClass()',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmDialogHeader {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected _computedClass = computed(() =>\n hlm('flex flex-col space-y-1.5 text-center sm:text-left', this.userClass())\n );\n}\n","import { computed, Directive, input } from '@angular/core';\nimport { hlm } from '@spartan-ng/brain/core';\nimport { BrnDialogTitle } from '@spartan-ng/brain/dialog';\nimport type { ClassValue } from 'clsx';\n\n@Directive({\n selector: '[hlmDialogTitle]',\n\n host: {\n '[class]': '_computedClass()',\n },\n hostDirectives: [BrnDialogTitle],\n})\nexport class HlmDialogTitle {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly _computedClass = computed(() =>\n hlm('text-lg font-semibold leading-none tracking-tight', this.userClass())\n );\n}\n","import type { ComponentType } from '@angular/cdk/portal';\nimport { inject, Injectable, OutputEmitterRef, signal, TemplateRef } from '@angular/core';\nimport {\n BrnDialog,\n type BrnDialogOptions,\n BrnDialogRef,\n BrnDialogService,\n cssClassesToArray,\n DEFAULT_BRN_DIALOG_OPTIONS,\n} from '@spartan-ng/brain/dialog';\nimport { HlmDialogContent } from './hlm-dialog-content';\nimport { hlmDialogOverlayClass } from './hlm-dialog-overlay';\n\nexport type HlmDialogOptions<DialogContext = unknown> = BrnDialogOptions & {\n contentClass?: string;\n fitContent?: boolean;\n context?: DialogContext;\n};\n\nexport type OutputsOf<T> = {\n [K in keyof T as T[K] extends OutputEmitterRef<any> ? K : never]: T[K];\n};\n\n@Injectable({\n providedIn: 'root',\n})\nexport class HlmDialogService {\n public ref = signal<BrnDialogRef<any> | null>(null);\n public component = signal<BrnDialog | null>(null);\n private readonly _brnDialogService = inject(BrnDialogService);\n\n public open<T = unknown>(\n component: ComponentType<T> | TemplateRef<T>,\n options?: Partial<HlmDialogOptions>\n ): { reference: BrnDialogRef<any>; outputs: OutputsOf<T> | null } {\n if (options) {\n options.panelClass = 'dialog-overlay-margin';\n } else {\n options = { panelClass: 'dialog-overlay-margin' };\n }\n\n const mergedOptions = {\n ...DEFAULT_BRN_DIALOG_OPTIONS,\n ...options,\n backdropClass: cssClassesToArray(`${hlmDialogOverlayClass} ${options?.backdropClass ?? ''} dialog-container`),\n context: {\n ...(typeof options?.context === 'object' && options?.context !== null ? options.context : {}),\n $component: component,\n $dynamicComponentClass: options?.contentClass,\n $fitContent: options?.fitContent,\n },\n };\n const reference = this._brnDialogService.open(HlmDialogContent, undefined, mergedOptions.context, mergedOptions);\n this.ref.set(reference);\n\n const cdkRef = (reference as any)._cdkDialogRef;\n cdkRef?.componentRef?.changeDetectorRef?.detectChanges();\n\n const contentInstance = cdkRef?.componentRef?.instance as HlmDialogContent;\n const instance = contentInstance?.projectedRef?.instance as T | undefined;\n\n // We only expose the component outputs here\n let outputs: OutputsOf<T> | null = null;\n if (instance) {\n const result = {} as Record<string, unknown>;\n for (const key of Object.getOwnPropertyNames(instance)) {\n if ((instance as any)[key] instanceof OutputEmitterRef) {\n result[key] = (instance as any)[key];\n }\n }\n outputs = result as OutputsOf<T>;\n }\n\n return { reference, outputs };\n }\n\n public close(): void {\n if (!this.ref()) {\n return;\n }\n\n this.ref()?.close();\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { HlmDialog } from './lib/hlm-dialog';\nimport { HlmDialogClose } from './lib/hlm-dialog-close';\nimport { HlmDialogContent } from './lib/hlm-dialog-content';\nimport { HlmDialogDescription } from './lib/hlm-dialog-description';\nimport { HlmDialogFooter } from './lib/hlm-dialog-footer';\nimport { HlmDialogHeader } from './lib/hlm-dialog-header';\nimport { HlmDialogOverlay } from './lib/hlm-dialog-overlay';\nimport { HlmDialogTitle } from './lib/hlm-dialog-title';\n\nexport * from './lib/hlm-dialog';\nexport * from './lib/hlm-dialog-close';\nexport * from './lib/hlm-dialog-content';\nexport * from './lib/hlm-dialog-description';\nexport * from './lib/hlm-dialog-footer';\nexport * from './lib/hlm-dialog-header';\nexport * from './lib/hlm-dialog-overlay';\nexport * from './lib/hlm-dialog-title';\nexport * from './lib/hlm-dialog.service';\n\nexport const HlmDialogImports = [\n HlmDialog,\n HlmDialogClose,\n HlmDialogContent,\n HlmDialogDescription,\n HlmDialogFooter,\n HlmDialogHeader,\n HlmDialogOverlay,\n HlmDialogTitle,\n] as const;\n\n@NgModule({\n // imports: [...HlmDialogImports],\n // exports: [...HlmDialogImports],\n})\nexport class HlmDialogModule {}\n","import { ChangeDetectionStrategy, Component, effect, inject, input, viewChild } from '@angular/core';\nimport { BrnDialog } from '@spartan-ng/brain/dialog';\nimport { HlmDialog, HlmDialogContent, HlmDialogService } from './libs/ui-dialog-helm/src';\n\n@Component({\n selector: 'sdc-dialog',\n imports: [HlmDialogContent, HlmDialog],\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './dialog.component.html',\n})\nexport class DialogComponent {\n public dialogService = inject(HlmDialogService);\n public dialogComponent = viewChild(BrnDialog);\n public fitContent = input<boolean>(false);\n\n public constructor() {\n effect(() => {\n this.dialogService.component.set(this.dialogComponent() ?? null);\n });\n }\n}\n","<hlm-dialog #dialogRef>\n <hlm-dialog-content *hlmDialogContent=\"let ctx\" [fitContent]=\"fitContent()\" class=\"dialog-content\" />\n</hlm-dialog>\n","/*\n * Public API Surface of software-division-components\n */\n\nexport * from './dialog.component';\nexport * from './libs/ui-dialog-helm/src';\nexport { HlmDialogService as DialogService } from './libs/ui-dialog-helm/src/lib/hlm-dialog.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"3ddv-software-division-components-generic-dialog.mjs","sources":["../../generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-overlay.ts","../../generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog.ts","../../generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-close.ts","../../generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-content.ts","../../generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-description.ts","../../generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-footer.ts","../../generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-header.ts","../../generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-title.ts","../../generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog-overlay-pane.ts","../../generic/dialog/libs/ui-dialog-helm/src/lib/hlm-dialog.service.ts","../../generic/dialog/libs/ui-dialog-helm/src/index.ts","../../generic/dialog/dialog.component.ts","../../generic/dialog/dialog.component.html","../../generic/dialog/public-api.ts","../../generic/dialog/3ddv-software-division-components-generic-dialog.ts"],"sourcesContent":["import { computed, Directive, effect, input, untracked } from '@angular/core';\nimport { hlm, injectCustomClassSettable } from '@spartan-ng/brain/core';\nimport type { ClassValue } from 'clsx';\n\nexport const hlmDialogOverlayClass =\n 'bg-black/50 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0';\n\n@Directive({\n selector: '[hlmDialogOverlay],brn-dialog-overlay[hlm]',\n})\nexport class HlmDialogOverlay {\n private readonly _classSettable = injectCustomClassSettable({ optional: true, host: true });\n\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly _computedClass = computed(() => hlm(hlmDialogOverlayClass, this.userClass()));\n\n constructor() {\n effect(() => {\n const newClass = this._computedClass();\n untracked(() => this._classSettable?.setClassToCustomElement(newClass));\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, forwardRef, ViewEncapsulation } from '@angular/core';\nimport { BrnDialog, BrnDialogOverlay, provideBrnDialogDefaultOptions } from '@spartan-ng/brain/dialog';\nimport { HlmDialogOverlay } from './hlm-dialog-overlay';\n\n@Component({\n selector: 'hlm-dialog',\n\n imports: [BrnDialogOverlay, HlmDialogOverlay],\n providers: [\n {\n provide: BrnDialog,\n useExisting: forwardRef(() => HlmDialog),\n },\n provideBrnDialogDefaultOptions({\n hasBackdrop: true,\n disableClose: false,\n closeOnBackdropClick: true,\n closeOnOutsidePointerEvents: true,\n scrollStrategy: 'reposition',\n attachPositions: [{ originX: 'center', originY: 'center', overlayX: 'center', overlayY: 'center' }],\n }),\n ],\n template: `\n <brn-dialog-overlay hlm />\n <ng-content />\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'hlmDialog',\n})\nexport class HlmDialog extends BrnDialog {}\n","import { computed, Directive, input } from '@angular/core';\nimport { hlm } from '@spartan-ng/brain/core';\nimport type { ClassValue } from 'clsx';\n\n@Directive({\n selector: '[hlmDialogClose],[brnDialogClose][hlm]',\n host: {\n '[class]': '_computedClass()',\n },\n})\nexport class HlmDialogClose {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly _computedClass = computed(() =>\n hlm(\n 'absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground',\n this.userClass()\n )\n );\n}\n","import { HlmIcon } from '@3ddv/software-division-components/generic/icon';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ComponentRef,\n computed,\n inject,\n input,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideX } from '@ng-icons/lucide';\nimport { hlm } from '@spartan-ng/brain/core';\nimport { BrnDialogClose, BrnDialogRef, injectBrnDialogContext } from '@spartan-ng/brain/dialog';\nimport type { ClassValue } from 'clsx';\nimport { HlmDialogClose } from './hlm-dialog-close';\n\n@Component({\n selector: 'hlm-dialog-content',\n imports: [BrnDialogClose, HlmDialogClose, NgIcon, HlmIcon],\n providers: [provideIcons({ lucideX })],\n host: {\n '[class]': '_computedClass()',\n '[attr.data-state]': 'state()',\n },\n template: `\n @if (component) {\n <ng-container #outlet />\n } @else {\n <ng-content />\n }\n\n @if (effectiveShowCloseButton()) {\n <button brnDialogClose class=\"animated-button\" hlm type=\"button\">\n <span class=\"sr-only\">Close</span>\n <ng-icon hlm name=\"lucideX\" size=\"sm\" />\n </button>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class HlmDialogContent implements AfterViewInit {\n private readonly _dialogRef = inject(BrnDialogRef);\n private readonly _dialogContext = injectBrnDialogContext({ optional: true });\n\n @ViewChild('outlet', { read: ViewContainerRef }) private readonly _outlet!: ViewContainerRef;\n\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n public readonly fitContent = input<boolean>(false);\n /** When false, the panel close (X) control is not rendered. Default true. Overridden by dialog open context `$showCloseButton` when set. */\n public readonly showCloseButton = input<boolean>(true);\n public projectedRef: ComponentRef<unknown> | null = null;\n\n public readonly state = computed(() => this._dialogRef?.state() ?? 'closed');\n public readonly componentInputs = computed(() => {\n const rawContext = this._dialogContext;\n if (rawContext == null || typeof rawContext !== 'object') {\n return {};\n }\n const { $component, $dynamicComponentClass, $fitContent, $showCloseButton, close, ...rest } = rawContext as Record<\n string,\n unknown\n >;\n return rest;\n });\n protected readonly _computedClass = computed(() =>\n hlm(\n 'grid w-full relative gap-4 border-0 bg-white p-6 shadow-lg outline-none ring-0 [animation-duration:200] data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-top-[2%] data-[state=open]:slide-in-from-top-[2%] rounded-lg md:w-full',\n this.userClass(),\n this.fitContent() || this._fitContent ? '' : 'max-w-lg',\n this._dynamicComponentClass\n )\n );\n\n public readonly component = this._dialogContext?.$component;\n private readonly _dynamicComponentClass = this._dialogContext?.$dynamicComponentClass;\n private readonly _fitContent = this._dialogContext?.$fitContent ?? false;\n\n public readonly effectiveShowCloseButton = computed(() => {\n const ctx = this._dialogContext as { $showCloseButton?: boolean } | null | undefined;\n const fromContext =\n ctx != null && typeof ctx === 'object' && '$showCloseButton' in ctx ? ctx.$showCloseButton : undefined;\n if (typeof fromContext === 'boolean') {\n return fromContext;\n }\n return this.showCloseButton();\n });\n\n public ngAfterViewInit(): void {\n if (!this.component || !this._outlet) {\n return;\n }\n this.projectedRef = this._outlet.createComponent(this.component);\n for (const [key, value] of Object.entries(this.componentInputs())) {\n this.projectedRef.setInput(key, value);\n }\n }\n}\n","import { computed, Directive, input } from '@angular/core';\nimport { hlm } from '@spartan-ng/brain/core';\nimport { BrnDialogDescription } from '@spartan-ng/brain/dialog';\nimport type { ClassValue } from 'clsx';\n\n@Directive({\n selector: '[hlmDialogDescription]',\n\n host: {\n '[class]': '_computedClass()',\n },\n hostDirectives: [BrnDialogDescription],\n})\nexport class HlmDialogDescription {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly _computedClass = computed(() => hlm('text-sm text-muted-foreground', this.userClass()));\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { hlm } from '@spartan-ng/brain/core';\nimport type { ClassValue } from 'clsx';\n\n@Component({\n selector: 'hlm-dialog-footer',\n\n template: ` <ng-content /> `,\n host: {\n '[class]': '_computedClass()',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmDialogFooter {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected _computedClass = computed(() =>\n hlm('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', this.userClass())\n );\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { hlm } from '@spartan-ng/brain/core';\nimport type { ClassValue } from 'clsx';\n\n@Component({\n selector: 'hlm-dialog-header',\n\n template: ` <ng-content /> `,\n host: {\n '[class]': '_computedClass()',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmDialogHeader {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected _computedClass = computed(() =>\n hlm('flex flex-col space-y-1.5 text-center sm:text-left', this.userClass())\n );\n}\n","import { computed, Directive, input } from '@angular/core';\nimport { hlm } from '@spartan-ng/brain/core';\nimport { BrnDialogTitle } from '@spartan-ng/brain/dialog';\nimport type { ClassValue } from 'clsx';\n\n@Directive({\n selector: '[hlmDialogTitle]',\n\n host: {\n '[class]': '_computedClass()',\n },\n hostDirectives: [BrnDialogTitle],\n})\nexport class HlmDialogTitle {\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly _computedClass = computed(() =>\n hlm('text-lg font-semibold leading-none tracking-tight', this.userClass())\n );\n}\n","/**\n * CDK overlay pane sizing (Angular CDK applies this via `OverlayRef.updateSize`).\n * Configure from the host app using `DialogService.open({ ... })`, `sdc-dialog` inputs,\n * or CSS custom properties on `sdc-dialog` (see `readOverlayPaneCssVars`).\n */\nexport type HlmOverlayPaneSize = {\n width?: string;\n maxWidth?: string;\n height?: string;\n maxHeight?: string;\n};\n\n/** CSS custom properties read from `sdc-dialog` (or any host element). */\nexport const SDC_DIALOG_PANE_CSS_VARS = {\n width: '--sdc-dialog-pane-width',\n maxWidth: '--sdc-dialog-pane-max-width',\n height: '--sdc-dialog-pane-height',\n maxHeight: '--sdc-dialog-pane-max-height',\n} as const;\n\nexport function readOverlayPaneCssVars(host: HTMLElement): HlmOverlayPaneSize {\n const computed = getComputedStyle(host);\n const read = (varName: string): string | undefined => {\n const raw = computed.getPropertyValue(varName).trim();\n return raw === '' ? undefined : raw;\n };\n return {\n width: read(SDC_DIALOG_PANE_CSS_VARS.width),\n maxWidth: read(SDC_DIALOG_PANE_CSS_VARS.maxWidth),\n height: read(SDC_DIALOG_PANE_CSS_VARS.height),\n maxHeight: read(SDC_DIALOG_PANE_CSS_VARS.maxHeight),\n };\n}\n\nexport function pickOverlayPaneFromOptions(options?: {\n overlayPaneWidth?: string;\n overlayPaneMaxWidth?: string;\n overlayPaneHeight?: string;\n overlayPaneMaxHeight?: string;\n}): HlmOverlayPaneSize {\n if (!options) {\n return {};\n }\n const size: HlmOverlayPaneSize = {};\n if (options.overlayPaneWidth !== undefined && options.overlayPaneWidth !== '') {\n size.width = options.overlayPaneWidth;\n }\n if (options.overlayPaneMaxWidth !== undefined && options.overlayPaneMaxWidth !== '') {\n size.maxWidth = options.overlayPaneMaxWidth;\n }\n if (options.overlayPaneHeight !== undefined && options.overlayPaneHeight !== '') {\n size.height = options.overlayPaneHeight;\n }\n if (options.overlayPaneMaxHeight !== undefined && options.overlayPaneMaxHeight !== '') {\n size.maxHeight = options.overlayPaneMaxHeight;\n }\n return size;\n}\n\nexport function mergeOverlayPaneSizes(...layers: HlmOverlayPaneSize[]): HlmOverlayPaneSize {\n const merged: HlmOverlayPaneSize = {};\n for (const layer of layers) {\n for (const key of ['width', 'maxWidth', 'height', 'maxHeight'] as const) {\n const v = layer[key];\n if (v !== undefined && v !== '') {\n merged[key] = v;\n }\n }\n }\n return merged;\n}\n\nexport function overlayPaneSizeToUpdateConfig(size: HlmOverlayPaneSize): {\n width?: string;\n maxWidth?: string;\n height?: string;\n maxHeight?: string;\n} {\n const cfg: { width?: string; maxWidth?: string; height?: string; maxHeight?: string } = {};\n if (size.width !== undefined) {\n cfg.width = size.width;\n }\n if (size.maxWidth !== undefined) {\n cfg.maxWidth = size.maxWidth;\n }\n if (size.height !== undefined) {\n cfg.height = size.height;\n }\n if (size.maxHeight !== undefined) {\n cfg.maxHeight = size.maxHeight;\n }\n return cfg;\n}\n","import type { ComponentType } from '@angular/cdk/portal';\nimport { inject, Injectable, OutputEmitterRef, signal, TemplateRef } from '@angular/core';\nimport {\n BrnDialog,\n BrnDialogRef,\n BrnDialogService,\n cssClassesToArray,\n DEFAULT_BRN_DIALOG_OPTIONS,\n type BrnDialogOptions,\n} from '@spartan-ng/brain/dialog';\nimport { HlmDialogContent } from './hlm-dialog-content';\nimport { hlmDialogOverlayClass } from './hlm-dialog-overlay';\nimport {\n mergeOverlayPaneSizes,\n overlayPaneSizeToUpdateConfig,\n pickOverlayPaneFromOptions,\n readOverlayPaneCssVars,\n type HlmOverlayPaneSize,\n} from './hlm-dialog-overlay-pane';\n\nexport type { HlmOverlayPaneSize } from './hlm-dialog-overlay-pane';\n\nexport type HlmDialogOptions<DialogContext = unknown> = BrnDialogOptions & {\n contentClass?: string;\n fitContent?: boolean;\n showCloseButton?: boolean;\n context?: DialogContext;\n /**\n * CDK overlay pane size (see `HlmOverlayPaneSize`). Overrides defaults from `sdc-dialog` inputs / CSS vars.\n * Spartan does not forward these to CDK; applied via `OverlayRef.updateSize`.\n */\n overlayPaneWidth?: string;\n overlayPaneMaxWidth?: string;\n overlayPaneHeight?: string;\n overlayPaneMaxHeight?: string;\n};\n\nexport type OutputsOf<T> = {\n [K in keyof T as T[K] extends OutputEmitterRef<any> ? K : never]: T[K];\n};\n\n@Injectable({\n providedIn: 'root',\n})\nexport class HlmDialogService {\n public ref = signal<BrnDialogRef<any> | null>(null);\n public component = signal<BrnDialog | null>(null);\n /**\n * Host element of `sdc-dialog`; used to read `--sdc-dialog-pane-*` CSS variables on each `open()`.\n * Registered by `DialogComponent`; expect a single dialog host per app.\n */\n public readonly hostElement = signal<HTMLElement | null>(null);\n /**\n * Default overlay pane size from `sdc-dialog` inputs. Overridden per `open()` and by CSS vars\n * when defined on the host (merge order: CSS vars → this signal → `open()` options).\n */\n public readonly defaultOverlayPaneSize = signal<HlmOverlayPaneSize>({});\n\n private readonly _brnDialogService = inject(BrnDialogService);\n\n /**\n * Clears host registration when the active `sdc-dialog` is destroyed (single-host apps).\n */\n public releaseHostIfMatch(host: HTMLElement): void {\n if (this.hostElement() === host) {\n this.hostElement.set(null);\n this.defaultOverlayPaneSize.set({});\n }\n }\n\n public open<T = unknown>(\n component: ComponentType<T> | TemplateRef<T>,\n options?: Partial<HlmDialogOptions>\n ): { reference: BrnDialogRef<any>; outputs: OutputsOf<T> | null } {\n if (options) {\n options.panelClass = 'dialog-overlay-margin';\n } else {\n options = { panelClass: 'dialog-overlay-margin' };\n }\n\n const baseContext = typeof options?.context === 'object' && options?.context !== null ? options.context : {};\n const showCloseFromContext =\n baseContext &&\n typeof baseContext === 'object' &&\n '$showCloseButton' in baseContext &&\n typeof (baseContext as { $showCloseButton: unknown }).$showCloseButton === 'boolean'\n ? (baseContext as { $showCloseButton: boolean }).$showCloseButton\n : undefined;\n const resolvedShowCloseButton =\n options?.showCloseButton !== undefined ? options.showCloseButton : (showCloseFromContext ?? true);\n\n const mergedOptions = {\n ...DEFAULT_BRN_DIALOG_OPTIONS,\n ...options,\n backdropClass: cssClassesToArray(`${hlmDialogOverlayClass} ${options?.backdropClass ?? ''} dialog-container`),\n context: {\n ...baseContext,\n $component: component,\n $dynamicComponentClass: options?.contentClass,\n $fitContent: options?.fitContent,\n $showCloseButton: resolvedShowCloseButton,\n },\n };\n const reference = this._brnDialogService.open(HlmDialogContent, undefined, mergedOptions.context, mergedOptions);\n this.ref.set(reference);\n\n const cdkRef = (reference as any)._cdkDialogRef;\n const host = this.hostElement();\n const fromCss = host ? readOverlayPaneCssVars(host) : {};\n const fromInputs = this.defaultOverlayPaneSize();\n const fromOpen = pickOverlayPaneFromOptions(options);\n const resolvedPane = mergeOverlayPaneSizes(fromCss, fromInputs, fromOpen);\n const updateCfg = overlayPaneSizeToUpdateConfig(resolvedPane);\n if (Object.keys(updateCfg).length > 0) {\n cdkRef?.overlayRef?.updateSize(updateCfg);\n }\n cdkRef?.componentRef?.changeDetectorRef?.detectChanges();\n\n const contentInstance = cdkRef?.componentRef?.instance as HlmDialogContent;\n const instance = contentInstance?.projectedRef?.instance as T | undefined;\n\n let outputs: OutputsOf<T> | null = null;\n if (instance) {\n const result = {} as Record<string, unknown>;\n for (const key of Object.getOwnPropertyNames(instance)) {\n if ((instance as any)[key] instanceof OutputEmitterRef) {\n result[key] = (instance as any)[key];\n }\n }\n outputs = result as OutputsOf<T>;\n }\n\n return { reference, outputs };\n }\n\n public close(): void {\n if (!this.ref()) {\n return;\n }\n\n this.ref()?.close();\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { HlmDialog } from './lib/hlm-dialog';\nimport { HlmDialogClose } from './lib/hlm-dialog-close';\nimport { HlmDialogContent } from './lib/hlm-dialog-content';\nimport { HlmDialogDescription } from './lib/hlm-dialog-description';\nimport { HlmDialogFooter } from './lib/hlm-dialog-footer';\nimport { HlmDialogHeader } from './lib/hlm-dialog-header';\nimport { HlmDialogOverlay } from './lib/hlm-dialog-overlay';\nimport { HlmDialogTitle } from './lib/hlm-dialog-title';\n\nexport * from './lib/hlm-dialog';\nexport * from './lib/hlm-dialog-close';\nexport * from './lib/hlm-dialog-content';\nexport * from './lib/hlm-dialog-description';\nexport * from './lib/hlm-dialog-footer';\nexport * from './lib/hlm-dialog-header';\nexport * from './lib/hlm-dialog-overlay';\nexport * from './lib/hlm-dialog-overlay-pane';\nexport * from './lib/hlm-dialog-title';\nexport * from './lib/hlm-dialog.service';\n\nexport const HlmDialogImports = [\n HlmDialog,\n HlmDialogClose,\n HlmDialogContent,\n HlmDialogDescription,\n HlmDialogFooter,\n HlmDialogHeader,\n HlmDialogOverlay,\n HlmDialogTitle,\n] as const;\n\n@NgModule({\n // imports: [...HlmDialogImports],\n // exports: [...HlmDialogImports],\n})\nexport class HlmDialogModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n effect,\n ElementRef,\n inject,\n input,\n OnDestroy,\n viewChild,\n} from '@angular/core';\nimport { BrnDialog } from '@spartan-ng/brain/dialog';\nimport type { HlmOverlayPaneSize } from './libs/ui-dialog-helm/src';\nimport { HlmDialog, HlmDialogContent, HlmDialogService } from './libs/ui-dialog-helm/src';\n\n@Component({\n selector: 'sdc-dialog',\n imports: [HlmDialogContent, HlmDialog],\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './dialog.component.html',\n})\nexport class DialogComponent implements OnDestroy {\n public dialogService = inject(HlmDialogService);\n public dialogComponent = viewChild(BrnDialog);\n\n private readonly hostEl = inject<ElementRef<HTMLElement>>(ElementRef);\n\n public fitContent = input<boolean>(false);\n public showCloseButton = input<boolean>(true);\n\n /**\n * Default CDK overlay pane width (e.g. `800px`). Merge order: CSS vars on `sdc-dialog` → these inputs →\n * `DialogService.open({ overlayPaneWidth, ... })` (strongest).\n */\n public overlayPaneWidth = input<string | undefined>(undefined);\n public overlayPaneMaxWidth = input<string | undefined>(undefined);\n public overlayPaneHeight = input<string | undefined>(undefined);\n public overlayPaneMaxHeight = input<string | undefined>(undefined);\n\n public constructor() {\n effect(() => {\n this.dialogService.component.set(this.dialogComponent() ?? null);\n this.dialogService.hostElement.set(this.hostEl.nativeElement);\n\n const size: HlmOverlayPaneSize = {};\n const w = this.overlayPaneWidth();\n const maxW = this.overlayPaneMaxWidth();\n const h = this.overlayPaneHeight();\n const maxH = this.overlayPaneMaxHeight();\n if (w !== undefined && w !== '') {\n size.width = w;\n }\n if (maxW !== undefined && maxW !== '') {\n size.maxWidth = maxW;\n }\n if (h !== undefined && h !== '') {\n size.height = h;\n }\n if (maxH !== undefined && maxH !== '') {\n size.maxHeight = maxH;\n }\n this.dialogService.defaultOverlayPaneSize.set(size);\n });\n }\n\n public ngOnDestroy(): void {\n this.dialogService.releaseHostIfMatch(this.hostEl.nativeElement);\n }\n}\n","<hlm-dialog #dialogRef>\n <hlm-dialog-content\n *hlmDialogContent=\"let ctx\"\n [fitContent]=\"fitContent()\"\n [showCloseButton]=\"showCloseButton()\"\n class=\"dialog-content\" />\n</hlm-dialog>\n","/*\n * Public API Surface of software-division-components\n */\n\nexport * from './dialog.component';\nexport * from './libs/ui-dialog-helm/src';\nexport { HlmDialogService as DialogService } from './libs/ui-dialog-helm/src/lib/hlm-dialog.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -334,6 +334,7 @@ class SelectComponent {
|
|
|
334
334
|
options = input.required(...(ngDevMode ? [{ debugName: "options" }] : []));
|
|
335
335
|
fullWidth = input(false, ...(ngDevMode ? [{ debugName: "fullWidth" }] : []));
|
|
336
336
|
defaultValue = input(...(ngDevMode ? [undefined, { debugName: "defaultValue" }] : []));
|
|
337
|
+
disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : {}), transform: booleanAttribute });
|
|
337
338
|
valueChange = output();
|
|
338
339
|
get variantClasses() {
|
|
339
340
|
if (this.variant() === 'dark')
|
|
@@ -343,12 +344,12 @@ class SelectComponent {
|
|
|
343
344
|
return 'bg-white text-black';
|
|
344
345
|
}
|
|
345
346
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: SelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
346
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.4", type: SelectComponent, isStandalone: true, selector: "sdc-select", inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: true, transformFunction: null }, fullWidth: { classPropertyName: "fullWidth", publicName: "fullWidth", isSignal: true, isRequired: false, transformFunction: null }, defaultValue: { classPropertyName: "defaultValue", publicName: "defaultValue", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<hlm-select\n class=\"select-root\"\n [value]=\"defaultValue()?.value\"\n [placeholder]=\"placeholder()\"\n (valueChange)=\"valueChange.emit($event)\">\n <hlm-select-trigger\n class=\"select-trigger select-trigger--sm\"\n size=\"sm\"\n [variant]=\"variant()\"\n [ngClass]=\"variantClasses\">\n <hlm-select-value [ngClass]=\"variantClasses\" />\n </hlm-select-trigger>\n\n <hlm-select-trigger\n class=\"select-trigger select-trigger--lg\"\n size=\"default\"\n [variant]=\"variant()\"\n [ngClass]=\"variantClasses\">\n <hlm-select-value [ngClass]=\"variantClasses\" />\n </hlm-select-trigger>\n\n <hlm-select-content [class]=\"fullWidth() ? 'full-width' : ''\" [variant]=\"variant()\" [ngClass]=\"variantClasses\">\n @for (option of options(); track idx + option.label; let idx = $index) {\n <hlm-option [variant]=\"variant()\" [ngClass]=\"variantClasses\" [value]=\"option.value\">{{ option.label }}</hlm-option>\n }\n </hlm-select-content>\n</hlm-select>\n", styles: [".select-root{display:inline-block;width:100%}.select-trigger{display:flex;justify-content:space-between;align-items:center;border-radius:25px!important;outline:none;width:100%;overflow:hidden;color:#fff;font-size:.75rem;text-align:center;white-space:nowrap;text-overflow:ellipsis}.select-trigger:focus,.select-trigger:focus-visible{outline:none;box-shadow:0 0 0 2px var(--accent, var(--ring-accent, #0ea5e9))}.select-trigger--sm{display:flex}.select-trigger--lg{display:none}@media(min-width:1024px){.select-trigger--sm{display:none;font-weight:500;font-size:.875rem}.select-trigger--lg{display:flex;font-weight:500;font-size:.875rem}}.select-trigger.select-variant-glass{background:transparent!important;border-color:#ffffff0a!important;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:inset 0 1px #ffffff8c,inset 1px 0 #ffffff2e,inset -1px 0 #ffffff0a,inset 0 -1px #ffffff0f;transition:background .2s ease,box-shadow .2s ease}.select-trigger.select-variant-glass:hover{background:transparent!important;box-shadow:inset 0 1px #ffffffb3,inset 1px 0 #ffffff40,inset -1px 0 #ffffff0f,inset 0 -1px #ffffff14}.full-width{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i1.BrnSelect, selector: "brn-select, hlm-select", inputs: ["id", "multiple", "placeholder", "disabled", "dir", "closeDelay", "open", "value", "compareWith"], outputs: ["openChange", "valueChange"] }, { kind: "component", type: i1.BrnSelectContent, selector: "brn-select-content, hlm-select-content:not(noHlm)" }, { kind: "component", type: i1.BrnSelectValue, selector: "brn-select-value, hlm-select-value", inputs: ["transformFn"] }, { kind: "directive", type: HlmSelectContent, selector: "[hlmSelectContent], hlm-select-content", inputs: ["class", "stickyLabels", "variant"] }, { kind: "component", type: HlmSelectTrigger, selector: "hlm-select-trigger", inputs: ["class", "variant", "size"] }, { kind: "component", type: HlmSelectOption, selector: "hlm-option", inputs: ["class", "variant"] }, { kind: "directive", type: HlmSelectValue, selector: "hlm-select-value,[hlmSelectValue], brn-select-value[hlm]", inputs: ["class"] }, { kind: "directive", type: HlmSelect, selector: "hlm-select, brn-select [hlm]", inputs: ["class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
347
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.4", type: SelectComponent, isStandalone: true, selector: "sdc-select", inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: true, transformFunction: null }, fullWidth: { classPropertyName: "fullWidth", publicName: "fullWidth", isSignal: true, isRequired: false, transformFunction: null }, defaultValue: { classPropertyName: "defaultValue", publicName: "defaultValue", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<hlm-select\n class=\"select-root\"\n [disabled]=\"disabled()\"\n [value]=\"defaultValue()?.value\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"disabled()\"\n (valueChange)=\"valueChange.emit($event)\">\n <hlm-select-trigger\n class=\"select-trigger select-trigger--sm\"\n size=\"sm\"\n [variant]=\"variant()\"\n [ngClass]=\"variantClasses\">\n <hlm-select-value [ngClass]=\"variantClasses\" />\n </hlm-select-trigger>\n\n <hlm-select-trigger\n class=\"select-trigger select-trigger--lg\"\n size=\"default\"\n [variant]=\"variant()\"\n [ngClass]=\"variantClasses\">\n <hlm-select-value [ngClass]=\"variantClasses\" />\n </hlm-select-trigger>\n\n <hlm-select-content [class]=\"fullWidth() ? 'full-width' : ''\" [variant]=\"variant()\" [ngClass]=\"variantClasses\">\n @for (option of options(); track idx + option.label; let idx = $index) {\n <hlm-option [variant]=\"variant()\" [ngClass]=\"variantClasses\" [value]=\"option.value\">{{ option.label }}</hlm-option>\n }\n </hlm-select-content>\n</hlm-select>\n", styles: [".select-root{display:inline-block;width:100%}.select-trigger{display:flex;justify-content:space-between;align-items:center;border-radius:25px!important;outline:none;width:100%;overflow:hidden;color:#fff;font-size:.75rem;text-align:center;white-space:nowrap;text-overflow:ellipsis}.select-trigger:focus,.select-trigger:focus-visible{outline:none;box-shadow:0 0 0 2px var(--accent, var(--ring-accent, #0ea5e9))}.select-trigger--sm{display:flex}.select-trigger--lg{display:none}@media(min-width:1024px){.select-trigger--sm{display:none;font-weight:500;font-size:.875rem}.select-trigger--lg{display:flex;font-weight:500;font-size:.875rem}}.select-trigger.select-variant-glass{background:transparent!important;border-color:#ffffff0a!important;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:inset 0 1px #ffffff8c,inset 1px 0 #ffffff2e,inset -1px 0 #ffffff0a,inset 0 -1px #ffffff0f;transition:background .2s ease,box-shadow .2s ease}.select-trigger.select-variant-glass:hover{background:transparent!important;box-shadow:inset 0 1px #ffffffb3,inset 1px 0 #ffffff40,inset -1px 0 #ffffff0f,inset 0 -1px #ffffff14}.full-width{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i1.BrnSelect, selector: "brn-select, hlm-select", inputs: ["id", "multiple", "placeholder", "disabled", "dir", "closeDelay", "open", "value", "compareWith"], outputs: ["openChange", "valueChange"] }, { kind: "component", type: i1.BrnSelectContent, selector: "brn-select-content, hlm-select-content:not(noHlm)" }, { kind: "component", type: i1.BrnSelectValue, selector: "brn-select-value, hlm-select-value", inputs: ["transformFn"] }, { kind: "directive", type: HlmSelectContent, selector: "[hlmSelectContent], hlm-select-content", inputs: ["class", "stickyLabels", "variant"] }, { kind: "component", type: HlmSelectTrigger, selector: "hlm-select-trigger", inputs: ["class", "variant", "size"] }, { kind: "component", type: HlmSelectOption, selector: "hlm-option", inputs: ["class", "variant"] }, { kind: "directive", type: HlmSelectValue, selector: "hlm-select-value,[hlmSelectValue], brn-select-value[hlm]", inputs: ["class"] }, { kind: "directive", type: HlmSelect, selector: "hlm-select, brn-select [hlm]", inputs: ["class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
347
348
|
}
|
|
348
349
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: SelectComponent, decorators: [{
|
|
349
350
|
type: Component,
|
|
350
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'sdc-select', imports: [CommonModule, BrnSelectImports, HlmSelectImports], template: "<hlm-select\n class=\"select-root\"\n [value]=\"defaultValue()?.value\"\n [placeholder]=\"placeholder()\"\n (valueChange)=\"valueChange.emit($event)\">\n <hlm-select-trigger\n class=\"select-trigger select-trigger--sm\"\n size=\"sm\"\n [variant]=\"variant()\"\n [ngClass]=\"variantClasses\">\n <hlm-select-value [ngClass]=\"variantClasses\" />\n </hlm-select-trigger>\n\n <hlm-select-trigger\n class=\"select-trigger select-trigger--lg\"\n size=\"default\"\n [variant]=\"variant()\"\n [ngClass]=\"variantClasses\">\n <hlm-select-value [ngClass]=\"variantClasses\" />\n </hlm-select-trigger>\n\n <hlm-select-content [class]=\"fullWidth() ? 'full-width' : ''\" [variant]=\"variant()\" [ngClass]=\"variantClasses\">\n @for (option of options(); track idx + option.label; let idx = $index) {\n <hlm-option [variant]=\"variant()\" [ngClass]=\"variantClasses\" [value]=\"option.value\">{{ option.label }}</hlm-option>\n }\n </hlm-select-content>\n</hlm-select>\n", styles: [".select-root{display:inline-block;width:100%}.select-trigger{display:flex;justify-content:space-between;align-items:center;border-radius:25px!important;outline:none;width:100%;overflow:hidden;color:#fff;font-size:.75rem;text-align:center;white-space:nowrap;text-overflow:ellipsis}.select-trigger:focus,.select-trigger:focus-visible{outline:none;box-shadow:0 0 0 2px var(--accent, var(--ring-accent, #0ea5e9))}.select-trigger--sm{display:flex}.select-trigger--lg{display:none}@media(min-width:1024px){.select-trigger--sm{display:none;font-weight:500;font-size:.875rem}.select-trigger--lg{display:flex;font-weight:500;font-size:.875rem}}.select-trigger.select-variant-glass{background:transparent!important;border-color:#ffffff0a!important;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:inset 0 1px #ffffff8c,inset 1px 0 #ffffff2e,inset -1px 0 #ffffff0a,inset 0 -1px #ffffff0f;transition:background .2s ease,box-shadow .2s ease}.select-trigger.select-variant-glass:hover{background:transparent!important;box-shadow:inset 0 1px #ffffffb3,inset 1px 0 #ffffff40,inset -1px 0 #ffffff0f,inset 0 -1px #ffffff14}.full-width{width:100%}\n"] }]
|
|
351
|
-
}], propDecorators: { placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: true }] }], fullWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "fullWidth", required: false }] }], defaultValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultValue", required: false }] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }] } });
|
|
351
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'sdc-select', imports: [CommonModule, BrnSelectImports, HlmSelectImports], template: "<hlm-select\n class=\"select-root\"\n [disabled]=\"disabled()\"\n [value]=\"defaultValue()?.value\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"disabled()\"\n (valueChange)=\"valueChange.emit($event)\">\n <hlm-select-trigger\n class=\"select-trigger select-trigger--sm\"\n size=\"sm\"\n [variant]=\"variant()\"\n [ngClass]=\"variantClasses\">\n <hlm-select-value [ngClass]=\"variantClasses\" />\n </hlm-select-trigger>\n\n <hlm-select-trigger\n class=\"select-trigger select-trigger--lg\"\n size=\"default\"\n [variant]=\"variant()\"\n [ngClass]=\"variantClasses\">\n <hlm-select-value [ngClass]=\"variantClasses\" />\n </hlm-select-trigger>\n\n <hlm-select-content [class]=\"fullWidth() ? 'full-width' : ''\" [variant]=\"variant()\" [ngClass]=\"variantClasses\">\n @for (option of options(); track idx + option.label; let idx = $index) {\n <hlm-option [variant]=\"variant()\" [ngClass]=\"variantClasses\" [value]=\"option.value\">{{ option.label }}</hlm-option>\n }\n </hlm-select-content>\n</hlm-select>\n", styles: [".select-root{display:inline-block;width:100%}.select-trigger{display:flex;justify-content:space-between;align-items:center;border-radius:25px!important;outline:none;width:100%;overflow:hidden;color:#fff;font-size:.75rem;text-align:center;white-space:nowrap;text-overflow:ellipsis}.select-trigger:focus,.select-trigger:focus-visible{outline:none;box-shadow:0 0 0 2px var(--accent, var(--ring-accent, #0ea5e9))}.select-trigger--sm{display:flex}.select-trigger--lg{display:none}@media(min-width:1024px){.select-trigger--sm{display:none;font-weight:500;font-size:.875rem}.select-trigger--lg{display:flex;font-weight:500;font-size:.875rem}}.select-trigger.select-variant-glass{background:transparent!important;border-color:#ffffff0a!important;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:inset 0 1px #ffffff8c,inset 1px 0 #ffffff2e,inset -1px 0 #ffffff0a,inset 0 -1px #ffffff0f;transition:background .2s ease,box-shadow .2s ease}.select-trigger.select-variant-glass:hover{background:transparent!important;box-shadow:inset 0 1px #ffffffb3,inset 1px 0 #ffffff40,inset -1px 0 #ffffff0f,inset 0 -1px #ffffff14}.full-width{width:100%}\n"] }]
|
|
352
|
+
}], propDecorators: { placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: true }] }], fullWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "fullWidth", required: false }] }], defaultValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultValue", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }] } });
|
|
352
353
|
|
|
353
354
|
/**
|
|
354
355
|
* Generated bundle index. Do not edit.
|