@dereekb/dbx-form 13.17.0 → 13.18.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 (46) hide show
  1. package/fesm2022/dereekb-dbx-form-calendar.mjs +53 -316
  2. package/fesm2022/dereekb-dbx-form-calendar.mjs.map +1 -1
  3. package/fesm2022/{dereekb-dbx-form-expand.field.component-xIW9lckC.mjs → dereekb-dbx-form-expand.field.component-uqVNtX2s.mjs} +3 -3
  4. package/fesm2022/{dereekb-dbx-form-expand.field.component-xIW9lckC.mjs.map → dereekb-dbx-form-expand.field.component-uqVNtX2s.mjs.map} +1 -1
  5. package/fesm2022/dereekb-dbx-form-mapbox.mjs +10 -538
  6. package/fesm2022/dereekb-dbx-form-mapbox.mjs.map +1 -1
  7. package/fesm2022/dereekb-dbx-form-style-demo.mjs +417 -0
  8. package/fesm2022/dereekb-dbx-form-style-demo.mjs.map +1 -0
  9. package/fesm2022/dereekb-dbx-form.mjs +1953 -9085
  10. package/fesm2022/dereekb-dbx-form.mjs.map +1 -1
  11. package/lib/extension/calendar/_calendar.scss +3 -3
  12. package/lib/forge/field/_field.scss +15 -0
  13. package/lib/forge/field/selection/pickable/_pickable.scss +11 -6
  14. package/lib/forge/field/selection/searchable/_searchable.scss +71 -3
  15. package/lib/forge/field/selection/sourceselect/_sourceselect.scss +1 -1
  16. package/lib/{formly → forge}/field/texteditor/_texteditor.scss +7 -3
  17. package/lib/{formly → forge}/field/value/array/_array.scss +4 -4
  18. package/lib/{formly → forge}/field/value/date/_date.scss +5 -9
  19. package/lib/{formly → forge}/field/value/duration/_duration.scss +7 -7
  20. package/lib/{formly → forge}/field/value/phone/_phone.scss +1 -1
  21. package/lib/forge/preset/_preset.scss +4 -4
  22. package/lib/forge/style/_shared.scss +9 -0
  23. package/lib/form/_form.scss +3 -0
  24. package/lib/style/_all-core.scss +0 -4
  25. package/lib/style/_all-theme.scss +0 -4
  26. package/lib/style/_all-typography.scss +0 -2
  27. package/package.json +12 -10
  28. package/style-demo/README.md +7 -0
  29. package/types/dereekb-dbx-form-calendar.d.ts +81 -232
  30. package/types/dereekb-dbx-form-mapbox.d.ts +9 -250
  31. package/types/dereekb-dbx-form-style-demo.d.ts +195 -0
  32. package/types/dereekb-dbx-form.d.ts +4191 -8496
  33. package/lib/formly/_formly.scss +0 -17
  34. package/lib/formly/field/_field.scss +0 -27
  35. package/lib/formly/field/checklist/_checklist.scss +0 -49
  36. package/lib/formly/field/component/_component.scss +0 -10
  37. package/lib/formly/field/selection/_selection.scss +0 -21
  38. package/lib/formly/field/selection/list/_list.scss +0 -15
  39. package/lib/formly/field/selection/pickable/_pickable.scss +0 -18
  40. package/lib/formly/field/selection/searchable/_searchable.scss +0 -88
  41. package/lib/formly/field/selection/sourceselect/_sourceselect.scss +0 -42
  42. package/lib/formly/field/value/_value.scss +0 -30
  43. package/lib/formly/field/value/boolean/_boolean.scss +0 -52
  44. package/lib/formly/field/value/number/_number.scss +0 -17
  45. package/lib/formly/field/value/text/_text.scss +0 -10
  46. package/lib/formly/field/wrapper/_wrapper.scss +0 -31
@@ -1,17 +0,0 @@
1
- @use '../style/theming';
2
-
3
- // MARK: Variables
4
-
5
- // MARK: Mixin
6
- @mixin core() {
7
- // MARK: Material Global Styles
8
-
9
- .mat-mdc-form-field,
10
- .dbx-forge-form-field {
11
- // in Angular Material 16 when using dynamic padding there is no space reserved between fields; the only space is the hint or error if applicable. This adds a minor amount of padding to each input. The forge form-field wrapper opts in via its own host class so spacing is identical for both formly Material fields and forge wrapper fields.
12
- padding: 6px 0;
13
- }
14
- }
15
-
16
- @mixin theme($theme-config) {
17
- }
@@ -1,27 +0,0 @@
1
- @use './checklist/checklist';
2
- @use './component/component';
3
- @use './selection/selection';
4
- @use './texteditor/texteditor';
5
- @use './value/value';
6
- @use './wrapper/wrapper';
7
-
8
- @mixin all-field-core() {
9
- @include checklist.core();
10
- @include component.core();
11
- @include selection.all-selection-core();
12
- @include texteditor.core();
13
- @include value.all-value-core();
14
- @include wrapper.core();
15
- }
16
-
17
- @mixin all-field-typography($theme-config) {
18
- }
19
-
20
- @mixin all-field-theme($theme-config) {
21
- @include checklist.theme($theme-config);
22
- @include component.theme($theme-config);
23
- @include selection.all-selection-theme($theme-config);
24
- @include texteditor.theme($theme-config);
25
- @include value.all-value-theme($theme-config);
26
- @include wrapper.theme($theme-config);
27
- }
@@ -1,49 +0,0 @@
1
- @use '../../../style/theming';
2
-
3
- // MARK: Variables
4
- $dbx-checklist-item-spacing: 8px;
5
-
6
- // MARK: Mixin
7
- @mixin core() {
8
- .dbx-checklist-item {
9
- @include theming.elevation(1);
10
- margin-bottom: 8px;
11
-
12
- display: flex;
13
- flex-direction: row;
14
- align-items: center;
15
- justify-content: left;
16
-
17
- .dbx-checklist-item-check {
18
- flex: auto 0 0;
19
- // margin-right: $dbx-checklist-item-spacing;
20
- padding: 12px;
21
- }
22
-
23
- .dbx-checklist-item-content-wrapper {
24
- height: 100%;
25
- width: 100%;
26
- }
27
-
28
- .dbx-checklist-item-content {
29
- display: flex;
30
- align-items: center;
31
-
32
- min-height: 44px;
33
- flex: auto 1 1;
34
- padding: $dbx-checklist-item-spacing 0;
35
- padding-left: $dbx-checklist-item-spacing;
36
- border-left: 1px solid black;
37
- }
38
- }
39
-
40
- .dbx-default-checklist-item-field {
41
- .item-label {
42
- font-size: 1.35em;
43
- line-height: 1.35em;
44
- }
45
- }
46
- }
47
-
48
- @mixin theme($theme-config) {
49
- }
@@ -1,10 +0,0 @@
1
- @use '../../../style/theming';
2
-
3
- // MARK: Variables
4
-
5
- // MARK: Mixin
6
- @mixin core() {
7
- }
8
-
9
- @mixin theme($theme-config) {
10
- }
@@ -1,21 +0,0 @@
1
- @use './list/list';
2
- @use './pickable/pickable';
3
- @use './searchable/searchable';
4
- @use './sourceselect/sourceselect';
5
-
6
- @mixin all-selection-core() {
7
- @include list.core();
8
- @include pickable.core();
9
- @include searchable.core();
10
- @include sourceselect.core();
11
- }
12
-
13
- @mixin all-selection-typography($theme-config) {
14
- }
15
-
16
- @mixin all-selection-theme($theme-config) {
17
- @include list.theme($theme-config);
18
- @include pickable.theme($theme-config);
19
- @include searchable.theme($theme-config);
20
- @include sourceselect.theme($theme-config);
21
- }
@@ -1,15 +0,0 @@
1
- @use '../../../../style/theming';
2
-
3
- // MARK: Variables
4
- $dbx-list-item-field-content-max-height: 300px;
5
-
6
- // MARK: Mixin
7
- @mixin core() {
8
- .dbx-list-item-field-content {
9
- max-height: $dbx-list-item-field-content-max-height;
10
- overflow: auto;
11
- }
12
- }
13
-
14
- @mixin theme($theme-config) {
15
- }
@@ -1,18 +0,0 @@
1
- @use '../../../../style/theming';
2
-
3
- // MARK: Variables
4
-
5
- // MARK: Mixin
6
- @mixin core() {
7
- .dbx-pickable-item-field-filter {
8
- margin-bottom: 4px;
9
- }
10
-
11
- .dbx-pickable-item-field-list-content {
12
- max-height: 400px;
13
- overflow: auto;
14
- }
15
- }
16
-
17
- @mixin theme($theme-config) {
18
- }
@@ -1,88 +0,0 @@
1
- @use '../../../../style/theming';
2
-
3
- // MARK: Variables
4
-
5
- // MARK: Mixin
6
- @mixin core() {
7
- .dbx-searchable-text-field-value {
8
- width: 100%;
9
- }
10
-
11
- .dbx-searchable-text-field-autocomplete > .mat-mdc-option > .mdc-list-item__primary-text {
12
- width: 100%;
13
- }
14
-
15
- // When a mat-option wraps a dbx-anchor, the anchor must cover the entire option surface so that
16
- // every click lands inside the anchor's child click target (where the override click handler is
17
- // attached). Otherwise clicks on the mat-option's padding/edge land on mat-option itself,
18
- // bypassing dbx-anchor's onClick handler — selection still fires (via mat-option's own click
19
- // listener) but the anchor click is silently dropped. Inner padding is provided by
20
- // .dbx-default-searchable-field-display.
21
- //
22
- // The .mdc-list-item compound is needed to outweigh Material's own .mat-mdc-option.mdc-list-item
23
- // rule (which sets align-items: center).
24
- .mat-mdc-option.mdc-list-item.dbx-searchable-field-anchor-option {
25
- padding: 0;
26
- // Override mat-option's default align-items: center so the inner chain can stretch vertically.
27
- align-items: stretch;
28
-
29
- > .mdc-list-item__primary-text {
30
- width: 100%;
31
- margin: 0;
32
- display: flex;
33
- align-items: stretch;
34
- }
35
-
36
- dbx-searchable-field-autocomplete-item,
37
- dbx-anchor,
38
- .dbx-anchor-a {
39
- display: flex;
40
- align-items: stretch;
41
- flex: 1;
42
- width: 100%;
43
- }
44
-
45
- // The clickOverride listener is registered on the inner <span> (childClickTarget). It must
46
- // cover the full option surface so clicks anywhere on the option land inside it; otherwise
47
- // the synthetic click + onClick handler is silently dropped.
48
- .dbx-anchor-a > span {
49
- display: flex;
50
- align-items: center;
51
- flex: 1;
52
- width: 100%;
53
- }
54
- }
55
-
56
- .dbx-chip-input-error {
57
- display: block;
58
- font-size: 12px;
59
- padding: 4px 0 0;
60
- color: var(--mdc-theme-error, #f44336);
61
- }
62
-
63
- .dbx-default-searchable-field-display {
64
- padding: 0 16px;
65
- }
66
-
67
- .dbx-searchable-text-field-has-value.dbx-searchable-text-field-show-value {
68
- .dbx-searchable-text-field-value {
69
- margin-bottom: -6px;
70
- }
71
-
72
- // hide without clearing display, which will prevent the input from being clickable.
73
- .dbx-searchable-text-field-input {
74
- margin-top: 0;
75
- height: 0;
76
- opacity: 0;
77
- }
78
- }
79
-
80
- .mat-focused .dbx-searchable-text-field-has-value.dbx-searchable-text-field-show-value .dbx-searchable-text-field-input {
81
- margin-top: 8px;
82
- opacity: unset;
83
- height: unset;
84
- }
85
- }
86
-
87
- @mixin theme($theme-config) {
88
- }
@@ -1,42 +0,0 @@
1
- @use '../../../../style/theming';
2
-
3
- // MARK: Variables
4
-
5
- // MARK: Mixin
6
- @mixin core() {
7
- .dbx-source-select-field-content {
8
- display: flex;
9
-
10
- .dbx-source-select-field-button {
11
- margin-top: -12px;
12
- height: 10px;
13
- overflow: visible;
14
- }
15
- }
16
-
17
- .dbx-source-select-filter-container {
18
- position: sticky;
19
- top: 0;
20
- z-index: 1;
21
- background: var(--mat-select-panel-background-color, var(--mat-sys-surface-container));
22
- padding: 8px 16px;
23
- border-bottom: 1px solid rgba(0, 0, 0, 0.12);
24
- }
25
-
26
- .dbx-source-select-filter-input {
27
- width: 100%;
28
- border: none;
29
- outline: none;
30
- background: transparent;
31
- color: inherit;
32
- font-size: 14px;
33
- line-height: 1.5;
34
- }
35
-
36
- .dbx-source-select-filterable-panel {
37
- padding-top: 0 !important;
38
- }
39
- }
40
-
41
- @mixin theme($theme-config) {
42
- }
@@ -1,30 +0,0 @@
1
- @use './array/array';
2
- @use './boolean/boolean';
3
- @use './date/date';
4
- @use './duration/duration';
5
- @use './number/number';
6
- @use './phone/phone';
7
- @use './text/text';
8
-
9
- @mixin all-value-core() {
10
- @include array.core();
11
- @include boolean.core();
12
- @include date.core();
13
- @include duration.core();
14
- @include number.core();
15
- @include phone.core();
16
- @include text.core();
17
- }
18
-
19
- @mixin all-value-typography($theme-config) {
20
- }
21
-
22
- @mixin all-value-theme($theme-config) {
23
- @include array.theme($theme-config);
24
- @include boolean.theme($theme-config);
25
- @include date.theme($theme-config);
26
- @include duration.theme($theme-config);
27
- @include number.theme($theme-config);
28
- @include phone.theme($theme-config);
29
- @include text.theme($theme-config);
30
- }
@@ -1,52 +0,0 @@
1
- @use '../../../../style/theming';
2
-
3
- // MARK: Variables
4
-
5
- // MARK: Mixin
6
- @mixin core() {
7
- .dbx-mat-form-checkbox-field-wrapper .mat-mdc-form-field-type-checkbox.mat-form-field-appearance-outline .mat-mdc-form-field-infix {
8
- padding: 0;
9
-
10
- .mat-mdc-checkbox {
11
- display: block;
12
-
13
- .mdc-form-field {
14
- width: 100%;
15
-
16
- .mdc-label {
17
- user-select: none;
18
- width: 100%;
19
- min-height: 60px;
20
- display: inline-flex;
21
- align-items: center;
22
- padding: 6px 0;
23
- }
24
- }
25
- }
26
- }
27
-
28
- .dbx-mat-form-toggle-field-wrapper .mat-mdc-form-field-type-toggle.mat-form-field-appearance-outline .mat-mdc-form-field-infix {
29
- padding: 0;
30
-
31
- .mat-mdc-slide-toggle {
32
- display: block;
33
-
34
- .mdc-form-field {
35
- width: 100%;
36
-
37
- .mdc-label {
38
- user-select: none;
39
- width: 100%;
40
- min-height: 60px;
41
- display: inline-flex;
42
- align-items: center;
43
- padding-top: 6px;
44
- padding-bottom: 6px;
45
- }
46
- }
47
- }
48
- }
49
- }
50
-
51
- @mixin theme($theme-config) {
52
- }
@@ -1,17 +0,0 @@
1
- @use 'sass:map';
2
- @use '../../../../style/theming';
3
-
4
- // MARK: Variables
5
- $dbx-formly-number-slider-field-thumb-label-margin-fix-size: 22px;
6
-
7
- // MARK: Mixin
8
- @mixin core() {
9
- // slider field fix
10
- .mat-form-field-appearance-outline .mat-mdc-form-field-infix > formly-field-mat-slider > .mat-mdc-slider {
11
- margin: $dbx-formly-number-slider-field-thumb-label-margin-fix-size $dbx-formly-number-slider-field-thumb-label-margin-fix-size 0;
12
- width: calc(100% - #{$dbx-formly-number-slider-field-thumb-label-margin-fix-size * 2}) !important;
13
- }
14
- }
15
-
16
- @mixin theme($theme-config) {
17
- }
@@ -1,10 +0,0 @@
1
- @use '../../../../style/theming';
2
-
3
- // MARK: Variables
4
-
5
- // MARK: Mixin
6
- @mixin core() {
7
- }
8
-
9
- @mixin theme($theme-config) {
10
- }
@@ -1,31 +0,0 @@
1
- @use '../../../style/theming';
2
-
3
- // MARK: Variables
4
- $form-flex-section-group-padding: 4px;
5
- $form-flex-section-group-item-padding: $form-flex-section-group-padding * 2;
6
-
7
- // MARK: Mixin
8
- @mixin core() {
9
- .dbx-mat-form-field-disable-underline {
10
- > formly-wrapper-mat-form-field {
11
- > mat-form-field.mat-mdc-form-field {
12
- > .mat-mdc-form-field-wrapper > .mat-mdc-form-field-underline {
13
- display: none;
14
- }
15
- }
16
- }
17
- }
18
-
19
- .dbx-form-expand-wrapper-button {
20
- text-decoration: underline;
21
- margin-right: 8px;
22
- margin-bottom: 6px;
23
- }
24
-
25
- .dbx-form-toggle-wrapper-toggle {
26
- margin-bottom: 6px;
27
- }
28
- }
29
-
30
- @mixin theme($theme-config) {
31
- }