@daffodil/design 0.86.0 → 0.87.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 (82) hide show
  1. package/atoms/form/form-field/action/action.directive.d.ts +9 -0
  2. package/atoms/form/form-field/form-field/form-field.component.d.ts +33 -1
  3. package/atoms/form/form-field/form-field.d.ts +2 -1
  4. package/atoms/form/form-field/public_api.d.ts +1 -0
  5. package/button/README.md +58 -42
  6. package/button/button/button-base.directive.d.ts +10 -4
  7. package/button/button.d.ts +22 -1
  8. package/button/public_api.d.ts +1 -1
  9. package/button/src/button/button-base.scss +0 -1
  10. package/button/src/button/raised/raised-theme.scss +3 -3
  11. package/core/statusable/statusable.directive.d.ts +22 -2
  12. package/fesm2022/daffodil-design-article.mjs +2 -2
  13. package/fesm2022/daffodil-design-article.mjs.map +1 -1
  14. package/fesm2022/daffodil-design-button.mjs +58 -16
  15. package/fesm2022/daffodil-design-button.mjs.map +1 -1
  16. package/fesm2022/daffodil-design-form-field-examples.mjs +95 -0
  17. package/fesm2022/daffodil-design-form-field-examples.mjs.map +1 -0
  18. package/fesm2022/daffodil-design-input-examples.mjs +5 -5
  19. package/fesm2022/daffodil-design-input-examples.mjs.map +1 -1
  20. package/fesm2022/daffodil-design-input.mjs +11 -15
  21. package/fesm2022/daffodil-design-input.mjs.map +1 -1
  22. package/fesm2022/daffodil-design-modal-examples.mjs +3 -2
  23. package/fesm2022/daffodil-design-modal-examples.mjs.map +1 -1
  24. package/fesm2022/daffodil-design-modal.mjs +12 -11
  25. package/fesm2022/daffodil-design-modal.mjs.map +1 -1
  26. package/fesm2022/daffodil-design-notification-examples.mjs +3 -3
  27. package/fesm2022/daffodil-design-notification-examples.mjs.map +1 -1
  28. package/fesm2022/daffodil-design-quantity-field-examples.mjs +4 -4
  29. package/fesm2022/daffodil-design-quantity-field-examples.mjs.map +1 -1
  30. package/fesm2022/daffodil-design-select-examples.mjs +117 -0
  31. package/fesm2022/daffodil-design-select-examples.mjs.map +1 -0
  32. package/fesm2022/daffodil-design-select.mjs +431 -0
  33. package/fesm2022/daffodil-design-select.mjs.map +1 -0
  34. package/fesm2022/daffodil-design-textarea-examples.mjs +66 -0
  35. package/fesm2022/daffodil-design-textarea-examples.mjs.map +1 -0
  36. package/fesm2022/daffodil-design-textarea.mjs +124 -0
  37. package/fesm2022/daffodil-design-textarea.mjs.map +1 -0
  38. package/fesm2022/daffodil-design.mjs +135 -11
  39. package/fesm2022/daffodil-design.mjs.map +1 -1
  40. package/form-field/examples/examples.d.ts +3 -0
  41. package/form-field/examples/form-field-appearances/form-field-appearances.component.d.ts +7 -0
  42. package/form-field/examples/form-field-with-action/form-field-with-action.component.d.ts +9 -0
  43. package/form-field/examples/form-field-with-prefix/form-field-with-prefix.component.d.ts +6 -0
  44. package/form-field/examples/form-field-with-suffix/form-field-with-suffix.component.d.ts +6 -0
  45. package/form-field/examples/index.d.ts +1 -0
  46. package/form-field/examples/public_api.d.ts +1 -0
  47. package/input/input.component.d.ts +4 -8
  48. package/modal/modal/modal.component.d.ts +5 -3
  49. package/notification/src/notification-theme.scss +34 -18
  50. package/package.json +1 -1
  51. package/scss/theme.scss +8 -0
  52. package/scss/theming/illuminate/illuminate.scss +2 -0
  53. package/select/README.md +8 -0
  54. package/select/animation/select-animation-state.d.ts +7 -0
  55. package/select/animation/select-animation.d.ts +4 -0
  56. package/select/animation/state.enum.d.ts +4 -0
  57. package/select/examples/default-select/default-select.component.d.ts +8 -0
  58. package/select/examples/disabled-select/disabled-select.component.d.ts +8 -0
  59. package/select/examples/index.d.ts +1 -0
  60. package/select/examples/models/address.type.d.ts +7 -0
  61. package/select/examples/models/addresses.d.ts +2 -0
  62. package/select/examples/public_api.d.ts +3 -0
  63. package/select/examples/select-with-error/select-with-error.component.d.ts +8 -0
  64. package/select/examples/skeleton-select/skeleton-select.component.d.ts +8 -0
  65. package/select/index.d.ts +1 -0
  66. package/select/option/context.type.d.ts +17 -0
  67. package/select/option/option.directive.d.ts +11 -0
  68. package/select/public_api.d.ts +4 -0
  69. package/select/select/select.component.d.ts +170 -0
  70. package/select/select.d.ts +4 -0
  71. package/select/src/select-theme.scss +75 -0
  72. package/src/atoms/form/form-field/form-field/form-field-theme.scss +35 -8
  73. package/textarea/README.md +28 -0
  74. package/textarea/examples/basic-textarea/basic-textarea.component.d.ts +5 -0
  75. package/textarea/examples/examples.d.ts +2 -0
  76. package/textarea/examples/index.d.ts +1 -0
  77. package/textarea/examples/public_api.d.ts +1 -0
  78. package/textarea/examples/textarea-disabled/textarea-disabled.component.d.ts +7 -0
  79. package/textarea/examples/textarea-error/textarea-error.component.d.ts +7 -0
  80. package/textarea/index.d.ts +1 -0
  81. package/textarea/public_api.d.ts +1 -0
  82. package/textarea/textarea.component.d.ts +59 -0
@@ -0,0 +1,75 @@
1
+ @use 'sass:map';
2
+ @use '../../scss/theming' as *;
3
+ @use '../../scss/core';
4
+
5
+ // stylelint-disable selector-class-pattern
6
+ @mixin daff-select-theme($theme) {
7
+ $base: daff-get-base-color($theme, base);
8
+ $base-contrast: daff-get-base-color($theme, base-contrast);
9
+ $neutral: daff-get-palette($theme, neutral);
10
+ $mode: daff-get-theme-mode($theme);
11
+ $border-color-light: daff-color($neutral, 30);
12
+ $border-color-dark: daff-color($neutral, 70);
13
+
14
+ .daff-select {
15
+ $root: '.daff-select';
16
+
17
+ @include light($mode) {
18
+ &.disabled {
19
+ #{$root}__field {
20
+ color: daff-color($neutral, 50);
21
+ }
22
+ }
23
+
24
+ &__option {
25
+ background-color: $base;
26
+ border-bottom: 1px solid $border-color-light;
27
+ border-left: 1px solid $border-color-light;
28
+ border-right: 1px solid $border-color-light;
29
+ color: $base-contrast;
30
+
31
+ &:first-of-type {
32
+ border-top: 1px solid $border-color-light;
33
+ }
34
+
35
+ &:hover,
36
+ &.highlighted {
37
+ background-color: daff-color($neutral, 10);
38
+ }
39
+ }
40
+ }
41
+
42
+ @include dark($mode) {
43
+ &.disabled {
44
+ #{$root}__field {
45
+ color: daff-color($neutral, 70);
46
+ }
47
+ }
48
+
49
+ &__option {
50
+ background-color: $base;
51
+ border-bottom: 1px solid $border-color-dark;
52
+ border-left: 1px solid $border-color-dark;
53
+ border-right: 1px solid $border-color-dark;
54
+ color: $base-contrast;
55
+
56
+ &:first-of-type {
57
+ border-top: 1px solid $border-color-dark;
58
+ }
59
+
60
+ &:hover,
61
+ &.highlighted {
62
+ background-color: daff-color($neutral, 90);
63
+ }
64
+ }
65
+ }
66
+
67
+ &__field {
68
+ color: $base-contrast;
69
+
70
+ &::after {
71
+ border-color: daff-color($neutral);
72
+ }
73
+ }
74
+ }
75
+ }
@@ -10,11 +10,23 @@
10
10
  $neutral: daff-get-palette($theme, neutral);
11
11
  $mode: daff-get-theme-mode($theme);
12
12
 
13
+ // stylelint-disable selector-class-pattern
13
14
  .daff-form-field {
14
15
  @include light($mode) {
15
16
  .daff-form-field__control {
16
17
  border: 1px solid daff-color($neutral);
17
18
  color: daff-color($neutral);
19
+
20
+ * {
21
+ ::-webkit-input-placeholder {
22
+ color: daff-color($neutral);
23
+ }
24
+ }
25
+ }
26
+
27
+ .daff-prefix,
28
+ .daff-suffix {
29
+ color: daff-color($neutral);
18
30
  }
19
31
  }
20
32
 
@@ -22,6 +34,17 @@
22
34
  .daff-form-field__control {
23
35
  border: 1px solid daff-color($neutral, 40);
24
36
  color: daff-color($neutral, 40);
37
+
38
+ * {
39
+ ::-webkit-input-placeholder {
40
+ color: daff-color($neutral, 40);
41
+ }
42
+ }
43
+ }
44
+
45
+ .daff-prefix,
46
+ .daff-suffix {
47
+ color: daff-color($neutral, 40);
25
48
  }
26
49
  }
27
50
 
@@ -30,10 +53,12 @@
30
53
  border: 1px solid daff-color($primary);
31
54
  }
32
55
 
33
- .daff-form-label,
34
- label,
35
- .daff-form-field__label {
36
- color: daff-color($primary);
56
+ &.fluid {
57
+ .daff-form-label,
58
+ label,
59
+ .daff-form-field__label {
60
+ color: daff-color($primary);
61
+ }
37
62
  }
38
63
  }
39
64
 
@@ -42,10 +67,12 @@
42
67
  border: 1px solid daff-color($critical);
43
68
  }
44
69
 
45
- .daff-form-label,
46
- label,
47
- .daff-form-field__label {
48
- color: daff-color($critical);
70
+ &.fluid {
71
+ .daff-form-label,
72
+ label,
73
+ .daff-form-field__label {
74
+ color: daff-color($critical);
75
+ }
49
76
  }
50
77
  }
51
78
 
@@ -0,0 +1,28 @@
1
+ # Textarea
2
+ Textarea allows a native HTML `<textarea>` element to work with the [Form Field](/libs/design/src/atoms/form/form-field/README.md) component.
3
+
4
+ ## Overview
5
+ The textarea component has the same functionality as a native HTML `<textarea>` element, with additional custom styling and functionality. It **cannot** be used by itself and must be contained within a [DaffFormFieldComponent](/libs/design/src/atoms/form/form-field/README.md).
6
+
7
+ <design-land-example-viewer-container example="basic-textarea"></design-land-example-viewer-container>
8
+
9
+ ## Usage
10
+ To use textarea, import `DaffTextareaComponent` directly into your custom component:
11
+
12
+ ```ts
13
+ import { DaffTextareaComponent } from '@daffodil/design/textarea';
14
+
15
+ @Component({
16
+ selector: 'custom-component',
17
+ templateUrl: './custom-component.component.html',
18
+ imports: [
19
+ DaffTextareaComponent,
20
+ ],
21
+ })
22
+ export class CustomComponent {}
23
+ ```
24
+
25
+ ## Examples
26
+
27
+ ### Disabled textarea
28
+ <design-land-example-viewer-container example="basic-textarea"></design-land-example-viewer-container>
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class BasicTextareaComponent {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<BasicTextareaComponent, never>;
4
+ static ɵcmp: i0.ɵɵComponentDeclaration<BasicTextareaComponent, "basic-textarea", never, {}, {}, never, never, true, never>;
5
+ }
@@ -0,0 +1,2 @@
1
+ import { BasicTextareaComponent } from './basic-textarea/basic-textarea.component';
2
+ export declare const TEXTAREA_EXAMPLES: (typeof BasicTextareaComponent)[];
@@ -0,0 +1 @@
1
+ export * from './public_api';
@@ -0,0 +1 @@
1
+ export { TEXTAREA_EXAMPLES } from './examples';
@@ -0,0 +1,7 @@
1
+ import { UntypedFormControl } from '@angular/forms';
2
+ import * as i0 from "@angular/core";
3
+ export declare class TextareaDisabledComponent {
4
+ disabled: UntypedFormControl;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<TextareaDisabledComponent, never>;
6
+ static ɵcmp: i0.ɵɵComponentDeclaration<TextareaDisabledComponent, "textarea-disabled", never, {}, {}, never, never, true, never>;
7
+ }
@@ -0,0 +1,7 @@
1
+ import { UntypedFormControl } from '@angular/forms';
2
+ import * as i0 from "@angular/core";
3
+ export declare class TextareaErrorComponent {
4
+ control: UntypedFormControl;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<TextareaErrorComponent, never>;
6
+ static ɵcmp: i0.ɵɵComponentDeclaration<TextareaErrorComponent, "textarea-error", never, {}, {}, never, never, true, never>;
7
+ }
@@ -0,0 +1 @@
1
+ export * from './public_api';
@@ -0,0 +1 @@
1
+ export { DaffTextareaComponent } from './textarea.component';
@@ -0,0 +1,59 @@
1
+ import { ElementRef, OnInit } from '@angular/core';
2
+ import { NgControl } from '@angular/forms';
3
+ import { DaffFormFieldComponent, DaffFormFieldControl } from '@daffodil/design';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * DaffTextareaComponent provides the same functionality as a native `<textarea>` and contains custom styling and functionality.
7
+ */
8
+ export declare class DaffTextareaComponent extends DaffFormFieldControl<string> implements DaffFormFieldControl<string>, OnInit {
9
+ /**
10
+ * @docs-private
11
+ */
12
+ ngControl: NgControl;
13
+ private _elementRef;
14
+ private formField;
15
+ /** @docs-private */
16
+ controlType: string;
17
+ /**
18
+ * @docs-private
19
+ */
20
+ class: boolean;
21
+ /**
22
+ * @docs-private
23
+ */
24
+ focused: boolean;
25
+ private get _id();
26
+ /**
27
+ * @docs-private
28
+ */
29
+ get internalId(): string;
30
+ /**
31
+ * @docs-private
32
+ */
33
+ focus(): void;
34
+ /**
35
+ * @docs-private
36
+ */
37
+ blur(): void;
38
+ /**
39
+ * @docs-private
40
+ */
41
+ get ariaDescribedBy(): string;
42
+ constructor(
43
+ /**
44
+ * @docs-private
45
+ */
46
+ ngControl: NgControl, _elementRef: ElementRef<HTMLInputElement>, formField: DaffFormFieldComponent);
47
+ /** @docs-private */
48
+ ngOnInit(): void;
49
+ /**
50
+ * @docs-private
51
+ */
52
+ onFocus(): void;
53
+ /**
54
+ * @docs-private
55
+ */
56
+ get value(): string;
57
+ static ɵfac: i0.ɵɵFactoryDeclaration<DaffTextareaComponent, [{ optional: true; self: true; }, null, null]>;
58
+ static ɵcmp: i0.ɵɵComponentDeclaration<DaffTextareaComponent, "textarea[daff-textarea]", never, {}, {}, never, ["*"], true, never>;
59
+ }