@theseam/ui-common 0.4.24 → 0.4.26

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 (71) hide show
  1. package/esm2020/data-filters/filters/data-filter-search/data-filter-search.component.mjs +1 -1
  2. package/esm2020/data-filters/filters/data-filter-text/data-filter-text.component.mjs +1 -1
  3. package/esm2020/datatable/datatable/datatable.component.mjs +3 -3
  4. package/esm2020/datatable/datatable-action-menu/datatable-action-menu.component.mjs +3 -3
  5. package/esm2020/datatable/datatable-column-preferences/datatable-column-preferences.component.mjs +1 -1
  6. package/esm2020/form-field/input.directive.mjs +8 -4
  7. package/esm2020/framework/schema-form-controls/schema-form-input/schema-form-input.component.mjs +1 -1
  8. package/esm2020/framework/schema-form-controls/schema-form-number/schema-form-number.component.mjs +1 -1
  9. package/esm2020/framework/schema-form-controls/schema-form-select/schema-form-select.component.mjs +2 -2
  10. package/esm2020/framework/schema-form-controls/schema-form-tel/schema-form-tel.component.mjs +2 -2
  11. package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.mjs +3 -3
  12. package/esm2020/rich-text/public-api.mjs +5 -0
  13. package/esm2020/rich-text/rich-text/rich-text.component.mjs +573 -0
  14. package/esm2020/rich-text/rich-text.module.mjs +32 -0
  15. package/esm2020/rich-text/theseam-ui-common-rich-text.mjs +5 -0
  16. package/esm2020/rich-text/utils/models.mjs +24 -0
  17. package/esm2020/rich-text/utils/utils.mjs +123 -0
  18. package/esm2020/tel-input/tel-input/tel-input.component.mjs +2 -2
  19. package/esm2020/utils/geo-json/coerce-feature-collection.mjs +1 -1
  20. package/esm2020/utils/geo-json/is-feature-collection.validator.mjs +1 -1
  21. package/esm2020/utils/geo-json/is-only-geometry-types.mjs +1 -1
  22. package/esm2020/utils/geo-json/merge-polygons.mjs +1 -1
  23. package/esm2020/utils/geo-json/no-inner-rings.validator.mjs +1 -1
  24. package/esm2020/utils/geo-json/split-multi-polygons.mjs +1 -1
  25. package/esm2020/utils/is-null-or-undefined-or-empty.mjs +4 -0
  26. package/esm2020/utils/not-null-or-undefined-or-empty.mjs +4 -0
  27. package/esm2020/utils/public-api.mjs +3 -1
  28. package/fesm2015/theseam-ui-common-data-filters.mjs +2 -2
  29. package/fesm2015/theseam-ui-common-data-filters.mjs.map +1 -1
  30. package/fesm2015/theseam-ui-common-datatable.mjs +5 -5
  31. package/fesm2015/theseam-ui-common-datatable.mjs.map +1 -1
  32. package/fesm2015/theseam-ui-common-form-field.mjs +7 -3
  33. package/fesm2015/theseam-ui-common-form-field.mjs.map +1 -1
  34. package/fesm2015/theseam-ui-common-framework.mjs +4 -4
  35. package/fesm2015/theseam-ui-common-framework.mjs.map +1 -1
  36. package/fesm2015/theseam-ui-common-google-maps.mjs +2 -2
  37. package/fesm2015/theseam-ui-common-google-maps.mjs.map +1 -1
  38. package/fesm2015/theseam-ui-common-rich-text.mjs +744 -0
  39. package/fesm2015/theseam-ui-common-rich-text.mjs.map +1 -0
  40. package/fesm2015/theseam-ui-common-tel-input.mjs +1 -1
  41. package/fesm2015/theseam-ui-common-tel-input.mjs.map +1 -1
  42. package/fesm2015/theseam-ui-common-utils.mjs +9 -1
  43. package/fesm2015/theseam-ui-common-utils.mjs.map +1 -1
  44. package/fesm2020/theseam-ui-common-data-filters.mjs +2 -2
  45. package/fesm2020/theseam-ui-common-data-filters.mjs.map +1 -1
  46. package/fesm2020/theseam-ui-common-datatable.mjs +5 -5
  47. package/fesm2020/theseam-ui-common-datatable.mjs.map +1 -1
  48. package/fesm2020/theseam-ui-common-form-field.mjs +7 -3
  49. package/fesm2020/theseam-ui-common-form-field.mjs.map +1 -1
  50. package/fesm2020/theseam-ui-common-framework.mjs +4 -4
  51. package/fesm2020/theseam-ui-common-framework.mjs.map +1 -1
  52. package/fesm2020/theseam-ui-common-google-maps.mjs +2 -2
  53. package/fesm2020/theseam-ui-common-google-maps.mjs.map +1 -1
  54. package/fesm2020/theseam-ui-common-rich-text.mjs +752 -0
  55. package/fesm2020/theseam-ui-common-rich-text.mjs.map +1 -0
  56. package/fesm2020/theseam-ui-common-tel-input.mjs +1 -1
  57. package/fesm2020/theseam-ui-common-tel-input.mjs.map +1 -1
  58. package/fesm2020/theseam-ui-common-utils.mjs +9 -1
  59. package/fesm2020/theseam-ui-common-utils.mjs.map +1 -1
  60. package/form-field/input.directive.d.ts +2 -1
  61. package/package.json +9 -1
  62. package/rich-text/index.d.ts +5 -0
  63. package/rich-text/public-api.d.ts +4 -0
  64. package/rich-text/rich-text/rich-text.component.d.ts +192 -0
  65. package/rich-text/rich-text.module.d.ts +10 -0
  66. package/rich-text/utils/models.d.ts +343 -0
  67. package/rich-text/utils/utils.d.ts +14 -0
  68. package/styles/vendor/quill/_quill.scss +162 -10
  69. package/utils/is-null-or-undefined-or-empty.d.ts +1 -0
  70. package/utils/not-null-or-undefined-or-empty.d.ts +1 -0
  71. package/utils/public-api.d.ts +2 -0
@@ -1,26 +1,178 @@
1
1
  @import 'quill/dist/quill.core';
2
2
  @import 'quill/dist/quill.bubble';
3
3
  @import 'quill/dist/quill.snow';
4
+ @import 'quill-mention/dist/quill.mention';
5
+
6
+ $quill-input-border-radius: $input-border-radius !default;
7
+
8
+ $quill-mention-menu-bg: $dropdown-bg !default;
9
+ $quill-mention-menu-border-color: $dropdown-border-color !default;
10
+ $quill-mention-menu-border-radius: $dropdown-border-radius !default;
11
+ $quill-mention-menu-border-width: $dropdown-border-width !default;
12
+ $quill-mention-menu-box-shadow: $dropdown-box-shadow !default;
13
+ $quill-mention-menu-color: $dropdown-color !default;
14
+ $quill-mention-menu-font-size: $dropdown-font-size !default;
15
+ $quill-mention-menu-margin: 0 !default;
16
+ $quill-mention-menu-min-width: $dropdown-min-width !default;
17
+ $quill-mention-menu-padding: $dropdown-padding-y $dropdown-padding-x !default;
18
+ $quill-mention-menu-text-align: left !default;
19
+
20
+ $quill-mention-menu-loading-color: rgba(black, .5) !default;
21
+ $quill-mention-menu-loading-text-align: center !default;
22
+
23
+ $quill-mention-menu-item-line-height: 24px !default;
24
+ $quill-mention-menu-item-padding: .25rem 1.5rem !default;
25
+
26
+ $quill-mention-menu-divider-bg: $dropdown-divider-bg !default;
27
+ $quill-mention-menu-divider-margin: $dropdown-divider-margin-y 0 !default;
28
+
29
+ $quill-mention-menu-item-selected-bg: $primary !default;
30
+ $quill-mention-menu-item-selected-color: white !default;
31
+
32
+ $quill-mention-menu-item-disabled-color: rgba(black, .5) !default;
33
+
34
+ $quill-mention-menu-item-group-name-color: $quill-mention-menu-item-disabled-color !default;
35
+ $quill-mention-menu-item-group-name-font-size: $small-font-size !default;
36
+
37
+ $quill-mention-bg: $quill-mention-menu-item-selected-bg !default;
38
+ $quill-mention-color: $quill-mention-menu-item-selected-color !default;
39
+ $quill-mention-border-radius: 1rem !default;
40
+ $quill-mention-padding: 3px !default;
41
+ $quill-mention-denotation-margin: 0 0 2px 0 !default;
4
42
 
5
43
  quill-editor {
6
- display: block;
44
+ display: flex;
45
+ flex-direction: column;
46
+ @include border-top-radius($quill-input-border-radius);
47
+ @include border-bottom-radius($quill-input-border-radius);
7
48
 
8
- .ql-snow.ql-toolbar {
9
- @include border-top-radius($input-border-radius);
49
+ .ql-container {
50
+ flex-grow: 1;
51
+ font-family: inherit;
52
+ font-size: inherit;
53
+ }
10
54
 
55
+ .ql-snow.ql-toolbar {
56
+ @include border-top-radius($quill-input-border-radius);
11
57
  }
58
+
12
59
  .ql-snow.ql-container {
13
- @include border-bottom-radius($input-border-radius);
60
+ @include border-top-radius($quill-input-border-radius);
61
+ @include border-bottom-radius($quill-input-border-radius);
62
+ }
63
+
64
+ .ql-snow.ql-toolbar + .ql-snow.ql-container {
65
+ @include border-top-radius(0px);
66
+ }
67
+
68
+ // overwrites ql styles with bootstrap styles,
69
+ // which matches final rendering better
70
+ .ql-snow .ql-editor {
71
+ @import "bootstrap/scss/reboot";
72
+ @import "bootstrap/scss/type";
73
+ }
74
+
75
+ &:focus-within {
76
+ color: $input-focus-color;
77
+ background-color: $input-focus-bg;
78
+ outline: 0;
79
+ @if $enable-shadows {
80
+ @include box-shadow($input-box-shadow, $input-focus-box-shadow);
81
+ } @else {
82
+ // Avoid using mixin so we can pass custom focus shadow properly
83
+ box-shadow: $input-focus-box-shadow;
84
+ }
85
+
86
+ .ql-toolbar,
87
+ .ql-container {
88
+ border-color: $input-focus-border-color;
89
+ }
90
+ }
91
+
92
+ seam-rich-text.is-invalid & {
93
+ .ql-toolbar,
94
+ .ql-container {
95
+ border-color: $form-feedback-invalid-color;
96
+ }
97
+
98
+ &:focus-within {
99
+ box-shadow: 0 0 0 $input-focus-width rgba($form-feedback-invalid-color, .25);
100
+ }
101
+ }
102
+
103
+ &.disabled,
104
+ &:disabled {
105
+ pointer-events: none;
106
+
107
+ .ql-formats {
108
+ opacity: .5;
109
+ }
110
+
111
+ .ql-toolbar,
112
+ .ql-container {
113
+ background-color: $input-disabled-bg;
114
+ }
115
+ }
116
+ }
117
+
118
+ // copied from seam-menu
119
+ .ql-mention-list-container {
120
+ max-height: 90vh;
121
+ list-style: none;
122
+ background-clip: padding-box;
123
+ text-align: $quill-mention-menu-text-align;
124
+ min-width: $quill-mention-menu-min-width;
125
+ padding: $quill-mention-menu-padding;
126
+ margin: $quill-mention-menu-margin;
127
+ color: $quill-mention-menu-color;
128
+ background: $quill-mention-menu-bg;
129
+ border: $quill-mention-menu-border-width solid $quill-mention-menu-border-color;
130
+ @include font-size($quill-mention-menu-font-size);
131
+ @include border-radius($quill-mention-menu-border-radius);
132
+ @include box-shadow($quill-mention-menu-box-shadow);
14
133
 
134
+ .ql-mention-loading {
135
+ color: $quill-mention-menu-loading-color;
136
+ text-align: $quill-mention-menu-loading-text-align;
15
137
  }
16
138
 
17
- @each $state, $data in $form-validation-states {
18
- &.is-#{$state} {
19
- .ql-toolbar,
20
- .ql-container {
21
- border-color: map-get($data, color);
22
- }
139
+ .ql-mention-list-item {
140
+ line-height: $quill-mention-menu-item-line-height;
141
+ padding: $quill-mention-menu-item-padding;
142
+ }
143
+
144
+ .ql-mention-list-item.selected {
145
+ background: $quill-mention-menu-item-selected-bg;
146
+ color: $quill-mention-menu-item-selected-color;
147
+ }
148
+
149
+ .ql-mention-list-item.disabled {
150
+ color: $quill-mention-menu-item-disabled-color;
151
+ }
152
+
153
+ .ql-mention-list-item[data-type='divider'] {
154
+ @include nav-divider($quill-mention-menu-divider-bg, $quill-mention-menu-divider-margin, true);
155
+
156
+ &:first-child,
157
+ &:last-child,
158
+ + .ql-mention-list-item[data-type='divider'] {
159
+ display: none;
23
160
  }
24
161
  }
25
162
 
163
+ .ql-mention-list-item[data-type='groupName'] {
164
+ color: $quill-mention-menu-item-group-name-color;
165
+ font-size: $quill-mention-menu-item-group-name-font-size;
166
+ }
167
+ }
168
+
169
+ .mention {
170
+ background: $quill-mention-bg;
171
+ color: $quill-mention-color;
172
+ border-radius: $quill-mention-border-radius;
173
+ padding: $quill-mention-padding;
174
+
175
+ .ql-mention-denotation-char {
176
+ margin: $quill-mention-denotation-margin;
177
+ }
26
178
  }
@@ -0,0 +1 @@
1
+ export declare function isNullOrUndefinedOrEmpty(value: string | null | undefined, trim?: boolean): value is (string | null | undefined);
@@ -0,0 +1 @@
1
+ export declare function notNullOrUndefinedOrEmpty(value: string | null | undefined, trim?: boolean): value is string;
@@ -30,11 +30,13 @@ export * from './toggle-attribute';
30
30
  export * from './get-attribute';
31
31
  export * from './input-masks';
32
32
  export * from './is-null-or-undefined';
33
+ export * from './is-null-or-undefined-or-empty';
33
34
  export * from './load-style';
34
35
  export * from './load-style-sheet';
35
36
  export * from './obj-utils';
36
37
  export * from './file-utils';
37
38
  export * from './not-null-or-undefined';
39
+ export * from './not-null-or-undefined-or-empty';
38
40
  export * from './wait-on-condition-async';
39
41
  export * from './polling-ticker';
40
42
  export * from './refreshable';