@dereekb/dbx-form 13.8.0 → 13.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/fesm2022/dereekb-dbx-form-calendar.mjs +10 -18
  2. package/fesm2022/dereekb-dbx-form-calendar.mjs.map +1 -1
  3. package/fesm2022/dereekb-dbx-form-flex.wrapper.component-CpOHCk87.mjs +39 -0
  4. package/fesm2022/dereekb-dbx-form-flex.wrapper.component-CpOHCk87.mjs.map +1 -0
  5. package/fesm2022/dereekb-dbx-form-info.wrapper.component-18n632L-.mjs +61 -0
  6. package/fesm2022/dereekb-dbx-form-info.wrapper.component-18n632L-.mjs.map +1 -0
  7. package/fesm2022/dereekb-dbx-form-mapbox.mjs +26 -16
  8. package/fesm2022/dereekb-dbx-form-mapbox.mjs.map +1 -1
  9. package/fesm2022/dereekb-dbx-form-section.wrapper.component-vq21oG6v.mjs +52 -0
  10. package/fesm2022/dereekb-dbx-form-section.wrapper.component-vq21oG6v.mjs.map +1 -0
  11. package/fesm2022/dereekb-dbx-form-style.wrapper.component-BbKj-IHD.mjs +42 -0
  12. package/fesm2022/dereekb-dbx-form-style.wrapper.component-BbKj-IHD.mjs.map +1 -0
  13. package/fesm2022/dereekb-dbx-form.mjs +4398 -2865
  14. package/fesm2022/dereekb-dbx-form.mjs.map +1 -1
  15. package/lib/forge/_forge.scss +14 -0
  16. package/lib/forge/field/_field.scss +0 -2
  17. package/lib/forge/field/selection/_selection.scss +3 -0
  18. package/lib/forge/field/selection/list/_list.scss +17 -0
  19. package/lib/forge/field/selection/pickable/_pickable.scss +26 -1
  20. package/lib/forge/field/selection/sourceselect/_sourceselect.scss +16 -32
  21. package/lib/forge/field/wrapper/_wrapper.scss +16 -6
  22. package/lib/{formly/form/_form.scss → forge/preset/_preset.scss} +3 -12
  23. package/lib/forge/style/_shared.scss +13 -3
  24. package/lib/form/_form.scss +21 -7
  25. package/lib/formly/field/selection/sourceselect/_sourceselect.scss +0 -7
  26. package/lib/style/_all-core.scss +2 -4
  27. package/lib/style/_all-theme.scss +2 -4
  28. package/lib/style/_all-typography.scss +1 -1
  29. package/package.json +10 -10
  30. package/types/dereekb-dbx-form-calendar.d.ts +9 -20
  31. package/types/dereekb-dbx-form-mapbox.d.ts +15 -12
  32. package/types/dereekb-dbx-form.d.ts +4554 -3948
  33. package/fesm2022/dereekb-dbx-form-array.field.component-1wYSd4d3.mjs +0 -169
  34. package/fesm2022/dereekb-dbx-form-array.field.component-1wYSd4d3.mjs.map +0 -1
  35. package/fesm2022/dereekb-dbx-form-formfield.field.component-BQyujXe3.mjs +0 -70
  36. package/fesm2022/dereekb-dbx-form-formfield.field.component-BQyujXe3.mjs.map +0 -1
  37. package/fesm2022/dereekb-dbx-form-info.wrapper.field.component-Crm4wVr5.mjs +0 -35
  38. package/fesm2022/dereekb-dbx-form-info.wrapper.field.component-Crm4wVr5.mjs.map +0 -1
  39. package/fesm2022/dereekb-dbx-form-section.field.component-DliafLqL.mjs +0 -63
  40. package/fesm2022/dereekb-dbx-form-section.field.component-DliafLqL.mjs.map +0 -1
  41. package/fesm2022/dereekb-dbx-form-style.field.component-C3ZNiotx.mjs +0 -71
  42. package/fesm2022/dereekb-dbx-form-style.field.component-C3ZNiotx.mjs.map +0 -1
  43. package/fesm2022/dereekb-dbx-form-working.field.component-CO8vK2bH.mjs +0 -53
  44. package/fesm2022/dereekb-dbx-form-working.field.component-CO8vK2bH.mjs.map +0 -1
  45. package/fesm2022/dereekb-dbx-form-working.wrapper.field.component-BtD7_5i5.mjs +0 -54
  46. package/fesm2022/dereekb-dbx-form-working.wrapper.field.component-BtD7_5i5.mjs.map +0 -1
  47. package/fesm2022/dereekb-dbx-form-wrapper.content.component-Cy4ND_se.mjs +0 -87
  48. package/fesm2022/dereekb-dbx-form-wrapper.content.component-Cy4ND_se.mjs.map +0 -1
@@ -0,0 +1,14 @@
1
+ @use './style/shared';
2
+ @use './preset/preset';
3
+ @use './field/field';
4
+
5
+ @mixin all-forge-core() {
6
+ @include shared.core();
7
+ @include preset.core();
8
+ @include field.all-field-core();
9
+ }
10
+
11
+ @mixin all-forge-theme($theme-config) {
12
+ @include preset.theme($theme-config);
13
+ @include field.all-field-theme($theme-config);
14
+ }
@@ -1,9 +1,7 @@
1
1
  @use './selection/selection';
2
2
  @use './wrapper/wrapper';
3
- @use '../style/shared';
4
3
 
5
4
  @mixin all-field-core() {
6
- @include shared.core();
7
5
  @include selection.all-selection-core();
8
6
  @include wrapper.core();
9
7
  }
@@ -1,14 +1,17 @@
1
+ @use './list/list';
1
2
  @use './pickable/pickable';
2
3
  @use './searchable/searchable';
3
4
  @use './sourceselect/sourceselect';
4
5
 
5
6
  @mixin all-selection-core() {
7
+ @include list.core();
6
8
  @include pickable.core();
7
9
  @include searchable.core();
8
10
  @include sourceselect.core();
9
11
  }
10
12
 
11
13
  @mixin all-selection-theme($theme-config) {
14
+ @include list.theme($theme-config);
12
15
  @include pickable.theme($theme-config);
13
16
  @include searchable.theme($theme-config);
14
17
  @include sourceselect.theme($theme-config);
@@ -0,0 +1,17 @@
1
+ // MARK: Variables
2
+ $default-dbx-forge-list-item-field-height: 300px;
3
+
4
+ // MARK: Mixin
5
+ @mixin core() {
6
+ .dbx-forge-list-item-field {
7
+ max-height: var(--dbx-forge-list-item-field-height, $default-dbx-forge-list-item-field-height);
8
+ overflow: auto;
9
+ }
10
+
11
+ .dbx-forge-list-field-disabled {
12
+ --mat-list-list-item-disabled-label-text-opacity: 1; // the forge disabled state already applies an opacity
13
+ }
14
+ }
15
+
16
+ @mixin theme($theme-config) {
17
+ }
@@ -1,10 +1,35 @@
1
1
  // MARK: Mixin
2
2
  @mixin core() {
3
- // Container margin and list max-height are defined in formly's _pickable.scss
3
+ // Container margin and chip list max-height are defined in formly's _pickable.scss
4
4
  // and apply to both formly and forge contexts (same class names).
5
5
  //
6
6
  // Bare input styling is provided by the .dbx-forge-bare-input class
7
7
  // applied directly in the pickable templates.
8
+
9
+ // List variant styling
10
+ .dbx-pickable-item-field-list {
11
+ .dbx-pickable-item-field-list-content {
12
+ max-height: 300px;
13
+ overflow-y: auto;
14
+ }
15
+
16
+ .dbx-pickable-item-field-select-all {
17
+ padding: 4px 0;
18
+ }
19
+
20
+ .dbx-pickable-select-all-button {
21
+ background: none;
22
+ border: none;
23
+ cursor: pointer;
24
+ padding: 4px 16px;
25
+ font-size: 0.875rem;
26
+ color: var(--mat-sys-primary, inherit);
27
+
28
+ &:hover {
29
+ text-decoration: underline;
30
+ }
31
+ }
32
+ }
8
33
  }
9
34
 
10
35
  @mixin theme($theme-config) {
@@ -1,41 +1,25 @@
1
1
  // MARK: Mixin
2
2
  @mixin core() {
3
- // The forge source select renders inside the forgeFormFieldWrapper content area.
4
- // The wrapper provides padding and the outlined border. Override the shared formly
5
- // styles that were designed for the mat-form-field context.
6
- dbx-forge-source-select-field {
7
- // Position the loading bar at the very bottom of the wrapper outline
8
- // by stretching the field container to fill the wrapper content area.
9
- .dbx-source-select-field {
10
- position: relative;
11
- // Negate the wrapper's content padding so the field fills edge-to-edge,
12
- // allowing the loading bar to sit at the bottom of the outline.
13
- margin: calc(-1 * var(--mat-form-field-container-vertical-padding, 16px)) -16px -8px;
14
- padding: var(--mat-form-field-container-vertical-padding, 16px) 16px 8px;
15
- overflow: hidden;
16
- border-radius: var(--mdc-outlined-text-field-container-shape, 8px);
17
- }
18
-
19
- .dbx-source-select-field-loading {
20
- left: 1px;
21
- right: 1px;
22
- bottom: 1px;
23
- }
3
+ .dbx-source-select-field-loading {
4
+ position: absolute;
5
+ bottom: 5px;
6
+ left: 0px;
7
+ right: 0px;
8
+ overflow: hidden;
9
+ border-radius: 999px;
10
+ }
24
11
 
25
- // Override formly button styles that were tuned for the mat-form-field context.
26
- // In the forge wrapper, the button sits inside the outline alongside the select.
27
- .dbx-source-select-field-select {
28
- flex: 1;
29
- }
12
+ dbx-forge-source-select-field {
13
+ display: block;
14
+ width: 100%;
30
15
 
31
- .mat-mdc-select {
32
- display: inline-flex;
16
+ // mat-form-field needs relative positioning for the loading bar
17
+ .mat-mdc-form-field {
18
+ position: relative;
33
19
  }
34
20
 
35
- .dbx-source-select-field-content .dbx-source-select-field-button {
36
- margin-top: 0;
37
- height: auto;
38
- overflow: visible;
21
+ // Suffix button styling inside mat-form-field
22
+ .dbx-source-select-field-suffix {
39
23
  display: flex;
40
24
  align-items: center;
41
25
  }
@@ -35,12 +35,6 @@ $dbx-forge-form-field-slider-thumb-margin: 22px;
35
35
  padding-bottom: 0 !important;
36
36
  }
37
37
 
38
- // When a child field shows an inline error (e.g. searchable chip input validation),
39
- // hide the wrapper's subscript hint so the error effectively replaces it.
40
- dbx-forge-form-field-wrapper:has(.dbx-chip-input-error) .mat-mdc-form-field-hint-wrapper {
41
- display: none;
42
- }
43
-
44
38
  // The wrapper's mat-mdc-form-field host class causes Angular Material's
45
39
  // form-field line-height (24px) and letter-spacing (0.496px) to cascade
46
40
  // into all descendants. For list selection fields this distorts the list
@@ -56,6 +50,22 @@ $dbx-forge-form-field-slider-thumb-margin: 22px;
56
50
  .dbx-forge-working-bar {
57
51
  margin-top: 4px;
58
52
  }
53
+
54
+ // Flex layout wrapper: ng-forge's GroupFieldComponent applies `display: grid`
55
+ // and `gap: var(--df-grid-row-gap)` via :host styling (scoped attribute selector).
56
+ // Override both when our `dbx-flex-group` class is present so the flex sizing
57
+ // classes work. The dbx-flex-N children use padding for spacing instead of gap.
58
+ .df-group.dbx-flex-group {
59
+ display: flex !important;
60
+ flex-wrap: wrap;
61
+ gap: 0 !important;
62
+ }
63
+
64
+ .dbx-form-repeat-array-field {
65
+ .dbx-form-repeat-array-bar .dbx-chip {
66
+ margin-right: 3px;
67
+ }
68
+ }
59
69
  }
60
70
 
61
71
  @mixin theme($theme-config) {
@@ -6,18 +6,9 @@
6
6
  @mixin core() {
7
7
  .dbx-form-search-form {
8
8
  width: 100%;
9
- }
10
-
11
- // adapt the search form to fit in the header
12
- // TODO: Consider test that other one-field input forms fit in the dbx-section-page-header
13
- .dbx-section-page-header-search-form {
14
- .mat-mdc-form-field .mat-mdc-form-field-wrapper {
15
- margin: 0;
16
- padding: 0;
17
9
 
18
- .mat-mdc-form-field-infix {
19
- padding: 11px;
20
- }
10
+ .mat-mdc-notch-piece.mdc-notched-outline__notch {
11
+ width: 100%;
21
12
  }
22
13
  }
23
14
 
@@ -26,7 +17,7 @@
26
17
  display: flex;
27
18
  align-items: center;
28
19
 
29
- .dbx-formly {
20
+ .dbx-forge {
30
21
  width: 100%;
31
22
  }
32
23
 
@@ -7,20 +7,30 @@
7
7
  // Resets native <input> elements that render inside the forge form-field wrapper
8
8
  // (outside a <mat-form-field>) so they match Material body-large typography.
9
9
  // Used by pickable filter inputs and searchable text/chip field inputs.
10
- .dbx-forge-bare-input {
10
+ input.dbx-forge-bare-input {
11
11
  border: none;
12
12
  outline: none;
13
13
  width: 100%;
14
14
  background: transparent;
15
- color: var(--mat-sys-on-surface);
16
15
  font-family: var(--mat-sys-body-large-font);
17
16
  font-size: var(--mat-sys-body-large-size);
18
17
  line-height: var(--mat-sys-body-large-line-height);
19
18
  letter-spacing: var(--mat-sys-body-large-tracking);
20
- padding: 4px 0;
19
+ padding: 5px 0 3px;
21
20
 
22
21
  &::placeholder {
23
22
  color: var(--mat-sys-on-surface-variant);
24
23
  }
25
24
  }
25
+
26
+ .dbx-forge {
27
+ // pushes icons in fields like dbxForgeDateTimeField() away from the edge
28
+ .mat-mdc-form-field-icon-prefix {
29
+ padding-left: 4px;
30
+ }
31
+
32
+ .mat-mdc-form-field-icon-suffix {
33
+ padding-right: 4px;
34
+ }
35
+ }
26
36
  }
@@ -4,13 +4,6 @@
4
4
 
5
5
  // MARK: Mixin
6
6
  @mixin core() {
7
- // Forge flex row relative mode: override ng-forge grid column count
8
- @for $i from 1 through 12 {
9
- .dbx-forge-flex-#{$i} {
10
- --df-grid-columns: #{$i};
11
- }
12
- }
13
-
14
7
  // Forge styled box: outlined box around fields that don't use mat-form-field (checkbox, toggle, slider).
15
8
  // Mirrors the Material outlined form-field appearance (border-radius, padding, min-height, hint styling).
16
9
  .dbx-forge-styled-box {
@@ -70,6 +63,7 @@
70
63
  .dbx-forge-disabled {
71
64
  opacity: 0.38;
72
65
  pointer-events: none;
66
+ --mat-list-list-item-disabled-label-text-opacity: unset;
73
67
  }
74
68
 
75
69
  // Form-level disabled state: disables all interactive elements inside a forge form.
@@ -98,6 +92,26 @@
98
92
  .dbx-forge-styled-box {
99
93
  opacity: 0.38;
100
94
  }
95
+
96
+ // Reduce opacity on hint/description/error elements that render outside mat-form-field.
97
+ // These custom forge field components render subscript text (hints, errors, descriptions)
98
+ // as siblings beside their mat-form-field containers, so the rule above does not reach them.
99
+ .dbx-forge-datetime-hint,
100
+ .dbx-forge-datetime-error,
101
+ .dbx-forge-datetime-desc,
102
+ .dbx-forge-daterange-field > mat-hint,
103
+ .dbx-forge-daterange-field > mat-error,
104
+ .dbx-form-repeat-array-bar,
105
+ .dbx-form-repeat-array-footer {
106
+ opacity: 0.38;
107
+ }
108
+
109
+ // The expand trigger has no mat-form-field wrapping and needs both visual
110
+ // and interaction disabling.
111
+ dbx-forge-expand-field {
112
+ opacity: 0.38;
113
+ pointer-events: none;
114
+ }
101
115
  }
102
116
  }
103
117
 
@@ -4,13 +4,6 @@
4
4
 
5
5
  // MARK: Mixin
6
6
  @mixin core() {
7
- .dbx-source-select-field-loading {
8
- position: absolute;
9
- bottom: 0px;
10
- left: -16px;
11
- right: -16px;
12
- }
13
-
14
7
  .dbx-source-select-field-content {
15
8
  display: flex;
16
9
 
@@ -2,8 +2,7 @@
2
2
  @use '../formly/formly';
3
3
  @use '../layout/layout';
4
4
  @use '../formly/field/field';
5
- @use '../formly/form/form' as forms;
6
- @use '../forge/field/field' as forge-field;
5
+ @use '../forge/forge';
7
6
  @use '../extension/extension';
8
7
 
9
8
  // Includes all theming config
@@ -11,8 +10,7 @@
11
10
  @include form.core();
12
11
  @include formly.core();
13
12
  @include field.all-field-core();
14
- @include forge-field.all-field-core();
15
- @include forms.core();
13
+ @include forge.all-forge-core();
16
14
  @include layout.core();
17
15
  @include extension.all-extension-core($theme-config);
18
16
  }
@@ -2,8 +2,7 @@
2
2
  @use '../formly/formly';
3
3
  @use '../layout/layout';
4
4
  @use '../formly/field/field';
5
- @use '../formly/form/form' as forms;
6
- @use '../forge/field/field' as forge-field;
5
+ @use '../forge/forge';
7
6
  @use '../extension/extension';
8
7
 
9
8
  // Includes all theming config
@@ -11,8 +10,7 @@
11
10
  @include form.theme($theme-config);
12
11
  @include formly.theme($theme-config);
13
12
  @include field.all-field-theme($theme-config);
14
- @include forge-field.all-field-theme($theme-config);
15
- @include forms.theme($theme-config);
13
+ @include forge.all-forge-theme($theme-config);
16
14
  @include layout.theme($theme-config);
17
15
  @include extension.all-extension-theme($theme-config);
18
16
  }
@@ -3,7 +3,7 @@
3
3
  @use '../formly/formly';
4
4
  @use '../layout/layout';
5
5
  @use '../formly/field/field';
6
- @use '../formly/form/form' as forms;
6
+ @use '../forge/forge';
7
7
  @use '../extension/extension';
8
8
 
9
9
  // Includes all of the typographic styles.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/dbx-form",
3
- "version": "13.8.0",
3
+ "version": "13.9.0",
4
4
  "peerDependencies": {
5
5
  "@angular/cdk": "^21.2.3",
6
6
  "@angular/common": "21.2.4",
@@ -10,15 +10,15 @@
10
10
  "@angular/material-date-fns-adapter": "21.2.3",
11
11
  "@angular/platform-browser": "21.2.4",
12
12
  "@bobbyquantum/ngx-editor": "21.0.0",
13
- "@dereekb/date": "13.8.0",
14
- "@dereekb/dbx-core": "13.8.0",
15
- "@dereekb/dbx-web": "13.8.0",
16
- "@dereekb/model": "13.8.0",
17
- "@dereekb/rxjs": "13.8.0",
18
- "@dereekb/util": "13.8.0",
19
- "@dereekb/vitest": "13.8.0",
20
- "@ng-forge/dynamic-forms": "^0.7.0",
21
- "@ng-forge/dynamic-forms-material": "^0.7.0",
13
+ "@dereekb/date": "13.9.0",
14
+ "@dereekb/dbx-core": "13.9.0",
15
+ "@dereekb/dbx-web": "13.9.0",
16
+ "@dereekb/model": "13.9.0",
17
+ "@dereekb/rxjs": "13.9.0",
18
+ "@dereekb/util": "13.9.0",
19
+ "@dereekb/vitest": "13.9.0",
20
+ "@ng-forge/dynamic-forms": "0.8.0-next.2",
21
+ "@ng-forge/dynamic-forms-material": "0.8.0-next.2",
22
22
  "@ng-web-apis/geolocation": "^5.1.0",
23
23
  "@ngbracket/ngx-layout": "^21.0.0",
24
24
  "@ngrx/component-store": "^21.0.0",
@@ -1,5 +1,5 @@
1
1
  import * as i13 from '@dereekb/dbx-form';
2
- import { LabeledFieldConfig, DescriptionFieldConfig, FieldConfig, AbstractSyncFormlyFormDirective, AbstractSyncForgeFormDirective } from '@dereekb/dbx-form';
2
+ import { LabeledBaseFieldConfig, DescriptionFieldConfig, FieldConfig, AbstractSyncFormlyFormDirective, AbstractSyncForgeFormDirective } from '@dereekb/dbx-form';
3
3
  import * as _ngx_formly_core from '@ngx-formly/core';
4
4
  import { FormlyFieldProps, FieldTypeConfig, FormlyFieldConfig } from '@ngx-formly/core';
5
5
  import * as _dereekb_dbx_form_calendar from '@dereekb/dbx-form/calendar';
@@ -21,9 +21,8 @@ import { MatFormFieldAppearance, MatFormFieldDefaultOptions } from '@angular/mat
21
21
  import * as _angular_material_dialog from '@angular/material/dialog';
22
22
  import { MatDialog } from '@angular/material/dialog';
23
23
  import { DbxInjectionComponentConfig, DbxButtonDisplay } from '@dereekb/dbx-core';
24
- import { DynamicText, FieldMeta, ValidationMessages, BaseValueField, FormConfig, FieldTypeDefinition } from '@ng-forge/dynamic-forms';
24
+ import { DynamicText, FieldMeta, ValidationMessages, BaseValueField, FieldDef, FormConfig, FieldTypeDefinition } from '@ng-forge/dynamic-forms';
25
25
  import { FieldTree } from '@angular/forms/signals';
26
- import * as _ng_forge_dynamic_forms_material from '@ng-forge/dynamic-forms-material';
27
26
  import { DbxCalendarStore, DbxCalendarEvent } from '@dereekb/dbx-web/calendar';
28
27
  import { ErrorStateMatcher } from '@angular/material/core';
29
28
  import { MatDateRangePicker, DateFilterFn } from '@angular/material/datepicker';
@@ -633,12 +632,12 @@ declare class DbxFormCalendarDateScheduleRangeFieldComponent<T extends DbxFormCa
633
632
  /**
634
633
  * @deprecated Use DbxForgeCalendarDateScheduleRangeFieldConfig instead.
635
634
  */
636
- interface DateScheduleRangeFieldConfig extends Omit<LabeledFieldConfig, 'key' | 'placeholder'>, DescriptionFieldConfig, Partial<FieldConfig>, DbxFormCalendarDateCellScheduleRangeFieldProps {
635
+ interface DateScheduleRangeFieldConfig extends Omit<LabeledBaseFieldConfig, 'key' | 'placeholder'>, DescriptionFieldConfig, Partial<FieldConfig>, DbxFormCalendarDateCellScheduleRangeFieldProps {
637
636
  }
638
637
  /**
639
638
  * Creates a Formly field configuration for a date schedule range picker with calendar-based selection.
640
639
  *
641
- * @deprecated Use forgeDateScheduleRangeField() from the forge API instead.
640
+ * @deprecated Use dbxForgeDateScheduleRangeField() from the forge API instead.
642
641
  * @param config - Optional schedule range field configuration overrides
643
642
  * @returns A validated Formly field configuration for date schedule range selection
644
643
  */
@@ -682,6 +681,7 @@ interface DbxForgeCalendarDateScheduleRangeFieldComponentProps extends Pick<Cale
682
681
  declare class DbxForgeCalendarDateScheduleRangeFieldComponent implements OnDestroy {
683
682
  readonly compact: CompactContextStore | null;
684
683
  readonly dbxCalendarScheduleSelectionStore: DbxCalendarScheduleSelectionStore;
684
+ private readonly elementRef;
685
685
  readonly field: InputSignal<FieldTree<unknown>>;
686
686
  readonly key: InputSignal<string>;
687
687
  readonly label: InputSignal<DynamicText | undefined>;
@@ -808,7 +808,7 @@ interface DbxForgeCalendarDateScheduleRangeFieldConfig extends Pick<CalendarSche
808
808
  * @param config - Optional schedule range field configuration overrides
809
809
  * @returns A validated forge field definition for date schedule range selection
810
810
  */
811
- declare function forgeDateScheduleRangeField(config?: DbxForgeCalendarDateScheduleRangeFieldConfig): DbxForgeCalendarDateScheduleRangeFieldDef;
811
+ declare function dbxForgeDateScheduleRangeField(config?: DbxForgeCalendarDateScheduleRangeFieldConfig): DbxForgeCalendarDateScheduleRangeFieldDef;
812
812
 
813
813
  /**
814
814
  * Creates form fields for selecting which days of the week are enabled in a schedule selection calendar,
@@ -852,11 +852,11 @@ declare function dbxScheduleSelectionCalendarDateDaysForgeFormFields(): FormConf
852
852
  *
853
853
  * @returns An array of forge toggle field definitions for each day of the week
854
854
  */
855
- declare function dbxScheduleSelectionCalendarDateDaysForgeFormDayFields(): _ng_forge_dynamic_forms_material.MatToggleField[];
855
+ declare function dbxScheduleSelectionCalendarDateDaysForgeFormDayFields(): FieldDef<unknown>[];
856
856
 
857
857
  type DbxScheduleSelectionCalendarDateDaysForgeFormValue = EnabledDays;
858
858
  declare class DbxScheduleSelectionCalendarDateDaysForgeFormComponent extends AbstractSyncForgeFormDirective<DbxScheduleSelectionCalendarDateDaysForgeFormValue> {
859
- readonly config: FormConfig;
859
+ readonly formConfig: FormConfig;
860
860
  static ɵfac: i0.ɵɵFactoryDeclaration<DbxScheduleSelectionCalendarDateDaysForgeFormComponent, never>;
861
861
  static ɵcmp: i0.ɵɵComponentDeclaration<DbxScheduleSelectionCalendarDateDaysForgeFormComponent, "dbx-schedule-selection-calendar-date-days-forge-form", never, {}, {}, never, never, true, never>;
862
862
  }
@@ -1088,17 +1088,6 @@ declare class DbxFormCalendarModule {
1088
1088
  * All custom dbx-form/calendar forge field type definitions.
1089
1089
  */
1090
1090
  declare const DBX_FORGE_CALENDAR_FIELD_TYPES: FieldTypeDefinition[];
1091
- /**
1092
- * Registers ng-forge dynamic form field declarations for the calendar package.
1093
- *
1094
- * Add this to your app's providers alongside provideDbxForgeFormFieldDeclarations().
1095
- *
1096
- * @returns An array of providers that register the calendar forge field types with ng-forge
1097
- */
1098
- declare function provideDbxForgeCalendarFieldDeclarations(): i0.EnvironmentProviders & {
1099
- __fieldDefs?: any;
1100
- __formValue?: unknown;
1101
- };
1102
1091
 
1103
- export { CalendarScheduleSelectionDayState, DBX_FORGE_CALENDAR_FIELD_TYPES, DEFAULT_DBX_SCHEDULE_SELECTION_CALENDAR_DATE_POPUP_CONTENT_CONFIG_TOKEN, DEFAULT_SCHEDULE_SELECTION_CALENDAR_DATE_POPOVER_KEY, DbxCalendarScheduleSelectionStore, DbxCalendarScheduleSelectionStoreInjectionBlockDirective, DbxCalendarScheduleSelectionStoreProviderBlock, DbxForgeCalendarDateScheduleRangeFieldComponent, DbxFormCalendarDateScheduleRangeFieldComponent, DbxFormCalendarModule, DbxFormDateScheduleRangeFieldModule, DbxScheduleSelectionCalendarCellComponent, DbxScheduleSelectionCalendarComponent, DbxScheduleSelectionCalendarDateDaysComponent, DbxScheduleSelectionCalendarDateDaysForgeFormComponent, DbxScheduleSelectionCalendarDateDaysFormComponent, DbxScheduleSelectionCalendarDateDialogButtonComponent, DbxScheduleSelectionCalendarDateDialogComponent, DbxScheduleSelectionCalendarDatePopoverButtonComponent, DbxScheduleSelectionCalendarDatePopoverComponent, DbxScheduleSelectionCalendarDatePopoverContentComponent, DbxScheduleSelectionCalendarDateRangeComponent, DbxScheduleSelectionCalendarSelectionToggleButtonComponent, FORGE_CALENDAR_DATE_SCHEDULE_RANGE_FIELD_TYPE, calendarDateScheduleRangeFieldMapper, calendarScheduleMaxDate, calendarScheduleMinAndMaxDateRange, calendarScheduleMinDate, calendarScheduleStartBeingUsedFromFilter, computeCalendarScheduleSelectionDateCellRange, computeCalendarScheduleSelectionRange, computeScheduleSelectionRangeAndExclusion, computeScheduleSelectionValue, dateScheduleRangeField, dbxScheduleSelectionCalendarBeforeMonthViewRenderFactory, dbxScheduleSelectionCalendarDateDaysForgeFormDayFields, dbxScheduleSelectionCalendarDateDaysForgeFormFields, dbxScheduleSelectionCalendarDateDaysFormDayFields, dbxScheduleSelectionCalendarDateDaysFormFields, defaultCalendarScheduleSelectionCellContentFactory, finalizeNewCalendarScheduleSelectionState, finalizeUpdateStateWithChangedScheduleDays, forgeDateScheduleRangeField, initialCalendarScheduleSelectionState, isEnabledDayInCalendarScheduleSelectionState, noSelectionCalendarScheduleSelectionState, provideCalendarScheduleSelectionStoreIfParentIsUnavailable, provideDbxForgeCalendarFieldDeclarations, updateStateWithChangedDates, updateStateWithChangedDefaultScheduleDays, updateStateWithChangedRange, updateStateWithChangedScheduleDays, updateStateWithComputeSelectionResultRelativeToFilter, updateStateWithDateCellScheduleRangeValue, updateStateWithExclusions, updateStateWithFilter, updateStateWithInitialSelectionState, updateStateWithMinMaxDateRange, updateStateWithSelectionMode, updateStateWithTimezoneValue };
1092
+ export { CalendarScheduleSelectionDayState, DBX_FORGE_CALENDAR_FIELD_TYPES, DEFAULT_DBX_SCHEDULE_SELECTION_CALENDAR_DATE_POPUP_CONTENT_CONFIG_TOKEN, DEFAULT_SCHEDULE_SELECTION_CALENDAR_DATE_POPOVER_KEY, DbxCalendarScheduleSelectionStore, DbxCalendarScheduleSelectionStoreInjectionBlockDirective, DbxCalendarScheduleSelectionStoreProviderBlock, DbxForgeCalendarDateScheduleRangeFieldComponent, DbxFormCalendarDateScheduleRangeFieldComponent, DbxFormCalendarModule, DbxFormDateScheduleRangeFieldModule, DbxScheduleSelectionCalendarCellComponent, DbxScheduleSelectionCalendarComponent, DbxScheduleSelectionCalendarDateDaysComponent, DbxScheduleSelectionCalendarDateDaysForgeFormComponent, DbxScheduleSelectionCalendarDateDaysFormComponent, DbxScheduleSelectionCalendarDateDialogButtonComponent, DbxScheduleSelectionCalendarDateDialogComponent, DbxScheduleSelectionCalendarDatePopoverButtonComponent, DbxScheduleSelectionCalendarDatePopoverComponent, DbxScheduleSelectionCalendarDatePopoverContentComponent, DbxScheduleSelectionCalendarDateRangeComponent, DbxScheduleSelectionCalendarSelectionToggleButtonComponent, FORGE_CALENDAR_DATE_SCHEDULE_RANGE_FIELD_TYPE, calendarDateScheduleRangeFieldMapper, calendarScheduleMaxDate, calendarScheduleMinAndMaxDateRange, calendarScheduleMinDate, calendarScheduleStartBeingUsedFromFilter, computeCalendarScheduleSelectionDateCellRange, computeCalendarScheduleSelectionRange, computeScheduleSelectionRangeAndExclusion, computeScheduleSelectionValue, dateScheduleRangeField, dbxForgeDateScheduleRangeField, dbxScheduleSelectionCalendarBeforeMonthViewRenderFactory, dbxScheduleSelectionCalendarDateDaysForgeFormDayFields, dbxScheduleSelectionCalendarDateDaysForgeFormFields, dbxScheduleSelectionCalendarDateDaysFormDayFields, dbxScheduleSelectionCalendarDateDaysFormFields, defaultCalendarScheduleSelectionCellContentFactory, finalizeNewCalendarScheduleSelectionState, finalizeUpdateStateWithChangedScheduleDays, initialCalendarScheduleSelectionState, isEnabledDayInCalendarScheduleSelectionState, noSelectionCalendarScheduleSelectionState, provideCalendarScheduleSelectionStoreIfParentIsUnavailable, updateStateWithChangedDates, updateStateWithChangedDefaultScheduleDays, updateStateWithChangedRange, updateStateWithChangedScheduleDays, updateStateWithComputeSelectionResultRelativeToFilter, updateStateWithDateCellScheduleRangeValue, updateStateWithExclusions, updateStateWithFilter, updateStateWithInitialSelectionState, updateStateWithMinMaxDateRange, updateStateWithSelectionMode, updateStateWithTimezoneValue };
1104
1093
  export type { CalendarScheduleSelectionCellContent, CalendarScheduleSelectionCellContentFactory, CalendarScheduleSelectionInputDateRange, CalendarScheduleSelectionMetadata, CalendarScheduleSelectionRangeAndExclusion, CalendarScheduleSelectionState, CalendarScheduleSelectionStateDatesChange, CalendarScheduleSelectionValue, DateScheduleRangeFieldConfig, DbxCalendarScheduleSelectionStoreSelectionMode, DbxForgeCalendarDateScheduleRangeFieldComponentProps, DbxForgeCalendarDateScheduleRangeFieldConfig, DbxForgeCalendarDateScheduleRangeFieldDef, DbxFormCalendarDateCellScheduleRangeFieldProps, DbxScheduleSelectionCalendarBeforeMonthViewRenderFunction, DbxScheduleSelectionCalendarBeforeMonthViewRenderFunctionFactory, DbxScheduleSelectionCalendarBeforeMonthViewRenderModifyDayFunction, DbxScheduleSelectionCalendarComponentConfig, DbxScheduleSelectionCalendarDateDaysForgeFormValue, DbxScheduleSelectionCalendarDateDaysFormValue, DbxScheduleSelectionCalendarDatePopoverConfig, DbxScheduleSelectionCalendarDatePopupConfig, DbxScheduleSelectionCalendarDatePopupContentConfig, PartialCalendarScheduleSelectionInputDateRange };
@@ -1,4 +1,4 @@
1
- import { LabeledFieldConfig, DescriptionFieldConfig, FieldConfig } from '@dereekb/dbx-form';
1
+ import { LabeledBaseFieldConfig, DescriptionFieldConfig, FieldConfig } from '@dereekb/dbx-form';
2
2
  import * as i2 from '@ngx-formly/core';
3
3
  import { FormlyFieldProps, FieldTypeConfig, FormlyFieldConfig } from '@ngx-formly/core';
4
4
  import * as i0 from '@angular/core';
@@ -8,7 +8,7 @@ import { CompactContextStore } from '@dereekb/dbx-web';
8
8
  import { FieldType } from '@ngx-formly/material';
9
9
  import { Observable, BehaviorSubject } from 'rxjs';
10
10
  import { ObservableFactoryWithRequiredInput } from '@dereekb/rxjs';
11
- import { Milliseconds, LatLngPointFunctionConfig, Maybe, LatLngPoint, ZoomLevel } from '@dereekb/util';
11
+ import { Milliseconds, LatLngPointFunctionConfig, Maybe, LatLngPoint, LatLngPointFunction, LatLngStringFunction, ZoomLevel } from '@dereekb/util';
12
12
  import { Marker } from 'mapbox-gl';
13
13
  import { DbxMapboxMarkerDisplayConfig, MapboxZoomLevel, DbxMapboxInjectionStore, DbxMapboxMapStore, DbxMapboxMarker, DbxMapboxService } from '@dereekb/dbx-web/mapbox';
14
14
  import { DynamicText, FieldMeta, ValidationMessages, BaseValueField, FieldTypeDefinition } from '@ng-forge/dynamic-forms';
@@ -126,12 +126,12 @@ declare class DbxFormMapboxLatLngFieldComponent<T extends DbxFormMapboxLatLngCom
126
126
  /**
127
127
  * @deprecated Use DbxForgeMapboxLatLngFieldConfig instead.
128
128
  */
129
- interface MapboxLatLngFieldConfig extends Omit<LabeledFieldConfig, 'key'>, DescriptionFieldConfig, Partial<FieldConfig>, Pick<DbxFormMapboxLatLngComponentFieldProps, 'showMap' | 'zoom' | 'latLngConfig' | 'recenterTime' | 'setCenterOnLocationSet' | 'showCenterButton' | 'selectLocationOnMapDrag' | 'selectLocationOnMapClick' | 'markerConfig'> {
129
+ interface MapboxLatLngFieldConfig extends Omit<LabeledBaseFieldConfig, 'key'>, DescriptionFieldConfig, Partial<FieldConfig>, Pick<DbxFormMapboxLatLngComponentFieldProps, 'showMap' | 'zoom' | 'latLngConfig' | 'recenterTime' | 'setCenterOnLocationSet' | 'showCenterButton' | 'selectLocationOnMapDrag' | 'selectLocationOnMapClick' | 'markerConfig'> {
130
130
  }
131
131
  /**
132
132
  * Creates a Formly field configuration for a Mapbox-powered latitude/longitude picker with optional map display.
133
133
  *
134
- * @deprecated Use forgeMapboxLatLngField() from the forge API instead.
134
+ * @deprecated Use dbxForgeMapboxLatLngField() from the forge API instead.
135
135
  * @param config - Optional field configuration overrides
136
136
  * @returns A validated Formly field configuration for the Mapbox lat/lng picker
137
137
  */
@@ -189,6 +189,7 @@ declare class DbxForgeMapboxLatLngFieldComponent implements OnDestroy {
189
189
  readonly compact: CompactContextStore | null;
190
190
  readonly dbxMapboxInjectionStore: DbxMapboxInjectionStore | null;
191
191
  readonly dbxMapboxMapStore: DbxMapboxMapStore;
192
+ private readonly elementRef;
192
193
  readonly field: InputSignal<FieldTree<unknown>>;
193
194
  readonly key: InputSignal<string>;
194
195
  readonly label: InputSignal<DynamicText | undefined>;
@@ -207,8 +208,9 @@ declare class DbxForgeMapboxLatLngFieldComponent implements OnDestroy {
207
208
  private readonly _clickSub;
208
209
  private readonly _zoom;
209
210
  private readonly _markerConfig;
210
- private _latLngStringFunction;
211
- private _latLngPointFunction;
211
+ readonly latLngPointConfigSignal: Signal<LatLngPointFunctionConfig>;
212
+ readonly latLngPointFunctionSignal: Signal<LatLngPointFunction>;
213
+ readonly latLngStringFunctionSignal: Signal<LatLngStringFunction>;
212
214
  readonly compactClass$: Observable<string>;
213
215
  private readonly _useCurrentLocationDisabled;
214
216
  readonly useCurrentLocationDisabled$: Observable<boolean>;
@@ -222,7 +224,7 @@ declare class DbxForgeMapboxLatLngFieldComponent implements OnDestroy {
222
224
  readonly showCenterButtonSignal: Signal<boolean>;
223
225
  readonly recenterTimeSignal: Signal<number>;
224
226
  readonly placeholderTextSignal: Signal<string | undefined>;
225
- readonly fieldValue$: Observable<unknown>;
227
+ readonly latLngValueSignal: Signal<LatLngPoint>;
226
228
  readonly latLng$: Observable<LatLngPoint>;
227
229
  readonly nonZeroLatLng$: Observable<LatLngPoint>;
228
230
  readonly zoom$: Observable<number>;
@@ -289,7 +291,7 @@ interface DbxForgeMapboxLatLngFieldConfig {
289
291
  * @param config - Optional field configuration overrides
290
292
  * @returns A validated forge field definition for the Mapbox lat/lng picker
291
293
  */
292
- declare function forgeMapboxLatLngField(config?: DbxForgeMapboxLatLngFieldConfig): DbxForgeMapboxLatLngFieldDef;
294
+ declare function dbxForgeMapboxLatLngField(config?: DbxForgeMapboxLatLngFieldConfig): DbxForgeMapboxLatLngFieldDef;
293
295
 
294
296
  declare class DbxForgeMapboxLatLngFieldMarkerComponent {
295
297
  readonly fieldComponent: DbxForgeMapboxLatLngFieldComponent;
@@ -365,12 +367,12 @@ declare class DbxFormMapboxZoomFieldComponent<T extends DbxFormMapboxZoomCompone
365
367
  /**
366
368
  * @deprecated Use DbxForgeMapboxZoomFieldConfig instead.
367
369
  */
368
- interface MapboxZoomFieldConfig extends Omit<LabeledFieldConfig, 'key'>, DescriptionFieldConfig, Partial<FieldConfig>, Pick<DbxFormMapboxZoomComponentFieldProps, 'showMap' | 'center' | 'minZoom' | 'maxZoom' | 'zoomStep'> {
370
+ interface MapboxZoomFieldConfig extends Omit<LabeledBaseFieldConfig, 'key'>, DescriptionFieldConfig, Partial<FieldConfig>, Pick<DbxFormMapboxZoomComponentFieldProps, 'showMap' | 'center' | 'minZoom' | 'maxZoom' | 'zoomStep'> {
369
371
  }
370
372
  /**
371
373
  * Creates a Formly field configuration for a Mapbox-powered zoom level picker with optional map preview.
372
374
  *
373
- * @deprecated Use forgeMapboxZoomField() from the forge API instead.
375
+ * @deprecated Use dbxForgeMapboxZoomField() from the forge API instead.
374
376
  * @param config - Optional field configuration overrides
375
377
  * @returns A validated Formly field configuration for the Mapbox zoom picker
376
378
  */
@@ -410,6 +412,7 @@ declare class DbxForgeMapboxZoomFieldComponent implements OnDestroy {
410
412
  readonly compact: CompactContextStore | null;
411
413
  readonly dbxMapboxService: DbxMapboxService;
412
414
  readonly dbxMapboxMapStore: DbxMapboxMapStore;
415
+ private readonly elementRef;
413
416
  readonly field: InputSignal<FieldTree<unknown>>;
414
417
  readonly key: InputSignal<string>;
415
418
  readonly label: InputSignal<DynamicText | undefined>;
@@ -490,7 +493,7 @@ interface DbxForgeMapboxZoomFieldConfig {
490
493
  * @param config - Optional field configuration overrides
491
494
  * @returns A validated forge field definition for the Mapbox zoom picker
492
495
  */
493
- declare function forgeMapboxZoomField(config?: DbxForgeMapboxZoomFieldConfig): DbxForgeMapboxZoomFieldDef;
496
+ declare function dbxForgeMapboxZoomField(config?: DbxForgeMapboxZoomFieldConfig): DbxForgeMapboxZoomFieldDef;
494
497
 
495
498
  /**
496
499
  * @deprecated Use provideDbxForgeMapboxFieldDeclarations() instead.
@@ -517,5 +520,5 @@ declare function provideDbxForgeMapboxFieldDeclarations(): i0.EnvironmentProvide
517
520
  __formValue?: unknown;
518
521
  };
519
522
 
520
- export { DBX_FORGE_MAPBOX_FIELD_TYPES, DEFAULT_DBX_FORGE_MAPBOX_LAT_LNG_FIELD_INJECTION_KEY, DEFAULT_DBX_FORGE_MAPBOX_LAT_LNG_MARKER_CONFIG, DEFAULT_DBX_FORM_MAPBOX_LAT_LNG_FIELD_INJECTION_KEY, DEFAULT_DBX_FORM_MAPBOX_LAT_LNG_MARKER_CONFIG, DbxForgeMapboxLatLngFieldComponent, DbxForgeMapboxLatLngFieldMarkerComponent, DbxForgeMapboxZoomFieldComponent, DbxFormMapboxLatLngFieldComponent, DbxFormMapboxLatLngFieldMarkerComponent, DbxFormMapboxLatLngModule, DbxFormMapboxModule, DbxFormMapboxZoomFieldComponent, DbxFormMapboxZoomModule, FORGE_MAPBOX_LATLNG_FIELD_TYPE, FORGE_MAPBOX_ZOOM_FIELD_TYPE, forgeMapboxLatLngField, forgeMapboxZoomField, mapboxLatLngField, mapboxLatLngFieldMapper, mapboxZoomField, mapboxZoomFieldMapper, provideDbxForgeMapboxFieldDeclarations };
523
+ export { DBX_FORGE_MAPBOX_FIELD_TYPES, DEFAULT_DBX_FORGE_MAPBOX_LAT_LNG_FIELD_INJECTION_KEY, DEFAULT_DBX_FORGE_MAPBOX_LAT_LNG_MARKER_CONFIG, DEFAULT_DBX_FORM_MAPBOX_LAT_LNG_FIELD_INJECTION_KEY, DEFAULT_DBX_FORM_MAPBOX_LAT_LNG_MARKER_CONFIG, DbxForgeMapboxLatLngFieldComponent, DbxForgeMapboxLatLngFieldMarkerComponent, DbxForgeMapboxZoomFieldComponent, DbxFormMapboxLatLngFieldComponent, DbxFormMapboxLatLngFieldMarkerComponent, DbxFormMapboxLatLngModule, DbxFormMapboxModule, DbxFormMapboxZoomFieldComponent, DbxFormMapboxZoomModule, FORGE_MAPBOX_LATLNG_FIELD_TYPE, FORGE_MAPBOX_ZOOM_FIELD_TYPE, dbxForgeMapboxLatLngField, dbxForgeMapboxZoomField, mapboxLatLngField, mapboxLatLngFieldMapper, mapboxZoomField, mapboxZoomFieldMapper, provideDbxForgeMapboxFieldDeclarations };
521
524
  export type { DbxForgeMapboxLatLngFieldComponentProps, DbxForgeMapboxLatLngFieldConfig, DbxForgeMapboxLatLngFieldDef, DbxForgeMapboxZoomFieldComponentProps, DbxForgeMapboxZoomFieldConfig, DbxForgeMapboxZoomFieldDef, DbxFormMapboxLatLngComponentFieldProps, DbxFormMapboxZoomComponentFieldProps, MapboxLatLngFieldConfig, MapboxZoomFieldConfig };