@ngbase/adk 0.1.0 → 0.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 +1 -1
- package/accordion/accordion-item.d.ts +4 -0
- package/accordion/public-api.d.ts +1 -1
- package/autocomplete/autocomplete.d.ts +2 -2
- package/avatar/avatar.d.ts +1 -1
- package/breadcrumb/breadcrumb.d.ts +2 -3
- package/breadcrumb/public-api.d.ts +1 -1
- package/carousel/carousel.d.ts +1 -1
- package/chip/chip.d.ts +2 -2
- package/datepicker/calendar.d.ts +3 -3
- package/datepicker/datepicker.d.ts +2 -2
- package/datepicker/time.d.ts +2 -2
- package/dialog/dialog.d.ts +1 -1
- package/fesm2022/ngbase-adk-accordion.mjs +4 -1
- package/fesm2022/ngbase-adk-accordion.mjs.map +1 -1
- package/fesm2022/ngbase-adk-autocomplete.mjs +7 -36
- package/fesm2022/ngbase-adk-autocomplete.mjs.map +1 -1
- package/fesm2022/ngbase-adk-avatar.mjs +2 -2
- package/fesm2022/ngbase-adk-avatar.mjs.map +1 -1
- package/fesm2022/ngbase-adk-breadcrumb.mjs +2 -2
- package/fesm2022/ngbase-adk-breadcrumb.mjs.map +1 -1
- package/fesm2022/ngbase-adk-carousel.mjs +2 -2
- package/fesm2022/ngbase-adk-carousel.mjs.map +1 -1
- package/fesm2022/ngbase-adk-chip.mjs +4 -2
- package/fesm2022/ngbase-adk-chip.mjs.map +1 -1
- package/fesm2022/ngbase-adk-datepicker.mjs +114 -328
- package/fesm2022/ngbase-adk-datepicker.mjs.map +1 -1
- package/fesm2022/ngbase-adk-dialog.mjs +18 -19
- package/fesm2022/ngbase-adk-dialog.mjs.map +1 -1
- package/fesm2022/ngbase-adk-form-field.mjs +2 -156
- package/fesm2022/ngbase-adk-form-field.mjs.map +1 -1
- package/fesm2022/ngbase-adk-menu.mjs +15 -30
- package/fesm2022/ngbase-adk-menu.mjs.map +1 -1
- package/fesm2022/ngbase-adk-otp.mjs +164 -0
- package/fesm2022/ngbase-adk-otp.mjs.map +1 -0
- package/fesm2022/ngbase-adk-pagination.mjs +8 -65
- package/fesm2022/ngbase-adk-pagination.mjs.map +1 -1
- package/fesm2022/ngbase-adk-popover.mjs +423 -548
- package/fesm2022/ngbase-adk-popover.mjs.map +1 -1
- package/fesm2022/ngbase-adk-portal.mjs +0 -1
- package/fesm2022/ngbase-adk-portal.mjs.map +1 -1
- package/fesm2022/ngbase-adk-radio.mjs +2 -16
- package/fesm2022/ngbase-adk-radio.mjs.map +1 -1
- package/fesm2022/ngbase-adk-resizable.mjs +10 -43
- package/fesm2022/ngbase-adk-resizable.mjs.map +1 -1
- package/fesm2022/ngbase-adk-select.mjs +67 -173
- package/fesm2022/ngbase-adk-select.mjs.map +1 -1
- package/fesm2022/ngbase-adk-sheet.mjs +95 -0
- package/fesm2022/ngbase-adk-sheet.mjs.map +1 -0
- package/fesm2022/ngbase-adk-sidenav.mjs +2 -2
- package/fesm2022/ngbase-adk-sidenav.mjs.map +1 -1
- package/fesm2022/ngbase-adk-slider.mjs +9 -23
- package/fesm2022/ngbase-adk-slider.mjs.map +1 -1
- package/fesm2022/ngbase-adk-sonner.mjs +13 -63
- package/fesm2022/ngbase-adk-sonner.mjs.map +1 -1
- package/fesm2022/ngbase-adk-stepper.mjs +16 -114
- package/fesm2022/ngbase-adk-stepper.mjs.map +1 -1
- package/fesm2022/ngbase-adk-switch.mjs +2 -2
- package/fesm2022/ngbase-adk-switch.mjs.map +1 -1
- package/fesm2022/ngbase-adk-table.mjs +10 -30
- package/fesm2022/ngbase-adk-table.mjs.map +1 -1
- package/fesm2022/ngbase-adk-tabs.mjs +14 -94
- package/fesm2022/ngbase-adk-tabs.mjs.map +1 -1
- package/fesm2022/ngbase-adk-tooltip.mjs +49 -39
- package/fesm2022/ngbase-adk-tooltip.mjs.map +1 -1
- package/fesm2022/ngbase-adk-tour.mjs +1 -1
- package/fesm2022/ngbase-adk-tour.mjs.map +1 -1
- package/fesm2022/ngbase-adk-tree.mjs +11 -43
- package/fesm2022/ngbase-adk-tree.mjs.map +1 -1
- package/form-field/public-api.d.ts +0 -1
- package/menu/menu-trigger.d.ts +2 -2
- package/menu/menu.d.ts +6 -6
- package/otp/index.d.ts +5 -0
- package/{form-field → otp}/otp.d.ts +1 -1
- package/otp/public-api.d.ts +1 -0
- package/package.json +22 -13
- package/pagination/pagination.d.ts +5 -1
- package/popover/popover-arrow.ng.d.ts +34 -0
- package/popover/popover.d.ts +12 -3
- package/popover/popover.service.d.ts +5 -4
- package/popover/public-api.d.ts +1 -0
- package/popover/utils.d.ts +32 -48
- package/portal/dialog-ref.d.ts +0 -1
- package/resizable/resizable-group.d.ts +2 -2
- package/resizable/resizable.d.ts +2 -2
- package/schematics/collection.json +15 -0
- package/schematics/components/files/accordion/accordion.ts.template +53 -0
- package/schematics/components/files/accordion/index.ts.template +5 -0
- package/schematics/components/files/alert/alert.ts.template +62 -0
- package/schematics/components/files/alert/index.ts.template +1 -0
- package/schematics/components/files/autocomplete/autocomplete.ts.template +44 -0
- package/schematics/components/files/autocomplete/index.ts.template +5 -0
- package/schematics/components/files/avatar/avatar.ts.template +31 -0
- package/schematics/components/files/avatar/index.ts.template +1 -0
- package/schematics/components/files/badge/badge.ts.template +11 -0
- package/schematics/components/files/badge/index.ts.template +1 -0
- package/schematics/components/files/breadcrumb/breadcrumb.ts.template +49 -0
- package/schematics/components/files/breadcrumb/index.ts.template +1 -0
- package/schematics/components/files/button/button.ts.template +29 -0
- package/schematics/components/files/button/index.ts.template +5 -0
- package/schematics/components/files/card/card.ts.template +11 -0
- package/schematics/components/files/card/index.ts.template +5 -0
- package/schematics/components/files/carousel/carousel.ts.template +44 -0
- package/schematics/components/files/carousel/index.ts.template +1 -0
- package/schematics/components/files/checkbox/checkbox.ts.template +46 -0
- package/schematics/components/files/checkbox/focus-style.directive.ts.template +12 -0
- package/schematics/components/files/checkbox/index.ts.template +6 -0
- package/schematics/components/files/chip/chip.ts.template +36 -0
- package/schematics/components/files/chip/index.ts.template +1 -0
- package/schematics/components/files/color-picker/color-picker.ts.template +104 -0
- package/schematics/components/files/color-picker/index.ts.template +5 -0
- package/schematics/components/files/command/command.ts.template +82 -0
- package/schematics/components/files/command/index.ts.template +1 -0
- package/schematics/components/files/datepicker/calendar.ts.template +117 -0
- package/schematics/components/files/datepicker/datepicker.ts.template +58 -0
- package/schematics/components/files/datepicker/index.ts.template +2 -0
- package/schematics/components/files/datepicker/time.ts.template +54 -0
- package/schematics/components/files/dialog/dialog.ts.template +89 -0
- package/schematics/components/files/dialog/index.ts.template +5 -0
- package/schematics/components/files/drawer/drawer.ts.template +104 -0
- package/schematics/components/files/drawer/index.ts.template +5 -0
- package/schematics/components/files/form-field/form-field.ts.template +111 -0
- package/schematics/components/files/form-field/index.ts.template +6 -0
- package/schematics/components/files/form-field/input-style.directive.ts.template +11 -0
- package/schematics/components/files/hover-card/hover-card.ts.template +13 -0
- package/schematics/components/files/hover-card/index.ts.template +5 -0
- package/schematics/components/files/icon/icon.ts.template +16 -0
- package/schematics/components/files/icon/index.ts.template +1 -0
- package/schematics/components/files/inline-edit/index.ts.template +1 -0
- package/schematics/components/files/inline-edit/inline-edit.ts.template +24 -0
- package/schematics/components/files/keys/index.ts.template +5 -0
- package/schematics/components/files/keys/key.ts.template +35 -0
- package/schematics/components/files/list/index.ts.template +5 -0
- package/schematics/components/files/list/list.ts.template +28 -0
- package/schematics/components/files/mask/index.ts.template +1 -0
- package/schematics/components/files/mask/mask.ts.template +8 -0
- package/schematics/components/files/menu/context-menu.ts.template +14 -0
- package/schematics/components/files/menu/index.ts.template +8 -0
- package/schematics/components/files/menu/mention.ts.template +14 -0
- package/schematics/components/files/menu/menu.ts.template +37 -0
- package/schematics/components/files/menu/navigation-menu.ts.template +8 -0
- package/schematics/components/files/otp/index.ts.template +5 -0
- package/schematics/components/files/otp/otp.ts.template +37 -0
- package/schematics/components/files/pagination/index.ts.template +1 -0
- package/schematics/components/files/pagination/pagination.ts.template +71 -0
- package/schematics/components/files/picasa/index.ts.template +1 -0
- package/schematics/components/files/picasa/picasa-base.component.ts.template +80 -0
- package/schematics/components/files/picasa/picasa.component.ts.template +57 -0
- package/schematics/components/files/picasa/picasa.directive.ts.template +41 -0
- package/schematics/components/files/picasa/picase.service.ts.template +24 -0
- package/schematics/components/files/popover/index.ts.template +1 -0
- package/schematics/components/files/popover/popover.ts.template +64 -0
- package/schematics/components/files/progress/index.ts.template +5 -0
- package/schematics/components/files/progress/progress.ts.template +14 -0
- package/schematics/components/files/radio/index.ts.template +5 -0
- package/schematics/components/files/radio/radio.ts.template +35 -0
- package/schematics/components/files/resizable/index.ts.template +5 -0
- package/schematics/components/files/resizable/resizable.ts.template +56 -0
- package/schematics/components/files/scroll-area/index.ts.template +1 -0
- package/schematics/components/files/scroll-area/scroll-area.ts.template +40 -0
- package/schematics/components/files/select/index.ts.template +8 -0
- package/schematics/components/files/select/list-selection.ts.template +15 -0
- package/schematics/components/files/select/option.ts.template +35 -0
- package/schematics/components/files/select/select-input.ts.template +21 -0
- package/schematics/components/files/select/select.ts.template +96 -0
- package/schematics/components/files/selectable/index.ts.template +1 -0
- package/schematics/components/files/selectable/selectable.ts.template +34 -0
- package/schematics/components/files/separator/index.ts.template +5 -0
- package/schematics/components/files/separator/separator.ts.template +19 -0
- package/schematics/components/files/sheet/index.ts.template +5 -0
- package/schematics/components/files/sheet/sheet.ts.template +69 -0
- package/schematics/components/files/sidenav/index.ts.template +1 -0
- package/schematics/components/files/sidenav/sidenav.ts.template +48 -0
- package/schematics/components/files/skeleton/index.ts.template +1 -0
- package/schematics/components/files/skeleton/skeleton.ts.template +15 -0
- package/schematics/components/files/slider/index.ts.template +5 -0
- package/schematics/components/files/slider/slider.ts.template +35 -0
- package/schematics/components/files/sonner/index.ts.template +5 -0
- package/schematics/components/files/sonner/sonner.ts.template +59 -0
- package/schematics/components/files/spinner/index.ts.template +1 -0
- package/schematics/components/files/spinner/spinner.ts.template +79 -0
- package/schematics/components/files/stepper/index.ts.template +1 -0
- package/schematics/components/files/stepper/stepper.ts.template +88 -0
- package/schematics/components/files/switch/index.ts.template +5 -0
- package/schematics/components/files/switch/switch.ts.template +29 -0
- package/schematics/components/files/table/body-cell.ts.template +19 -0
- package/schematics/components/files/table/body-row.ts.template +21 -0
- package/schematics/components/files/table/column.ts.template +8 -0
- package/schematics/components/files/table/head-cell.ts.template +19 -0
- package/schematics/components/files/table/head-row.ts.template +27 -0
- package/schematics/components/files/table/index.ts.template +26 -0
- package/schematics/components/files/table/table.ts.template +20 -0
- package/schematics/components/files/tabs/index.ts.template +5 -0
- package/schematics/components/files/tabs/tab.ts.template +92 -0
- package/schematics/components/files/theme/index.ts.template +2 -0
- package/schematics/components/files/theme/theme-button.component.ts.template +26 -0
- package/schematics/components/files/theme/theme.service.ts.template +33 -0
- package/schematics/components/files/toggle/index.ts.template +5 -0
- package/schematics/components/files/toggle/toggle.ts.template +13 -0
- package/schematics/components/files/toggle-group/index.ts.template +5 -0
- package/schematics/components/files/toggle-group/toggle-group.ts.template +25 -0
- package/schematics/components/files/tooltip/index.ts.template +5 -0
- package/schematics/components/files/tooltip/tooltip.ts.template +45 -0
- package/schematics/components/files/tour/index.ts.template +1 -0
- package/schematics/components/files/tour/tour.ts.template +19 -0
- package/schematics/components/files/tree/index.ts.template +1 -0
- package/schematics/components/files/tree/tree.ts.template +66 -0
- package/schematics/components/index.d.ts +3 -0
- package/schematics/components/index.js +17 -0
- package/schematics/components/index.js.map +1 -0
- package/schematics/components/index.ts +29 -0
- package/schematics/components/schema.d.ts +6 -0
- package/schematics/components/schema.js +3 -0
- package/schematics/components/schema.js.map +1 -0
- package/schematics/components/schema.json +145 -0
- package/schematics/components/schema.ts +6 -0
- package/select/option-group.d.ts +3 -3
- package/select/select.d.ts +2 -2
- package/sheet/index.d.ts +5 -0
- package/sheet/public-api.d.ts +2 -0
- package/sheet/sheet.d.ts +26 -0
- package/sheet/sheet.service.d.ts +13 -0
- package/sidenav/public-api.d.ts +1 -1
- package/sidenav/sidenav.d.ts +1 -1
- package/slider/public-api.d.ts +1 -1
- package/slider/slider.d.ts +5 -5
- package/sonner/sonner.d.ts +2 -1
- package/stepper/animation.d.ts +1 -1
- package/stepper/step.d.ts +1 -1
- package/stepper/stepper.d.ts +2 -2
- package/switch/switch.d.ts +1 -1
- package/table/body-row.d.ts +3 -3
- package/table/head-row.d.ts +3 -3
- package/table/table.d.ts +1 -1
- package/tabs/tab-group.d.ts +4 -4
- package/tabs/tab.d.ts +2 -2
- package/tooltip/public-api.d.ts +1 -1
- package/tooltip/tooltip.d.ts +5 -1
- package/tooltip/tooltip.directive.d.ts +1 -1
- package/tooltip/tooltip.service.d.ts +4 -2
- package/tour/tour.service.d.ts +3 -4
- package/tree/public-api.d.ts +2 -2
- package/tree/tree-node.d.ts +2 -2
- package/tree/tree.d.ts +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { trigger, state, style, transition, animate } from '@angular/animations';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { contentChild, computed, contentChildren, forwardRef, Directive, signal, effect, inject, input, model, ElementRef, Injector, afterNextRender
|
|
3
|
+
import { contentChild, computed, contentChildren, forwardRef, Directive, signal, effect, inject, input, model, ElementRef, Injector, afterNextRender } from '@angular/core';
|
|
4
4
|
import { NgControl, FormGroup, FormArray } from '@angular/forms';
|
|
5
5
|
import { uniqueId, provideValueAccessor } from '@ngbase/adk/utils';
|
|
6
6
|
|
|
@@ -202,163 +202,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImpor
|
|
|
202
202
|
}]
|
|
203
203
|
}] });
|
|
204
204
|
|
|
205
|
-
class NgbOtpInput {
|
|
206
|
-
constructor() {
|
|
207
|
-
this.otp = inject(NgbInputOtp);
|
|
208
|
-
this.el = inject(ElementRef);
|
|
209
|
-
}
|
|
210
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NgbOtpInput, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
211
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0", type: NgbOtpInput, isStandalone: true, selector: "input[ngbOtpInput]", host: { properties: { "disabled": "otp.disabled() || undefined" }, styleAttribute: "position: absolute; inset: 0; border: none; background: transparent; caret-color: transparent; outline: none; color: transparent; letter-spacing: -0.5rem;" }, ngImport: i0 }); }
|
|
212
|
-
}
|
|
213
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NgbOtpInput, decorators: [{
|
|
214
|
-
type: Directive,
|
|
215
|
-
args: [{
|
|
216
|
-
selector: 'input[ngbOtpInput]',
|
|
217
|
-
host: {
|
|
218
|
-
'[disabled]': 'otp.disabled() || undefined',
|
|
219
|
-
style: 'position: absolute; inset: 0; border: none; background: transparent; caret-color: transparent; outline: none; color: transparent; letter-spacing: -0.5rem;',
|
|
220
|
-
},
|
|
221
|
-
}]
|
|
222
|
-
}] });
|
|
223
|
-
class NgbOtpValue {
|
|
224
|
-
constructor() {
|
|
225
|
-
this.otp = inject(NgbInputOtp);
|
|
226
|
-
this.el = inject(ElementRef);
|
|
227
|
-
this.index = computed(() => this.otp._otpValues().findIndex(v => this.el === v.el));
|
|
228
|
-
this.value = computed(() => this.otp.values()[this.index()] || '');
|
|
229
|
-
this.focused = computed(() => {
|
|
230
|
-
return (this.otp.focused() && this.index() === Math.min(this.otp.values().length, this.otp.no() - 1));
|
|
231
|
-
});
|
|
232
|
-
effect(() => {
|
|
233
|
-
const value = this.value();
|
|
234
|
-
this.el.nativeElement.textContent = value && this.otp.masked() ? '•' : value;
|
|
235
|
-
});
|
|
236
|
-
}
|
|
237
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NgbOtpValue, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
238
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0", type: NgbOtpValue, isStandalone: true, selector: "[ngbOtpValue]", host: { attributes: { "aria-hidden": "true", "tabindex": "-1" }, properties: { "attr.data-focus": "focused() || undefined", "attr.data-disabled": "otp.disabled() || undefined" }, styleAttribute: "pointer-events: none" }, ngImport: i0 }); }
|
|
239
|
-
}
|
|
240
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NgbOtpValue, decorators: [{
|
|
241
|
-
type: Directive,
|
|
242
|
-
args: [{
|
|
243
|
-
selector: '[ngbOtpValue]',
|
|
244
|
-
host: {
|
|
245
|
-
style: `pointer-events: none`,
|
|
246
|
-
'[attr.data-focus]': 'focused() || undefined',
|
|
247
|
-
'[attr.data-disabled]': 'otp.disabled() || undefined',
|
|
248
|
-
'aria-hidden': 'true',
|
|
249
|
-
tabindex: '-1',
|
|
250
|
-
},
|
|
251
|
-
}]
|
|
252
|
-
}], ctorParameters: () => [] });
|
|
253
|
-
class NgbInputOtp {
|
|
254
|
-
constructor() {
|
|
255
|
-
this.inputs = viewChild.required(NgbOtpInput);
|
|
256
|
-
this._otpValues = viewChildren(NgbOtpValue);
|
|
257
|
-
// private readonly
|
|
258
|
-
this.size = input([4]);
|
|
259
|
-
this.masked = input(false, { transform: booleanAttribute });
|
|
260
|
-
this.disabled = input(false);
|
|
261
|
-
this.no = computed(() => this.size().reduce((a, b) => a + b, 0));
|
|
262
|
-
this.lastValue = '';
|
|
263
|
-
this.values = signal('');
|
|
264
|
-
this.focused = signal(false);
|
|
265
|
-
afterRenderEffect(cleanup => {
|
|
266
|
-
const inputEl = this.inputs().el.nativeElement;
|
|
267
|
-
const inputListener = () => {
|
|
268
|
-
const value = inputEl.value;
|
|
269
|
-
this.updateValue(value);
|
|
270
|
-
};
|
|
271
|
-
const keydownListener = (e) => {
|
|
272
|
-
const value = inputEl.value.length === this.no();
|
|
273
|
-
// const isPaste = (e.ctrlKey || e.metaKey) && e.key === 'v';
|
|
274
|
-
// if (isPaste || ['Tab', 'Enter'].includes(e.key)) {
|
|
275
|
-
// // prevent default behavior for tab key
|
|
276
|
-
// return;
|
|
277
|
-
// } else
|
|
278
|
-
if (value && !['Tab', 'Enter', 'Backspace'].includes(e.key)) {
|
|
279
|
-
// prevent default behavior for non-numeric characters
|
|
280
|
-
e.preventDefault();
|
|
281
|
-
}
|
|
282
|
-
};
|
|
283
|
-
const pasteListener = (e) => {
|
|
284
|
-
e.preventDefault();
|
|
285
|
-
const pastedText = e.clipboardData?.getData('text') || '';
|
|
286
|
-
const numbers = pastedText.replace(/\D/g, '');
|
|
287
|
-
// Only process if we have valid numbers
|
|
288
|
-
if (numbers.length === 0)
|
|
289
|
-
return;
|
|
290
|
-
this.updateNewValue(numbers.slice(0, this.no()));
|
|
291
|
-
this.updateValue(inputEl.value);
|
|
292
|
-
};
|
|
293
|
-
const blurListener = () => {
|
|
294
|
-
// We have to use untracked because the blur is triggered by the input element when we make it disabled
|
|
295
|
-
// so we are getting cannot update signal inside computed error
|
|
296
|
-
untracked(() => this.focused.set(false));
|
|
297
|
-
};
|
|
298
|
-
const focusListener = () => {
|
|
299
|
-
this.focused.set(true);
|
|
300
|
-
// set the cursor to the end of the input
|
|
301
|
-
inputEl.selectionStart = inputEl.selectionEnd = inputEl.value.length;
|
|
302
|
-
};
|
|
303
|
-
inputEl.addEventListener('input', inputListener);
|
|
304
|
-
inputEl.addEventListener('focus', focusListener);
|
|
305
|
-
inputEl.addEventListener('blur', blurListener);
|
|
306
|
-
inputEl.addEventListener('keydown', keydownListener);
|
|
307
|
-
inputEl.addEventListener('paste', pasteListener);
|
|
308
|
-
cleanup(() => {
|
|
309
|
-
inputEl.removeEventListener('input', inputListener);
|
|
310
|
-
inputEl.removeEventListener('focus', focusListener);
|
|
311
|
-
inputEl.removeEventListener('blur', blurListener);
|
|
312
|
-
inputEl.removeEventListener('keydown', keydownListener);
|
|
313
|
-
inputEl.removeEventListener('paste', pasteListener);
|
|
314
|
-
});
|
|
315
|
-
});
|
|
316
|
-
}
|
|
317
|
-
updateNewValue(value) {
|
|
318
|
-
this.values.set(value);
|
|
319
|
-
this.inputs().el.nativeElement.value = value;
|
|
320
|
-
}
|
|
321
|
-
writeValue(value) {
|
|
322
|
-
const values = value || '';
|
|
323
|
-
this.lastValue = value;
|
|
324
|
-
this.updateNewValue(values);
|
|
325
|
-
}
|
|
326
|
-
updateValue(values) {
|
|
327
|
-
this.values.set(values);
|
|
328
|
-
// const value = values.length === this.no() ? values : '';
|
|
329
|
-
// if (this.lastValue === value) {
|
|
330
|
-
// return;
|
|
331
|
-
// }
|
|
332
|
-
this.lastValue = values;
|
|
333
|
-
this.onChange?.(values);
|
|
334
|
-
this.onTouched?.();
|
|
335
|
-
}
|
|
336
|
-
registerOnChange(fn) {
|
|
337
|
-
this.onChange = fn;
|
|
338
|
-
}
|
|
339
|
-
registerOnTouched(fn) {
|
|
340
|
-
this.onTouched = fn;
|
|
341
|
-
}
|
|
342
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NgbInputOtp, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
343
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.0.0", type: NgbInputOtp, isStandalone: true, selector: "[ngbInputOtp]", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, masked: { classPropertyName: "masked", publicName: "masked", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, providers: [_provide(NgbInputOtp)], viewQueries: [{ propertyName: "inputs", first: true, predicate: NgbOtpInput, descendants: true, isSignal: true }, { propertyName: "_otpValues", predicate: NgbOtpValue, descendants: true, isSignal: true }], ngImport: i0 }); }
|
|
344
|
-
}
|
|
345
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NgbInputOtp, decorators: [{
|
|
346
|
-
type: Directive,
|
|
347
|
-
args: [{
|
|
348
|
-
selector: '[ngbInputOtp]',
|
|
349
|
-
providers: [_provide(NgbInputOtp)],
|
|
350
|
-
}]
|
|
351
|
-
}], ctorParameters: () => [] });
|
|
352
|
-
function _provide(otp) {
|
|
353
|
-
return [provideValueAccessor(otp)];
|
|
354
|
-
}
|
|
355
|
-
function provideInputOtp(otp) {
|
|
356
|
-
return [_provide(otp), { provide: NgbInputOtp, useExisting: otp }];
|
|
357
|
-
}
|
|
358
|
-
|
|
359
205
|
/**
|
|
360
206
|
* Generated bundle index. Do not edit.
|
|
361
207
|
*/
|
|
362
208
|
|
|
363
|
-
export { AutoHeight, InputBase, NgbFormField, NgbInputError,
|
|
209
|
+
export { AutoHeight, InputBase, NgbFormField, NgbInputError, NgbLabel, markControlsTouched, toggleDiv };
|
|
364
210
|
//# sourceMappingURL=ngbase-adk-form-field.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngbase-adk-form-field.mjs","sources":["../../../projects/adk/form-field/form-field.ts","../../../projects/adk/form-field/error.ts","../../../projects/adk/form-field/input.ts","../../../projects/adk/form-field/auto-height.ts","../../../projects/adk/form-field/label.ts","../../../projects/adk/form-field/otp.ts","../../../projects/adk/form-field/ngbase-adk-form-field.ts"],"sourcesContent":["import {\n computed,\n contentChild,\n contentChildren,\n Directive,\n effect,\n forwardRef,\n signal,\n Signal,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { uniqueId } from '@ngbase/adk/utils';\nimport { NgbInputError } from './error';\n\n@Directive({\n selector: 'ngb-form-field, [ngbFormField]',\n})\nexport class NgbFormField {\n readonly _control = contentChild(NgControl, { descendants: true });\n readonly _id = uniqueId();\n\n // we need to forwardRef the error component to avoid circular dependency\n readonly status = statusChange(this._control);\n private readonly _invalid = computed(\n () => this.status() === 'INVALID' && this._control()?.touched,\n );\n\n readonly errors = contentChildren<NgbInputError>(forwardRef(() => NgbInputError));\n readonly hasErrors = computed(() => this._invalid() || this.errors().some(e => e.isInvalid()));\n}\n\nfunction statusChange(sControl: Signal<NgControl | undefined>): Signal<string | null> {\n const statusChanges = signal<string | null>(null, { equal: () => false });\n effect(cleanup => {\n const control = sControl();\n if (control) {\n const sub = control.statusChanges?.subscribe(() => {\n statusChanges.set(control.status);\n });\n cleanup(() => sub?.unsubscribe());\n }\n });\n return statusChanges;\n}\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { computed, Directive, inject, input, signal } from '@angular/core';\nimport { AbstractControl, FormArray, FormGroup } from '@angular/forms';\nimport { NgbFormField } from './form-field';\n\n@Directive({\n selector: '[ngbError]',\n host: {\n '[hidden]': '!animate() && !isInvalid()',\n },\n})\nexport class NgbInputError {\n private readonly formField = inject(NgbFormField);\n /* the input can have comma separated error names like\n * 'required' or '!required && minlength'\n */\n readonly ngbError = input.required<string>();\n readonly invalid = input<boolean>();\n readonly animate = signal(false);\n\n private readonly errorNames = computed(() => {\n const names = (this.ngbError() ?? '').split('&&');\n return names.reduce(\n (acc, n) => {\n const trimmed = n.trim();\n if (trimmed) {\n const negated = trimmed.startsWith('!');\n acc.push({ name: trimmed.slice(negated ? 1 : 0), negated });\n }\n return acc;\n },\n [] as { name: string; negated: boolean }[],\n );\n });\n\n readonly isFieldInvalid = computed(() => {\n const control = this.formField._control();\n const status = this.formField.status();\n const names = this.errorNames();\n\n return (\n status === 'INVALID' &&\n control?.touched &&\n names.every(n => !!control.errors?.[n.name] !== n.negated)\n );\n });\n\n readonly isInvalid = computed(() => {\n return this.invalid() ?? this.isFieldInvalid();\n });\n}\n\nexport function markControlsTouched(\n control: AbstractControl,\n options = { touched: true, dirty: false },\n) {\n if (control instanceof FormGroup || control instanceof FormArray) {\n Object.values(control.controls).forEach(c => markControlsTouched(c, options));\n }\n if (options.dirty) control.markAsTouched();\n if (options.touched) control.markAsTouched();\n control.updateValueAndValidity();\n}\n\nexport const toggleDiv = trigger('toggleDiv', [\n state('hidden', style({ opacity: 0, height: '0px', visibility: 'hidden' })),\n state('visible', style({ opacity: 1, height: '*', visibility: 'visible' })),\n transition('hidden <=> visible', [animate('150ms ease-in-out')]),\n]);\n","import { Directive, inject, model } from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\nimport { provideValueAccessor, uniqueId } from '@ngbase/adk/utils';\nimport { NgbFormField } from './form-field';\n\n@Directive({\n selector: '[ngbInputBase]',\n providers: [provideValueAccessor(InputBase)],\n host: {\n role: 'textbox',\n '[attr.id]': 'id',\n '[value]': 'value()',\n '(input)': 'setValue($event.target.value, true)',\n },\n})\nexport class InputBase<T = unknown> implements ControlValueAccessor {\n readonly formField = inject(NgbFormField, { optional: true });\n readonly value = model<T>('' as any);\n\n readonly id = this.formField?._id ?? uniqueId();\n\n onChange?: (_: string) => void;\n onTouched?: () => void;\n\n setValue(value: any, fromInput = false): void {\n this.value.set(value);\n if (fromInput) {\n this.onChange?.(value);\n this.onTouched?.();\n }\n }\n\n writeValue(value: string): void {\n this.setValue(value);\n }\n\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: VoidFunction): void {\n this.onTouched = fn;\n }\n}\n","import { afterNextRender, Directive, effect, ElementRef, inject, Injector } from '@angular/core';\nimport { NgControl } from '@angular/forms';\n\n@Directive({\n selector: 'textarea[ngbAutoHeight]',\n})\nexport class AutoHeight {\n private el = inject<ElementRef<HTMLInputElement>>(ElementRef);\n private model = inject(NgControl, { optional: true });\n\n constructor() {\n // Disable textarea resizing\n this.el.nativeElement.style.resize = 'none';\n\n const injector = inject(Injector);\n effect(cleanup => {\n // required for updating the height for the initial value\n this.update();\n\n const sub = this.model?.valueChanges?.subscribe(v => {\n if (v === this.el.nativeElement.value) {\n this.update();\n } else {\n // Wait for Angular to update the DOM with the new value\n // Use a settimeout to wait for the next tick\n afterNextRender(() => this.update(), { injector });\n }\n });\n cleanup(() => sub?.unsubscribe());\n\n const ro = new ResizeObserver(entries => {\n for (let entry of entries) {\n this.update();\n }\n });\n\n // Observe one or multiple elements\n ro.observe(this.el.nativeElement);\n cleanup(() => ro.disconnect());\n });\n }\n\n private update() {\n const el = this.el.nativeElement;\n el.style.height = 'auto';\n // also we need to consider the border so we need to calculate the border using height\n const borderHeight = el.offsetHeight - el.clientHeight;\n el.style.height = el.scrollHeight + borderHeight + 'px';\n }\n}\n","import { Directive, inject } from '@angular/core';\nimport { NgbFormField } from './form-field';\n\n@Directive({\n selector: '[ngbLabel]',\n host: {\n '[attr.for]': 'id',\n },\n})\nexport class NgbLabel {\n private readonly formField = inject(NgbFormField);\n readonly id = this.formField._id;\n}\n","import {\n afterRenderEffect,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n Directive,\n effect,\n ElementRef,\n inject,\n input,\n signal,\n untracked,\n viewChild,\n viewChildren,\n} from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\nimport { provideValueAccessor } from '@ngbase/adk/utils';\n\n@Directive({\n selector: 'input[ngbOtpInput]',\n host: {\n '[disabled]': 'otp.disabled() || undefined',\n style:\n 'position: absolute; inset: 0; border: none; background: transparent; caret-color: transparent; outline: none; color: transparent; letter-spacing: -0.5rem;',\n },\n})\nexport class NgbOtpInput {\n readonly otp = inject(NgbInputOtp);\n readonly el = inject<ElementRef<HTMLInputElement>>(ElementRef);\n}\n\n@Directive({\n selector: '[ngbOtpValue]',\n host: {\n style: `pointer-events: none`,\n '[attr.data-focus]': 'focused() || undefined',\n '[attr.data-disabled]': 'otp.disabled() || undefined',\n 'aria-hidden': 'true',\n tabindex: '-1',\n },\n})\nexport class NgbOtpValue {\n readonly otp = inject(NgbInputOtp);\n readonly el = inject<ElementRef<HTMLElement>>(ElementRef);\n readonly index = computed(() => this.otp._otpValues().findIndex(v => this.el === v.el));\n readonly value = computed(() => this.otp.values()[this.index()] || '');\n\n readonly focused = computed(() => {\n return (\n this.otp.focused() && this.index() === Math.min(this.otp.values().length, this.otp.no() - 1)\n );\n });\n\n constructor() {\n effect(() => {\n const value = this.value();\n this.el.nativeElement.textContent = value && this.otp.masked() ? '•' : value;\n });\n }\n}\n\n@Directive({\n selector: '[ngbInputOtp]',\n providers: [_provide(NgbInputOtp)],\n})\nexport class NgbInputOtp implements ControlValueAccessor {\n private readonly inputs = viewChild.required<NgbOtpInput>(NgbOtpInput);\n readonly _otpValues = viewChildren<NgbOtpValue>(NgbOtpValue);\n // private readonly\n\n readonly size = input<number[]>([4]);\n readonly masked = input(false, { transform: booleanAttribute });\n readonly disabled = input<boolean>(false);\n\n readonly no = computed(() => this.size().reduce((a, b) => a + b, 0));\n private onChange?: (value: string) => void;\n private onTouched?: () => void;\n private lastValue = '';\n readonly values = signal<string>('');\n readonly focused = signal<boolean>(false);\n\n constructor() {\n afterRenderEffect(cleanup => {\n const inputEl = this.inputs().el.nativeElement;\n\n const inputListener = () => {\n const value = inputEl.value;\n this.updateValue(value);\n };\n\n const keydownListener = (e: KeyboardEvent) => {\n const value = inputEl.value.length === this.no();\n // const isPaste = (e.ctrlKey || e.metaKey) && e.key === 'v';\n // if (isPaste || ['Tab', 'Enter'].includes(e.key)) {\n // // prevent default behavior for tab key\n // return;\n // } else\n if (value && !['Tab', 'Enter', 'Backspace'].includes(e.key)) {\n // prevent default behavior for non-numeric characters\n e.preventDefault();\n }\n };\n\n const pasteListener = (e: ClipboardEvent) => {\n e.preventDefault();\n\n const pastedText = e.clipboardData?.getData('text') || '';\n const numbers = pastedText.replace(/\\D/g, '');\n\n // Only process if we have valid numbers\n if (numbers.length === 0) return;\n\n this.updateNewValue(numbers.slice(0, this.no()));\n this.updateValue(inputEl.value);\n };\n\n const blurListener = () => {\n // We have to use untracked because the blur is triggered by the input element when we make it disabled\n // so we are getting cannot update signal inside computed error\n untracked(() => this.focused.set(false));\n };\n\n const focusListener = () => {\n this.focused.set(true);\n // set the cursor to the end of the input\n inputEl.selectionStart = inputEl.selectionEnd = inputEl.value.length;\n };\n\n inputEl.addEventListener('input', inputListener);\n inputEl.addEventListener('focus', focusListener);\n inputEl.addEventListener('blur', blurListener);\n inputEl.addEventListener('keydown', keydownListener);\n inputEl.addEventListener('paste', pasteListener);\n\n cleanup(() => {\n inputEl.removeEventListener('input', inputListener);\n inputEl.removeEventListener('focus', focusListener);\n inputEl.removeEventListener('blur', blurListener);\n inputEl.removeEventListener('keydown', keydownListener);\n inputEl.removeEventListener('paste', pasteListener);\n });\n });\n }\n\n private updateNewValue(value: string) {\n this.values.set(value);\n this.inputs().el.nativeElement.value = value;\n }\n\n writeValue(value: string) {\n const values = value || '';\n this.lastValue = value;\n this.updateNewValue(values);\n }\n\n updateValue(values: string) {\n this.values.set(values);\n // const value = values.length === this.no() ? values : '';\n // if (this.lastValue === value) {\n // return;\n // }\n this.lastValue = values;\n this.onChange?.(values);\n this.onTouched?.();\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n}\n\nfunction _provide(otp: typeof NgbInputOtp) {\n return [provideValueAccessor(otp)];\n}\n\nexport function provideInputOtp(otp: typeof NgbInputOtp) {\n return [_provide(otp), { provide: NgbInputOtp, useExisting: otp }];\n}\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":"ngbase-adk-form-field.mjs","sources":["../../../projects/adk/form-field/form-field.ts","../../../projects/adk/form-field/error.ts","../../../projects/adk/form-field/input.ts","../../../projects/adk/form-field/auto-height.ts","../../../projects/adk/form-field/label.ts","../../../projects/adk/form-field/ngbase-adk-form-field.ts"],"sourcesContent":["import {\n computed,\n contentChild,\n contentChildren,\n Directive,\n effect,\n forwardRef,\n signal,\n Signal,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { uniqueId } from '@ngbase/adk/utils';\nimport { NgbInputError } from './error';\n\n@Directive({\n selector: 'ngb-form-field, [ngbFormField]',\n})\nexport class NgbFormField {\n readonly _control = contentChild(NgControl, { descendants: true });\n readonly _id = uniqueId();\n\n // we need to forwardRef the error component to avoid circular dependency\n readonly status = statusChange(this._control);\n private readonly _invalid = computed(\n () => this.status() === 'INVALID' && this._control()?.touched,\n );\n\n readonly errors = contentChildren<NgbInputError>(forwardRef(() => NgbInputError));\n readonly hasErrors = computed(() => this._invalid() || this.errors().some(e => e.isInvalid()));\n}\n\nfunction statusChange(sControl: Signal<NgControl | undefined>): Signal<string | null> {\n const statusChanges = signal<string | null>(null, { equal: () => false });\n effect(cleanup => {\n const control = sControl();\n if (control) {\n const sub = control.statusChanges?.subscribe(() => {\n statusChanges.set(control.status);\n });\n cleanup(() => sub?.unsubscribe());\n }\n });\n return statusChanges;\n}\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { computed, Directive, inject, input, signal } from '@angular/core';\nimport { AbstractControl, FormArray, FormGroup } from '@angular/forms';\nimport { NgbFormField } from './form-field';\n\n@Directive({\n selector: '[ngbError]',\n host: {\n '[hidden]': '!animate() && !isInvalid()',\n },\n})\nexport class NgbInputError {\n private readonly formField = inject(NgbFormField);\n /* the input can have comma separated error names like\n * 'required' or '!required && minlength'\n */\n readonly ngbError = input.required<string>();\n readonly invalid = input<boolean>();\n readonly animate = signal(false);\n\n private readonly errorNames = computed(() => {\n const names = (this.ngbError() ?? '').split('&&');\n return names.reduce(\n (acc, n) => {\n const trimmed = n.trim();\n if (trimmed) {\n const negated = trimmed.startsWith('!');\n acc.push({ name: trimmed.slice(negated ? 1 : 0), negated });\n }\n return acc;\n },\n [] as { name: string; negated: boolean }[],\n );\n });\n\n readonly isFieldInvalid = computed(() => {\n const control = this.formField._control();\n const status = this.formField.status();\n const names = this.errorNames();\n\n return (\n status === 'INVALID' &&\n control?.touched &&\n names.every(n => !!control.errors?.[n.name] !== n.negated)\n );\n });\n\n readonly isInvalid = computed(() => {\n return this.invalid() ?? this.isFieldInvalid();\n });\n}\n\nexport function markControlsTouched(\n control: AbstractControl,\n options = { touched: true, dirty: false },\n) {\n if (control instanceof FormGroup || control instanceof FormArray) {\n Object.values(control.controls).forEach(c => markControlsTouched(c, options));\n }\n if (options.dirty) control.markAsTouched();\n if (options.touched) control.markAsTouched();\n control.updateValueAndValidity();\n}\n\nexport const toggleDiv = trigger('toggleDiv', [\n state('hidden', style({ opacity: 0, height: '0px', visibility: 'hidden' })),\n state('visible', style({ opacity: 1, height: '*', visibility: 'visible' })),\n transition('hidden <=> visible', [animate('150ms ease-in-out')]),\n]);\n","import { Directive, inject, model } from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\nimport { provideValueAccessor, uniqueId } from '@ngbase/adk/utils';\nimport { NgbFormField } from './form-field';\n\n@Directive({\n selector: '[ngbInputBase]',\n providers: [provideValueAccessor(InputBase)],\n host: {\n role: 'textbox',\n '[attr.id]': 'id',\n '[value]': 'value()',\n '(input)': 'setValue($event.target.value, true)',\n },\n})\nexport class InputBase<T = unknown> implements ControlValueAccessor {\n readonly formField = inject(NgbFormField, { optional: true });\n readonly value = model<T>('' as any);\n\n readonly id = this.formField?._id ?? uniqueId();\n\n onChange?: (_: string) => void;\n onTouched?: () => void;\n\n setValue(value: any, fromInput = false): void {\n this.value.set(value);\n if (fromInput) {\n this.onChange?.(value);\n this.onTouched?.();\n }\n }\n\n writeValue(value: string): void {\n this.setValue(value);\n }\n\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: VoidFunction): void {\n this.onTouched = fn;\n }\n}\n","import { afterNextRender, Directive, effect, ElementRef, inject, Injector } from '@angular/core';\nimport { NgControl } from '@angular/forms';\n\n@Directive({\n selector: 'textarea[ngbAutoHeight]',\n})\nexport class AutoHeight {\n private el = inject<ElementRef<HTMLInputElement>>(ElementRef);\n private model = inject(NgControl, { optional: true });\n\n constructor() {\n // Disable textarea resizing\n this.el.nativeElement.style.resize = 'none';\n\n const injector = inject(Injector);\n effect(cleanup => {\n // required for updating the height for the initial value\n this.update();\n\n const sub = this.model?.valueChanges?.subscribe(v => {\n if (v === this.el.nativeElement.value) {\n this.update();\n } else {\n // Wait for Angular to update the DOM with the new value\n // Use a settimeout to wait for the next tick\n afterNextRender(() => this.update(), { injector });\n }\n });\n cleanup(() => sub?.unsubscribe());\n\n const ro = new ResizeObserver(entries => {\n for (let entry of entries) {\n this.update();\n }\n });\n\n // Observe one or multiple elements\n ro.observe(this.el.nativeElement);\n cleanup(() => ro.disconnect());\n });\n }\n\n private update() {\n const el = this.el.nativeElement;\n el.style.height = 'auto';\n // also we need to consider the border so we need to calculate the border using height\n const borderHeight = el.offsetHeight - el.clientHeight;\n el.style.height = el.scrollHeight + borderHeight + 'px';\n }\n}\n","import { Directive, inject } from '@angular/core';\nimport { NgbFormField } from './form-field';\n\n@Directive({\n selector: '[ngbLabel]',\n host: {\n '[attr.for]': 'id',\n },\n})\nexport class NgbLabel {\n private readonly formField = inject(NgbFormField);\n readonly id = this.formField._id;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, input, inject, output, Directive, ElementRef, effect, viewChild, TemplateRef, contentChildren,
|
|
2
|
+
import { Injectable, input, inject, output, Directive, ElementRef, effect, viewChild, TemplateRef, contentChildren, signal, afterNextRender } from '@angular/core';
|
|
3
3
|
import { documentListener, uniqueId } from '@ngbase/adk/utils';
|
|
4
4
|
import * as i1 from '@ngbase/adk/a11y';
|
|
5
5
|
import { AccessibleGroup, AccessibleItem } from '@ngbase/adk/a11y';
|
|
6
|
+
import { injectDirectionality } from '@ngbase/adk/bidi';
|
|
6
7
|
import { Keys } from '@ngbase/adk/keys';
|
|
7
8
|
import { NgbList } from '@ngbase/adk/list';
|
|
9
|
+
import { ngbPopoverPortal } from '@ngbase/adk/popover';
|
|
8
10
|
import { NgbOption } from '@ngbase/adk/select';
|
|
9
11
|
import { Subject, BehaviorSubject } from 'rxjs';
|
|
10
|
-
import { injectDirectionality } from '@ngbase/adk/bidi';
|
|
11
|
-
import { ngbPopoverPortal } from '@ngbase/adk/popover';
|
|
12
12
|
|
|
13
13
|
class MenuService {
|
|
14
14
|
constructor() {
|
|
@@ -173,7 +173,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImpor
|
|
|
173
173
|
}]
|
|
174
174
|
}] });
|
|
175
175
|
|
|
176
|
-
class
|
|
176
|
+
class NgpMenuGroup {
|
|
177
177
|
constructor() {
|
|
178
178
|
this.menu = inject(NgbMenu);
|
|
179
179
|
this.allyGroup = inject(AccessibleGroup);
|
|
@@ -184,10 +184,10 @@ class MenuGroup {
|
|
|
184
184
|
this.allyGroup._isPopup.set(true);
|
|
185
185
|
});
|
|
186
186
|
}
|
|
187
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type:
|
|
188
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0", type:
|
|
187
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NgpMenuGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
188
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.0", type: NgpMenuGroup, isStandalone: true, selector: "[ngbMenuGroup]", host: { listeners: { "click": "menu.close()" } }, hostDirectives: [{ directive: i1.AccessibleGroup }], ngImport: i0 }); }
|
|
189
189
|
}
|
|
190
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type:
|
|
190
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NgpMenuGroup, decorators: [{
|
|
191
191
|
type: Directive,
|
|
192
192
|
args: [{
|
|
193
193
|
selector: '[ngbMenuGroup]',
|
|
@@ -201,7 +201,7 @@ class NgbMenu {
|
|
|
201
201
|
constructor() {
|
|
202
202
|
this.dir = injectDirectionality();
|
|
203
203
|
this.popover = ngbPopoverPortal();
|
|
204
|
-
this.menuEl = viewChild(
|
|
204
|
+
this.menuEl = viewChild(NgpMenuGroup, {
|
|
205
205
|
read: ElementRef,
|
|
206
206
|
});
|
|
207
207
|
this.container = viewChild.required('container', { read: TemplateRef });
|
|
@@ -253,7 +253,7 @@ class NgbMenu {
|
|
|
253
253
|
const { diaRef } = this.popover.open(this.container(), {
|
|
254
254
|
...this.options(),
|
|
255
255
|
backdrop: !subMenu,
|
|
256
|
-
position: subMenu ? (rtl ? '
|
|
256
|
+
position: subMenu ? (rtl ? 'ls' : 'rs') : rtl ? 'br' : 'bl',
|
|
257
257
|
offset: 4,
|
|
258
258
|
ayId: this.ayId,
|
|
259
259
|
...options,
|
|
@@ -276,32 +276,17 @@ class NgbMenu {
|
|
|
276
276
|
ngOnDestroy() {
|
|
277
277
|
this.close();
|
|
278
278
|
}
|
|
279
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NgbMenu, deps: [], target: i0.ɵɵFactoryTarget.
|
|
280
|
-
static { this.ɵ
|
|
281
|
-
<ng-template #container>
|
|
282
|
-
<div ngbMenuGroup>
|
|
283
|
-
<ng-content />
|
|
284
|
-
</div>
|
|
285
|
-
</ng-template>
|
|
286
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: MenuGroup, selector: "[ngbMenuGroup]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
279
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NgbMenu, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
280
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.0.0", type: NgbMenu, isStandalone: true, selector: "[ngbMenu]", outputs: { selected: "selected" }, queries: [{ propertyName: "options", predicate: NgbOption, descendants: true, isSignal: true }, { propertyName: "lists", predicate: NgbList, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "menuEl", first: true, predicate: NgpMenuGroup, descendants: true, read: ElementRef, isSignal: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, read: TemplateRef, isSignal: true }], exportAs: ["ngbMenu"], ngImport: i0 }); }
|
|
287
281
|
}
|
|
288
282
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NgbMenu, decorators: [{
|
|
289
|
-
type:
|
|
283
|
+
type: Directive,
|
|
290
284
|
args: [{
|
|
291
285
|
selector: '[ngbMenu]',
|
|
292
286
|
exportAs: 'ngbMenu',
|
|
293
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
294
|
-
imports: [AccessibleGroup, MenuGroup],
|
|
295
|
-
template: `
|
|
296
|
-
<ng-template #container>
|
|
297
|
-
<div ngbMenuGroup>
|
|
298
|
-
<ng-content />
|
|
299
|
-
</div>
|
|
300
|
-
</ng-template>
|
|
301
|
-
`,
|
|
302
287
|
}]
|
|
303
288
|
}], ctorParameters: () => [] });
|
|
304
|
-
const
|
|
289
|
+
const aliasMenu = (menu) => ({
|
|
305
290
|
provide: NgbMenu,
|
|
306
291
|
useExisting: menu,
|
|
307
292
|
});
|
|
@@ -495,7 +480,7 @@ class NgbMenuTrigger {
|
|
|
495
480
|
// offset: 4,
|
|
496
481
|
// ayId: this.ayId(),
|
|
497
482
|
// });
|
|
498
|
-
menu.open({ target: this.el.nativeElement, data: this.ngbMenuTriggerData() }, !!this.parent);
|
|
483
|
+
menu.open({ ...this.options(), target: this.el.nativeElement, data: this.ngbMenuTriggerData() }, !!this.parent);
|
|
499
484
|
this._menuOpen.set(true);
|
|
500
485
|
menu.parentMenuTrigger = this;
|
|
501
486
|
// if (this.nav) {
|
|
@@ -542,5 +527,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImpor
|
|
|
542
527
|
* Generated bundle index. Do not edit.
|
|
543
528
|
*/
|
|
544
529
|
|
|
545
|
-
export {
|
|
530
|
+
export { NgbContextMenu, NgbMentionTrigger, NgbMenu, NgbMenuTrigger, NgbNavigationMenu, NgpMenuGroup, aliasMenu };
|
|
546
531
|
//# sourceMappingURL=ngbase-adk-menu.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngbase-adk-menu.mjs","sources":["../../../projects/adk/menu/context-menu.ts","../../../projects/adk/menu/mention.ts","../../../projects/adk/menu/menu.ts","../../../projects/adk/menu/navigation-menu.ts","../../../projects/adk/menu/menu-trigger.ts","../../../projects/adk/menu/public-api.ts","../../../projects/adk/menu/ngbase-adk-menu.ts"],"sourcesContent":["import { Directive, inject, Injectable, input, output } from '@angular/core';\nimport { DialogRef } from '@ngbase/adk/portal';\nimport { documentListener } from '@ngbase/adk/utils';\nimport { NgbMenu } from './menu';\n\n@Injectable({ providedIn: 'root' })\nclass MenuService {\n private currentRef: DialogRef<any> | null = null;\n\n close() {\n this.currentRef?.close();\n this.currentRef = null;\n }\n\n setCurrentRef(ref: DialogRef<any>) {\n this.close();\n this.currentRef = ref;\n }\n}\n\n@Directive({\n selector: '[ngbContextMenu]',\n host: {\n '(contextmenu)': 'open($event)',\n },\n})\nexport class NgbContextMenu {\n readonly ngbContextMenu = input.required<NgbMenu>();\n readonly menuService = inject(MenuService);\n\n readonly ctxOpen = output<boolean>();\n readonly ctxClose = output<boolean>();\n\n private listeners = (() => {\n const ev = ['click', 'contextmenu'].map(ev =>\n documentListener(ev, () => this.menuService.close(), { once: true, lazy: true }),\n );\n return { on: () => ev.forEach(e => e.on()), off: () => ev.forEach(e => e.off()) };\n })();\n\n open(ev: MouseEvent) {\n ev.preventDefault();\n ev.stopPropagation();\n const menu = this.ngbContextMenu();\n menu.open({\n target: ev.target as HTMLElement,\n client: { x: ev.clientX, y: ev.clientY, w: 1, h: 1 },\n maxHeight: '400px',\n backdrop: false,\n offset: 0,\n });\n this.ctxOpen.emit(true);\n this.menuService.setCurrentRef(menu.diaRef);\n menu.diaRef.afterClosed.subscribe(() => {\n this.ctxClose.emit(true);\n this.listeners.off();\n });\n this.listeners.on();\n }\n}\n","import { Directive, ElementRef, inject, input, output } from '@angular/core';\nimport { NgbMenu } from './menu';\n\n@Directive({\n selector: '[ngbMentionTrigger]',\n host: {\n '(input)': 'open()',\n },\n})\nexport class NgbMentionTrigger {\n private readonly el = inject<ElementRef<HTMLTextAreaElement>>(ElementRef);\n\n readonly ngbMentionTrigger = input.required<NgbMenu>();\n readonly options = input<{ focus?: 'el'; width?: 'full' }>();\n readonly key = input.required<string>();\n readonly search = output<string>();\n\n private close?: VoidFunction;\n\n open() {\n // open the menu in a position where the cursor is at '@' character\n const { selectionStart } = this.el.nativeElement;\n // check the word before the cursor which should starts with the key character\n const word = this.getCurrentWord();\n if (word.length <= 0 || word[0] !== this.key()) {\n this.close?.();\n this.close = undefined;\n return;\n }\n\n this.search.emit(word.substring(1));\n\n if (this.close) {\n return;\n }\n\n let client = null;\n\n if (!this.options()?.focus) {\n client = this.getPositionAt(selectionStart);\n // console.log('x', x, 'y', y, 'w', w, 'h', h);\n }\n\n // open the menu at the cursor position\n const menu = this.ngbMentionTrigger();\n menu.open({\n maxHeight: '400px',\n target: this.el.nativeElement,\n client,\n width: this.options()?.width === 'full' ? 'target' : undefined,\n });\n this.close = menu.close;\n }\n\n private getCurrentWord() {\n const textarea = this.el.nativeElement;\n // Get the current cursor position in the textarea\n const cursorPosition = textarea.selectionStart;\n\n // Get the text up to the cursor position\n const textUpToCursor = textarea.value.substring(0, cursorPosition);\n\n // Find the start of the current word\n const wordStart = textUpToCursor.lastIndexOf(' ') + 1;\n\n // Get the text after the cursor position up to the end of the textarea\n const textAfterCursor = textarea.value.substring(cursorPosition);\n\n // Find the end of the current word\n const wordEnd = textAfterCursor.indexOf(' ');\n const currentWord = textarea.value.substring(\n wordStart,\n cursorPosition + (wordEnd > -1 ? wordEnd : textAfterCursor.length),\n );\n\n return currentWord;\n }\n\n private getPositionAt(index: number): {\n x: number;\n y: number;\n h: number;\n w: number;\n } {\n const textarea = this.el.nativeElement;\n const text = textarea.value.substring(0, index);\n const mirror = document.createElement('div');\n const cursor = document.createElement('span');\n const style = window.getComputedStyle(textarea);\n const textareaRect = textarea.getBoundingClientRect();\n\n // Setup the mirror div to accurately reflect the textarea's position and styles\n mirror.style.position = 'fixed';\n mirror.style.top = `${textareaRect.top}px`; // Position at the same vertical position\n mirror.style.left = `${textareaRect.left}px`; // Position at the same horizontal position\n mirror.style.visibility = 'hidden';\n mirror.style.whiteSpace = 'pre-wrap';\n mirror.style.wordWrap = 'break-word';\n mirror.style.fontFamily = style.fontFamily;\n mirror.style.fontSize = style.fontSize;\n mirror.style.lineHeight = style.lineHeight;\n mirror.style.padding = style.padding;\n mirror.style.border = style.border;\n mirror.style.width = `${textarea.offsetWidth}px`; // Ensure width matches\n mirror.style.height = `${textarea.offsetHeight}px`; // Mat\n\n // Append mirror to the body to measure\n document.body.appendChild(mirror);\n mirror.textContent = text.substring(0, index - 1);\n cursor.textContent = '|';\n mirror.appendChild(cursor);\n\n const rect = cursor.getBoundingClientRect();\n\n document.body.removeChild(mirror);\n\n // Return the position relative to the viewport\n return {\n x: rect.left,\n y: rect.top,\n h: rect.height,\n w: rect.width,\n };\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n ElementRef,\n OnDestroy,\n TemplateRef,\n contentChildren,\n effect,\n inject,\n output,\n viewChild,\n} from '@angular/core';\nimport { AccessibleGroup } from '@ngbase/adk/a11y';\nimport { Keys } from '@ngbase/adk/keys';\nimport { NgbList } from '@ngbase/adk/list';\nimport { DialogRef } from '@ngbase/adk/portal';\nimport { NgbOption } from '@ngbase/adk/select';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { NgbMenuTrigger } from './menu-trigger';\nimport { injectDirectionality } from '@ngbase/adk/bidi';\nimport { ngbPopoverPortal, PopoverOptions } from '@ngbase/adk/popover';\nimport { uniqueId } from '@ngbase/adk/utils';\n\n@Directive({\n selector: '[ngbMenuGroup]',\n hostDirectives: [AccessibleGroup],\n host: {\n '(click)': 'menu.close()',\n },\n})\nexport class MenuGroup {\n readonly menu = inject(NgbMenu);\n readonly allyGroup = inject(AccessibleGroup);\n\n constructor() {\n // we need to wait for angular to check the changes\n // on component creation this data is not available\n effect(() => {\n this.allyGroup._ayId.set(this.menu.diaRef.options.ayId!);\n this.allyGroup._isPopup.set(true);\n });\n }\n}\n\n@Component({\n selector: '[ngbMenu]',\n exportAs: 'ngbMenu',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AccessibleGroup, MenuGroup],\n template: `\n <ng-template #container>\n <div ngbMenuGroup>\n <ng-content />\n </div>\n </ng-template>\n `,\n})\nexport class NgbMenu implements OnDestroy {\n readonly dir = injectDirectionality();\n readonly popover = ngbPopoverPortal();\n private readonly menuEl = viewChild<MenuGroup, ElementRef<HTMLDivElement>>(MenuGroup, {\n read: ElementRef,\n });\n readonly container = viewChild.required('container', { read: TemplateRef });\n readonly options = contentChildren(NgbOption, { descendants: true });\n readonly lists = contentChildren(NgbList, { descendants: true });\n readonly manager = new Keys();\n readonly selected = output<string>();\n readonly ayId = uniqueId();\n\n // this will be injected by the MenuTrigger directive\n parentMenuTrigger?: NgbMenuTrigger;\n\n // this will be injected by the MenuTrigger directive\n diaRef!: DialogRef;\n readonly events = new Subject<{ event: MouseEvent; type: 'enter' | 'leave' }>();\n readonly activeOption = new BehaviorSubject<NgbOption<any> | NgbList | null>(null);\n isOpen = false;\n\n constructor() {\n effect(cleanup => {\n const options = this.options().length ? this.options() : this.lists();\n options.forEach(option => {\n const mouseover = () => {\n if (this.activeOption.getValue() !== option) {\n this.activeOption.next(option);\n }\n };\n option.el.nativeElement.addEventListener('mouseover', mouseover);\n cleanup(() => option.el.nativeElement.removeEventListener('mouseover', mouseover));\n });\n });\n effect(cleanup => {\n const el = this.menuEl()?.nativeElement;\n if (!el) {\n return;\n }\n const enter = (ev: MouseEvent) => this.events.next({ event: ev, type: 'enter' });\n const leave = (ev: MouseEvent) => this.events.next({ event: ev, type: 'leave' });\n // we need to fire the mouseenter event\n el.addEventListener('mouseenter', enter);\n el.addEventListener('mouseleave', leave);\n cleanup(() => {\n el.removeEventListener('mouseenter', enter);\n el.removeEventListener('mouseleave', leave);\n });\n });\n }\n\n open(options: PopoverOptions, subMenu: boolean = false) {\n const rtl = this.dir.isRtl();\n const { diaRef } = this.popover.open(this.container()!, {\n ...this.options(),\n backdrop: !subMenu,\n position: subMenu ? (rtl ? 'left' : 'right') : rtl ? 'br' : 'bl',\n offset: 4,\n ayId: this.ayId,\n ...options,\n });\n this.diaRef = diaRef;\n this.opened();\n }\n\n opened() {\n this.isOpen = true;\n this.options().forEach(list => {\n list.setAyId(this.diaRef.options.ayId!);\n });\n this.lists().forEach(list => {\n list.setAyId(this.diaRef.options.ayId!);\n });\n }\n\n get rootParent(): NgbMenu | undefined {\n return this.parentMenuTrigger?.rootParent || this;\n }\n\n close = () => {\n if (!this.isOpen) return;\n this.diaRef?.close();\n this.activeOption.next(null);\n this.isOpen = false;\n };\n\n ngOnDestroy() {\n this.close();\n }\n}\n\nexport const provideMenu = (menu: typeof NgbMenu) => ({\n provide: NgbMenu,\n useExisting: menu,\n});\n","import { Directive, contentChildren, effect, input } from '@angular/core';\nimport { injectDirectionality } from '@ngbase/adk/bidi';\nimport { PopoverOpen, ngbPopoverPortal } from '@ngbase/adk/popover';\nimport { documentListener, uniqueId } from '@ngbase/adk/utils';\nimport { NgbMenuTrigger } from './menu-trigger';\n\n@Directive({\n selector: '[ngbNavigationMenu]',\n})\nexport class NgbNavigationMenu {\n private popover = ngbPopoverPortal();\n private readonly dir = injectDirectionality();\n private readonly menus = contentChildren(NgbMenuTrigger, { descendants: true });\n\n readonly hover = input<boolean>(false);\n\n private ayId = uniqueId();\n close?: VoidFunction;\n private timerId: any = 0;\n private popoverOpen?: PopoverOpen<any>;\n private clicked = false;\n private currentEl?: NgbMenuTrigger;\n\n constructor() {\n documentListener('click', () => {\n if (this.close) {\n this.clicked = false;\n this.currentEl = undefined;\n this.close();\n }\n });\n effect(cleanup => {\n const menus = this.menus();\n const hover = this.hover();\n const sub = menus.map(menu =>\n menu.events.subscribe(({ type, menu }) => {\n const isSame = this.currentEl === menu;\n if (\n (type === 'enter' && (hover || this.clicked)) ||\n (type === 'click' && !hover && !isSame)\n ) {\n this.clicked = true;\n this.currentEl = menu;\n this.open(menu);\n } else if (isSame && (hover || type === 'click')) {\n this.scheduleClose();\n }\n }),\n );\n cleanup(() => sub.forEach(x => x.unsubscribe()));\n });\n }\n\n open(menuTrigger: NgbMenuTrigger) {\n clearTimeout(this.timerId);\n const menu = menuTrigger.ngbMenuTrigger();\n const target = menuTrigger.el.nativeElement;\n if (this.close) {\n // console.log('navigation menu open existing', menu);\n this.popoverOpen?.replace?.(menu.container()!);\n this.popoverOpen?.parent.target?.set(target);\n menu.diaRef = this.popoverOpen!.diaRef;\n // We need to change the id so that new menu items gets registered for a11y\n menu.diaRef.options.ayId = uniqueId();\n menu.opened();\n return;\n }\n // console.log('navigation menu open');\n\n this.popoverOpen = this.popover.open(menu.container()!, {\n target,\n position: this.dir.isRtl() ? 'br' : 'bl',\n className: 'transition-all',\n ayId: this.ayId,\n backdrop: false,\n });\n menu.diaRef = this.popoverOpen.diaRef;\n if (this.hover()) {\n this.popoverOpen.events.subscribe(e => {\n if (e.type === 'mouseenter') {\n clearTimeout(this.timerId);\n } else {\n this.scheduleClose();\n }\n });\n }\n menu.opened();\n this.close = () => {\n menu.close();\n this.close = undefined;\n this.popoverOpen = undefined;\n };\n }\n\n private scheduleClose() {\n clearTimeout(this.timerId);\n this.timerId = setTimeout(() => {\n this.clicked = false;\n this.currentEl = undefined;\n this.close?.();\n }, 200);\n }\n}\n","import { Directive, ElementRef, afterNextRender, inject, input, signal } from '@angular/core';\nimport { AccessibleItem } from '@ngbase/adk/a11y';\nimport { DialogOptions } from '@ngbase/adk/portal';\nimport { Subject } from 'rxjs';\nimport { NgbMenu } from './menu';\nimport { NgbNavigationMenu } from './navigation-menu';\n\n@Directive({\n selector: '[ngbMenuTrigger]',\n exportAs: 'ngbMenuTrigger',\n host: {\n '(click)': 'clickOpen($event)',\n '[attr.aria-expanded]': 'menuOpen()',\n '[attr.aria-haspopup]': 'true',\n tabindex: '0',\n },\n})\nexport class NgbMenuTrigger {\n private readonly nav = inject(NgbNavigationMenu, { optional: true });\n private readonly parent = inject(NgbMenu, { optional: true });\n readonly el = inject<ElementRef<HTMLElement>>(ElementRef);\n readonly a11y = inject(AccessibleItem, { optional: true });\n\n readonly ngbMenuTrigger = input.required<NgbMenu>();\n readonly ngbMenuTriggerData = input();\n readonly options = input<DialogOptions>({});\n\n private readonly _menuOpen = signal<boolean>(false);\n readonly menuOpen = this._menuOpen.asReadonly();\n readonly events = new Subject<{\n event: MouseEvent;\n type: 'enter' | 'leave' | 'click';\n menu: NgbMenuTrigger;\n }>();\n private closeParent = true;\n private delayTimer: any = 0;\n private isMouseOverTrigger = false;\n\n constructor() {\n // if a11y is provided, then we should open on keyleft and keyright\n this.a11y?.events.subscribe(ev => {\n if (!this.menu.isOpen && ev.type === 'keyRight') {\n this.open();\n } else if (this.menu.isOpen && ev.type === 'keyLeft') {\n this.closeParent = false;\n this.closeMenu();\n }\n });\n afterNextRender(() => {\n this.parent?.activeOption.subscribe(option => {\n if (option?.el.nativeElement === this.el.nativeElement) {\n this.open();\n } else if (this.menu.isOpen) {\n this.closeParent = false;\n this.closeMenu();\n }\n });\n // if parent is provided, then this is a sub-menu and we should open on mouseenter and close on mouseleave\n if (this.parent || this.nav) {\n this.el.nativeElement.addEventListener('mouseenter', ev => {\n this.events.next({ event: ev, type: 'enter', menu: this });\n this.isMouseOverTrigger = true;\n if (this.nav) {\n return;\n }\n clearTimeout(this.delayTimer);\n // console.log('mouseenter', this.debugId());\n this.open(ev);\n });\n this.el.nativeElement.addEventListener('mouseleave', ev => {\n this.events.next({ event: ev, type: 'leave', menu: this });\n this.isMouseOverTrigger = false;\n if (this.nav) {\n return;\n }\n });\n }\n });\n }\n\n private get menu() {\n return this.ngbMenuTrigger();\n }\n\n get rootParent() {\n return this.parent?.rootParent || this.parent;\n }\n\n clickOpen(ev: MouseEvent) {\n ev.preventDefault();\n ev.stopPropagation();\n if (this.nav) {\n this.events.next({ event: ev, type: 'click', menu: this });\n return;\n } else {\n this.openMenu();\n }\n }\n\n private open(ev?: MouseEvent) {\n ev?.preventDefault();\n ev?.stopPropagation();\n this.openMenu();\n }\n\n private closeMenu() {\n this.ngbMenuTrigger().close();\n }\n\n openMenu() {\n const menu = this.ngbMenuTrigger();\n if (menu.isOpen) {\n return;\n }\n // console.log('open menu', this.parent);\n // const { diaRef, events } = this.popover.open(menu.container()!, {\n // ...this.options(),\n // data: this.ngbMenuTriggerData(),\n // backdrop: !this.parent,\n // target: this.el.nativeElement,\n // position: this.parent ? 'right' : 'bl',\n // offset: 4,\n // ayId: this.ayId(),\n // });\n menu.open({ target: this.el.nativeElement, data: this.ngbMenuTriggerData() }, !!this.parent);\n this._menuOpen.set(true);\n menu.parentMenuTrigger = this;\n // if (this.nav) {\n // events.subscribe(ev => {\n // if (ev.type === 'mouseleave') {\n // this.delayTimer = setTimeout(() => {\n // this.closeMenu();\n // }, 300);\n // } else {\n // clearTimeout(this.delayTimer);\n // }\n // });\n // }\n menu.diaRef?.afterClosed.subscribe(() => {\n if (this.closeParent) this.rootParent?.close();\n this.closeParent = true;\n menu.close();\n this._menuOpen.set(false);\n });\n }\n}\n","/*\n * Public API Surface of menu\n */\n\nexport * from './context-menu';\nexport * from './mention';\nexport * from './menu';\nexport * from './menu-trigger';\nexport * from './navigation-menu';\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":"ngbase-adk-menu.mjs","sources":["../../../projects/adk/menu/context-menu.ts","../../../projects/adk/menu/mention.ts","../../../projects/adk/menu/menu.ts","../../../projects/adk/menu/navigation-menu.ts","../../../projects/adk/menu/menu-trigger.ts","../../../projects/adk/menu/public-api.ts","../../../projects/adk/menu/ngbase-adk-menu.ts"],"sourcesContent":["import { Directive, inject, Injectable, input, output } from '@angular/core';\nimport { DialogRef } from '@ngbase/adk/portal';\nimport { documentListener } from '@ngbase/adk/utils';\nimport { NgbMenu } from './menu';\n\n@Injectable({ providedIn: 'root' })\nclass MenuService {\n private currentRef: DialogRef<any> | null = null;\n\n close() {\n this.currentRef?.close();\n this.currentRef = null;\n }\n\n setCurrentRef(ref: DialogRef<any>) {\n this.close();\n this.currentRef = ref;\n }\n}\n\n@Directive({\n selector: '[ngbContextMenu]',\n host: {\n '(contextmenu)': 'open($event)',\n },\n})\nexport class NgbContextMenu {\n readonly ngbContextMenu = input.required<NgbMenu>();\n readonly menuService = inject(MenuService);\n\n readonly ctxOpen = output<boolean>();\n readonly ctxClose = output<boolean>();\n\n private listeners = (() => {\n const ev = ['click', 'contextmenu'].map(ev =>\n documentListener(ev, () => this.menuService.close(), { once: true, lazy: true }),\n );\n return { on: () => ev.forEach(e => e.on()), off: () => ev.forEach(e => e.off()) };\n })();\n\n open(ev: MouseEvent) {\n ev.preventDefault();\n ev.stopPropagation();\n const menu = this.ngbContextMenu();\n menu.open({\n target: ev.target as HTMLElement,\n client: { x: ev.clientX, y: ev.clientY, w: 1, h: 1 },\n maxHeight: '400px',\n backdrop: false,\n offset: 0,\n });\n this.ctxOpen.emit(true);\n this.menuService.setCurrentRef(menu.diaRef);\n menu.diaRef.afterClosed.subscribe(() => {\n this.ctxClose.emit(true);\n this.listeners.off();\n });\n this.listeners.on();\n }\n}\n","import { Directive, ElementRef, inject, input, output } from '@angular/core';\nimport { NgbMenu } from './menu';\n\n@Directive({\n selector: '[ngbMentionTrigger]',\n host: {\n '(input)': 'open()',\n },\n})\nexport class NgbMentionTrigger {\n private readonly el = inject<ElementRef<HTMLTextAreaElement>>(ElementRef);\n\n readonly ngbMentionTrigger = input.required<NgbMenu>();\n readonly options = input<{ focus?: 'el'; width?: 'full' }>();\n readonly key = input.required<string>();\n readonly search = output<string>();\n\n private close?: VoidFunction;\n\n open() {\n // open the menu in a position where the cursor is at '@' character\n const { selectionStart } = this.el.nativeElement;\n // check the word before the cursor which should starts with the key character\n const word = this.getCurrentWord();\n if (word.length <= 0 || word[0] !== this.key()) {\n this.close?.();\n this.close = undefined;\n return;\n }\n\n this.search.emit(word.substring(1));\n\n if (this.close) {\n return;\n }\n\n let client = null;\n\n if (!this.options()?.focus) {\n client = this.getPositionAt(selectionStart);\n // console.log('x', x, 'y', y, 'w', w, 'h', h);\n }\n\n // open the menu at the cursor position\n const menu = this.ngbMentionTrigger();\n menu.open({\n maxHeight: '400px',\n target: this.el.nativeElement,\n client,\n width: this.options()?.width === 'full' ? 'target' : undefined,\n });\n this.close = menu.close;\n }\n\n private getCurrentWord() {\n const textarea = this.el.nativeElement;\n // Get the current cursor position in the textarea\n const cursorPosition = textarea.selectionStart;\n\n // Get the text up to the cursor position\n const textUpToCursor = textarea.value.substring(0, cursorPosition);\n\n // Find the start of the current word\n const wordStart = textUpToCursor.lastIndexOf(' ') + 1;\n\n // Get the text after the cursor position up to the end of the textarea\n const textAfterCursor = textarea.value.substring(cursorPosition);\n\n // Find the end of the current word\n const wordEnd = textAfterCursor.indexOf(' ');\n const currentWord = textarea.value.substring(\n wordStart,\n cursorPosition + (wordEnd > -1 ? wordEnd : textAfterCursor.length),\n );\n\n return currentWord;\n }\n\n private getPositionAt(index: number): {\n x: number;\n y: number;\n h: number;\n w: number;\n } {\n const textarea = this.el.nativeElement;\n const text = textarea.value.substring(0, index);\n const mirror = document.createElement('div');\n const cursor = document.createElement('span');\n const style = window.getComputedStyle(textarea);\n const textareaRect = textarea.getBoundingClientRect();\n\n // Setup the mirror div to accurately reflect the textarea's position and styles\n mirror.style.position = 'fixed';\n mirror.style.top = `${textareaRect.top}px`; // Position at the same vertical position\n mirror.style.left = `${textareaRect.left}px`; // Position at the same horizontal position\n mirror.style.visibility = 'hidden';\n mirror.style.whiteSpace = 'pre-wrap';\n mirror.style.wordWrap = 'break-word';\n mirror.style.fontFamily = style.fontFamily;\n mirror.style.fontSize = style.fontSize;\n mirror.style.lineHeight = style.lineHeight;\n mirror.style.padding = style.padding;\n mirror.style.border = style.border;\n mirror.style.width = `${textarea.offsetWidth}px`; // Ensure width matches\n mirror.style.height = `${textarea.offsetHeight}px`; // Mat\n\n // Append mirror to the body to measure\n document.body.appendChild(mirror);\n mirror.textContent = text.substring(0, index - 1);\n cursor.textContent = '|';\n mirror.appendChild(cursor);\n\n const rect = cursor.getBoundingClientRect();\n\n document.body.removeChild(mirror);\n\n // Return the position relative to the viewport\n return {\n x: rect.left,\n y: rect.top,\n h: rect.height,\n w: rect.width,\n };\n }\n}\n","import {\n contentChildren,\n Directive,\n effect,\n ElementRef,\n inject,\n OnDestroy,\n output,\n TemplateRef,\n viewChild,\n} from '@angular/core';\nimport { AccessibleGroup } from '@ngbase/adk/a11y';\nimport { injectDirectionality } from '@ngbase/adk/bidi';\nimport { Keys } from '@ngbase/adk/keys';\nimport { NgbList } from '@ngbase/adk/list';\nimport { ngbPopoverPortal, PopoverOptions } from '@ngbase/adk/popover';\nimport { DialogRef } from '@ngbase/adk/portal';\nimport { NgbOption } from '@ngbase/adk/select';\nimport { uniqueId } from '@ngbase/adk/utils';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { NgbMenuTrigger } from './menu-trigger';\n\n@Directive({\n selector: '[ngbMenuGroup]',\n hostDirectives: [AccessibleGroup],\n host: {\n '(click)': 'menu.close()',\n },\n})\nexport class NgpMenuGroup {\n readonly menu = inject(NgbMenu);\n readonly allyGroup = inject(AccessibleGroup);\n\n constructor() {\n // we need to wait for angular to check the changes\n // on component creation this data is not available\n effect(() => {\n this.allyGroup._ayId.set(this.menu.diaRef.options.ayId!);\n this.allyGroup._isPopup.set(true);\n });\n }\n}\n\n@Directive({\n selector: '[ngbMenu]',\n exportAs: 'ngbMenu',\n})\nexport class NgbMenu implements OnDestroy {\n readonly dir = injectDirectionality();\n readonly popover = ngbPopoverPortal();\n private readonly menuEl = viewChild<NgpMenuGroup, ElementRef<HTMLDivElement>>(NgpMenuGroup, {\n read: ElementRef,\n });\n readonly container = viewChild.required('container', { read: TemplateRef });\n readonly options = contentChildren(NgbOption, { descendants: true });\n readonly lists = contentChildren(NgbList, { descendants: true });\n readonly manager = new Keys();\n readonly selected = output<string>();\n readonly ayId = uniqueId();\n\n // this will be injected by the MenuTrigger directive\n parentMenuTrigger?: NgbMenuTrigger;\n\n // this will be injected by the MenuTrigger directive\n diaRef!: DialogRef;\n readonly events = new Subject<{ event: MouseEvent; type: 'enter' | 'leave' }>();\n readonly activeOption = new BehaviorSubject<NgbOption<any> | NgbList | null>(null);\n isOpen = false;\n\n constructor() {\n effect(cleanup => {\n const options = this.options().length ? this.options() : this.lists();\n options.forEach(option => {\n const mouseover = () => {\n if (this.activeOption.getValue() !== option) {\n this.activeOption.next(option);\n }\n };\n option.el.nativeElement.addEventListener('mouseover', mouseover);\n cleanup(() => option.el.nativeElement.removeEventListener('mouseover', mouseover));\n });\n });\n effect(cleanup => {\n const el = this.menuEl()?.nativeElement;\n if (!el) {\n return;\n }\n const enter = (ev: MouseEvent) => this.events.next({ event: ev, type: 'enter' });\n const leave = (ev: MouseEvent) => this.events.next({ event: ev, type: 'leave' });\n // we need to fire the mouseenter event\n el.addEventListener('mouseenter', enter);\n el.addEventListener('mouseleave', leave);\n cleanup(() => {\n el.removeEventListener('mouseenter', enter);\n el.removeEventListener('mouseleave', leave);\n });\n });\n }\n\n open(options: PopoverOptions, subMenu: boolean = false) {\n const rtl = this.dir.isRtl();\n const { diaRef } = this.popover.open(this.container()!, {\n ...this.options(),\n backdrop: !subMenu,\n position: subMenu ? (rtl ? 'ls' : 'rs') : rtl ? 'br' : 'bl',\n offset: 4,\n ayId: this.ayId,\n ...options,\n });\n this.diaRef = diaRef;\n this.opened();\n }\n\n opened() {\n this.isOpen = true;\n this.options().forEach(list => {\n list.setAyId(this.diaRef.options.ayId!);\n });\n this.lists().forEach(list => {\n list.setAyId(this.diaRef.options.ayId!);\n });\n }\n\n get rootParent(): NgbMenu | undefined {\n return this.parentMenuTrigger?.rootParent || this;\n }\n\n close = () => {\n if (!this.isOpen) return;\n this.diaRef?.close();\n this.activeOption.next(null);\n this.isOpen = false;\n };\n\n ngOnDestroy() {\n this.close();\n }\n}\n\nexport const aliasMenu = (menu: typeof NgbMenu) => ({\n provide: NgbMenu,\n useExisting: menu,\n});\n","import { Directive, contentChildren, effect, input } from '@angular/core';\nimport { injectDirectionality } from '@ngbase/adk/bidi';\nimport { PopoverOpen, ngbPopoverPortal } from '@ngbase/adk/popover';\nimport { documentListener, uniqueId } from '@ngbase/adk/utils';\nimport { NgbMenuTrigger } from './menu-trigger';\n\n@Directive({\n selector: '[ngbNavigationMenu]',\n})\nexport class NgbNavigationMenu {\n private popover = ngbPopoverPortal();\n private readonly dir = injectDirectionality();\n private readonly menus = contentChildren(NgbMenuTrigger, { descendants: true });\n\n readonly hover = input<boolean>(false);\n\n private ayId = uniqueId();\n close?: VoidFunction;\n private timerId: any = 0;\n private popoverOpen?: PopoverOpen<any>;\n private clicked = false;\n private currentEl?: NgbMenuTrigger;\n\n constructor() {\n documentListener('click', () => {\n if (this.close) {\n this.clicked = false;\n this.currentEl = undefined;\n this.close();\n }\n });\n effect(cleanup => {\n const menus = this.menus();\n const hover = this.hover();\n const sub = menus.map(menu =>\n menu.events.subscribe(({ type, menu }) => {\n const isSame = this.currentEl === menu;\n if (\n (type === 'enter' && (hover || this.clicked)) ||\n (type === 'click' && !hover && !isSame)\n ) {\n this.clicked = true;\n this.currentEl = menu;\n this.open(menu);\n } else if (isSame && (hover || type === 'click')) {\n this.scheduleClose();\n }\n }),\n );\n cleanup(() => sub.forEach(x => x.unsubscribe()));\n });\n }\n\n open(menuTrigger: NgbMenuTrigger) {\n clearTimeout(this.timerId);\n const menu = menuTrigger.ngbMenuTrigger();\n const target = menuTrigger.el.nativeElement;\n if (this.close) {\n // console.log('navigation menu open existing', menu);\n this.popoverOpen?.replace?.(menu.container()!);\n this.popoverOpen?.parent.target?.set(target);\n menu.diaRef = this.popoverOpen!.diaRef;\n // We need to change the id so that new menu items gets registered for a11y\n menu.diaRef.options.ayId = uniqueId();\n menu.opened();\n return;\n }\n // console.log('navigation menu open');\n\n this.popoverOpen = this.popover.open(menu.container()!, {\n target,\n position: this.dir.isRtl() ? 'br' : 'bl',\n className: 'transition-all',\n ayId: this.ayId,\n backdrop: false,\n });\n menu.diaRef = this.popoverOpen.diaRef;\n if (this.hover()) {\n this.popoverOpen.events.subscribe(e => {\n if (e.type === 'mouseenter') {\n clearTimeout(this.timerId);\n } else {\n this.scheduleClose();\n }\n });\n }\n menu.opened();\n this.close = () => {\n menu.close();\n this.close = undefined;\n this.popoverOpen = undefined;\n };\n }\n\n private scheduleClose() {\n clearTimeout(this.timerId);\n this.timerId = setTimeout(() => {\n this.clicked = false;\n this.currentEl = undefined;\n this.close?.();\n }, 200);\n }\n}\n","import { Directive, ElementRef, afterNextRender, inject, input, signal } from '@angular/core';\nimport { AccessibleItem } from '@ngbase/adk/a11y';\nimport { PopoverOptions } from '@ngbase/adk/popover';\nimport { Subject } from 'rxjs';\nimport { NgbMenu } from './menu';\nimport { NgbNavigationMenu } from './navigation-menu';\n\n@Directive({\n selector: '[ngbMenuTrigger]',\n exportAs: 'ngbMenuTrigger',\n host: {\n '(click)': 'clickOpen($event)',\n '[attr.aria-expanded]': 'menuOpen()',\n '[attr.aria-haspopup]': 'true',\n tabindex: '0',\n },\n})\nexport class NgbMenuTrigger {\n private readonly nav = inject(NgbNavigationMenu, { optional: true });\n private readonly parent = inject(NgbMenu, { optional: true });\n readonly el = inject<ElementRef<HTMLElement>>(ElementRef);\n readonly a11y = inject(AccessibleItem, { optional: true });\n\n readonly ngbMenuTrigger = input.required<NgbMenu>();\n readonly ngbMenuTriggerData = input();\n readonly options = input<Partial<PopoverOptions>>({});\n\n private readonly _menuOpen = signal<boolean>(false);\n readonly menuOpen = this._menuOpen.asReadonly();\n readonly events = new Subject<{\n event: MouseEvent;\n type: 'enter' | 'leave' | 'click';\n menu: NgbMenuTrigger;\n }>();\n private closeParent = true;\n private delayTimer: any = 0;\n private isMouseOverTrigger = false;\n\n constructor() {\n // if a11y is provided, then we should open on keyleft and keyright\n this.a11y?.events.subscribe(ev => {\n if (!this.menu.isOpen && ev.type === 'keyRight') {\n this.open();\n } else if (this.menu.isOpen && ev.type === 'keyLeft') {\n this.closeParent = false;\n this.closeMenu();\n }\n });\n afterNextRender(() => {\n this.parent?.activeOption.subscribe(option => {\n if (option?.el.nativeElement === this.el.nativeElement) {\n this.open();\n } else if (this.menu.isOpen) {\n this.closeParent = false;\n this.closeMenu();\n }\n });\n // if parent is provided, then this is a sub-menu and we should open on mouseenter and close on mouseleave\n if (this.parent || this.nav) {\n this.el.nativeElement.addEventListener('mouseenter', ev => {\n this.events.next({ event: ev, type: 'enter', menu: this });\n this.isMouseOverTrigger = true;\n if (this.nav) {\n return;\n }\n clearTimeout(this.delayTimer);\n // console.log('mouseenter', this.debugId());\n this.open(ev);\n });\n this.el.nativeElement.addEventListener('mouseleave', ev => {\n this.events.next({ event: ev, type: 'leave', menu: this });\n this.isMouseOverTrigger = false;\n if (this.nav) {\n return;\n }\n });\n }\n });\n }\n\n private get menu() {\n return this.ngbMenuTrigger();\n }\n\n get rootParent() {\n return this.parent?.rootParent || this.parent;\n }\n\n clickOpen(ev: MouseEvent) {\n ev.preventDefault();\n ev.stopPropagation();\n if (this.nav) {\n this.events.next({ event: ev, type: 'click', menu: this });\n return;\n } else {\n this.openMenu();\n }\n }\n\n private open(ev?: MouseEvent) {\n ev?.preventDefault();\n ev?.stopPropagation();\n this.openMenu();\n }\n\n private closeMenu() {\n this.ngbMenuTrigger().close();\n }\n\n openMenu() {\n const menu = this.ngbMenuTrigger();\n if (menu.isOpen) {\n return;\n }\n // console.log('open menu', this.parent);\n // const { diaRef, events } = this.popover.open(menu.container()!, {\n // ...this.options(),\n // data: this.ngbMenuTriggerData(),\n // backdrop: !this.parent,\n // target: this.el.nativeElement,\n // position: this.parent ? 'right' : 'bl',\n // offset: 4,\n // ayId: this.ayId(),\n // });\n menu.open(\n { ...this.options(), target: this.el.nativeElement, data: this.ngbMenuTriggerData() },\n !!this.parent,\n );\n this._menuOpen.set(true);\n menu.parentMenuTrigger = this;\n // if (this.nav) {\n // events.subscribe(ev => {\n // if (ev.type === 'mouseleave') {\n // this.delayTimer = setTimeout(() => {\n // this.closeMenu();\n // }, 300);\n // } else {\n // clearTimeout(this.delayTimer);\n // }\n // });\n // }\n menu.diaRef?.afterClosed.subscribe(() => {\n if (this.closeParent) this.rootParent?.close();\n this.closeParent = true;\n menu.close();\n this._menuOpen.set(false);\n });\n }\n}\n","/*\n * Public API Surface of menu\n */\n\nexport * from './context-menu';\nexport * from './mention';\nexport * from './menu';\nexport * from './menu-trigger';\nexport * from './navigation-menu';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|