@theseam/ui-common 0.4.26 → 0.4.28-beta.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 (187) hide show
  1. package/breadcrumbs/breadcrumbs/breadcrumbs.component.scss +1 -1
  2. package/datatable/datatable/datatable.component.d.ts +60 -9
  3. package/datatable/datatable-column-filter-menu/datatable-column-filter-menu.component.d.ts +25 -0
  4. package/datatable/datatable-column-filter-search-date/datatable-column-filter-search-date.component.d.ts +18 -0
  5. package/datatable/datatable-column-filter-search-numeric/datatable-column-filter-search-numeric.component.d.ts +16 -0
  6. package/datatable/datatable-column-filter-search-text/datatable-column-filter-search-text.component.d.ts +15 -0
  7. package/datatable/datatable-menu-bar/datatable-menu-bar.component.d.ts +2 -2
  8. package/datatable/datatable.module.d.ts +29 -20
  9. package/datatable/directives/datatable-column-filter-tpl.directive.d.ts +8 -0
  10. package/datatable/directives/datatable-column-filter.directive.d.ts +10 -0
  11. package/datatable/models/action-item-column-position.d.ts +13 -0
  12. package/datatable/models/columns-data-filter.d.ts +57 -0
  13. package/datatable/models/columns-data-filters/models.d.ts +65 -0
  14. package/datatable/models/columns-data-filters/search-date.columns-data-filter.d.ts +23 -0
  15. package/datatable/models/columns-data-filters/search-numeric.columns-data-filter.d.ts +22 -0
  16. package/datatable/models/columns-data-filters/search-text.columns-data-filter.d.ts +21 -0
  17. package/datatable/models/columns-data-filters/utils.d.ts +15 -0
  18. package/datatable/models/datatable-config.d.ts +90 -0
  19. package/datatable/models/table-column.d.ts +22 -1
  20. package/datatable/public-api.d.ts +14 -0
  21. package/datatable/services/columns-filters.service.d.ts +29 -0
  22. package/datatable/services/columns-manager.service.d.ts +7 -0
  23. package/datatable/utils/create-action-menu-column.d.ts +1 -1
  24. package/esm2020/breadcrumbs/breadcrumbs/breadcrumbs.component.mjs +2 -2
  25. package/esm2020/datatable/datatable/datatable.component.mjs +231 -31
  26. package/esm2020/datatable/datatable-action-menu/datatable-action-menu.component.mjs +2 -2
  27. package/esm2020/datatable/datatable-column-filter-menu/datatable-column-filter-menu.component.mjs +55 -0
  28. package/esm2020/datatable/datatable-column-filter-search-date/datatable-column-filter-search-date.component.mjs +54 -0
  29. package/esm2020/datatable/datatable-column-filter-search-numeric/datatable-column-filter-search-numeric.component.mjs +48 -0
  30. package/esm2020/datatable/datatable-column-filter-search-text/datatable-column-filter-search-text.component.mjs +44 -0
  31. package/esm2020/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.mjs +1 -1
  32. package/esm2020/datatable/datatable-export-button/datatable-export-button.component.mjs +1 -1
  33. package/esm2020/datatable/datatable-menu-bar/datatable-menu-bar.component.mjs +1 -1
  34. package/esm2020/datatable/datatable.module.mjs +49 -7
  35. package/esm2020/datatable/directives/datatable-column-filter-tpl.directive.mjs +16 -0
  36. package/esm2020/datatable/directives/datatable-column-filter.directive.mjs +26 -0
  37. package/esm2020/datatable/models/action-item-column-position.mjs +5 -0
  38. package/esm2020/datatable/models/columns-data-filter.mjs +10 -0
  39. package/esm2020/datatable/models/columns-data-filters/models.mjs +74 -0
  40. package/esm2020/datatable/models/columns-data-filters/search-date.columns-data-filter.mjs +113 -0
  41. package/esm2020/datatable/models/columns-data-filters/search-numeric.columns-data-filter.mjs +104 -0
  42. package/esm2020/datatable/models/columns-data-filters/search-text.columns-data-filter.mjs +86 -0
  43. package/esm2020/datatable/models/columns-data-filters/utils.mjs +28 -0
  44. package/esm2020/datatable/models/datatable-config.mjs +3 -0
  45. package/esm2020/datatable/models/table-column.mjs +1 -1
  46. package/esm2020/datatable/public-api.mjs +15 -1
  47. package/esm2020/datatable/services/columns-filters.service.mjs +109 -0
  48. package/esm2020/datatable/services/columns-manager.service.mjs +27 -2
  49. package/esm2020/datatable/utils/create-action-menu-column.mjs +4 -3
  50. package/esm2020/datatable-dynamic/datatable-dynamic-action-menu/datatable-dynamic-action-menu.component.mjs +1 -1
  51. package/esm2020/datatable-dynamic/datatable-dynamic.component.mjs +1 -1
  52. package/esm2020/framework/base-layout/base-layout.component.mjs +14 -4
  53. package/esm2020/framework/base-layout/base-layout.module.mjs +6 -1
  54. package/esm2020/framework/base-layout/directives/base-layout-nav-toggle.directive.mjs +21 -5
  55. package/esm2020/framework/base-layout/directives/base-layout-side-bar-header.directive.mjs +16 -0
  56. package/esm2020/framework/base-layout/index.mjs +2 -1
  57. package/esm2020/framework/nav/horizontal-nav/horizontal-nav.component.mjs +55 -0
  58. package/esm2020/framework/nav/index.mjs +6 -0
  59. package/esm2020/framework/nav/nav-item/nav-item.component.mjs +227 -0
  60. package/esm2020/framework/nav/nav-utils.mjs +107 -0
  61. package/esm2020/framework/nav/nav.models.mjs +2 -0
  62. package/esm2020/framework/nav/nav.module.mjs +67 -0
  63. package/esm2020/framework/nav/nav.service.mjs +204 -0
  64. package/esm2020/framework/public-api.mjs +2 -1
  65. package/esm2020/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.mjs +2 -2
  66. package/esm2020/framework/side-nav/side-nav-item/side-nav-item.component.mjs +28 -67
  67. package/esm2020/framework/side-nav/side-nav-toggle/side-nav-toggle.component.mjs +12 -5
  68. package/esm2020/framework/side-nav/side-nav.component.mjs +116 -38
  69. package/esm2020/framework/side-nav/side-nav.models.mjs +1 -1
  70. package/esm2020/framework/side-nav/side-nav.module.mjs +9 -39
  71. package/esm2020/framework/side-nav/side-nav.service.mjs +1 -1
  72. package/esm2020/framework/top-bar/index.mjs +3 -1
  73. package/esm2020/framework/top-bar/top-bar-compact-menu-btn-detail.directive.mjs +16 -0
  74. package/esm2020/framework/top-bar/top-bar-item.directive.mjs +10 -4
  75. package/esm2020/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.mjs +6 -4
  76. package/esm2020/framework/top-bar/top-bar-nav-toggle-btn-detail.directive.mjs +16 -0
  77. package/esm2020/framework/top-bar/top-bar.component.mjs +55 -11
  78. package/esm2020/framework/top-bar/top-bar.module.mjs +15 -5
  79. package/esm2020/graphql/datatable/datatable-graphql.service.mjs +1 -1
  80. package/esm2020/graphql/datatable/index.mjs +4 -1
  81. package/esm2020/graphql/datatable/map-filter-states.mjs +1 -1
  82. package/esm2020/graphql/datatable/map-search-date-columns-data-filter-state-to-gql.mjs +139 -0
  83. package/esm2020/graphql/datatable/map-search-numeric-columns-data-filter-state-to-gql.mjs +75 -0
  84. package/esm2020/graphql/datatable/map-search-text-columns-data-filter-state-to-gql.mjs +44 -0
  85. package/esm2020/layout/layout.service.mjs +12 -2
  86. package/esm2020/menu/menu-toggle.directive.mjs +7 -2
  87. package/esm2020/popover/popover/popover.component.mjs +7 -3
  88. package/esm2020/popover/popover.directive.mjs +6 -2
  89. package/esm2020/rich-text/public-api.mjs +1 -1
  90. package/esm2020/rich-text/rich-text/rich-text.component.mjs +24 -3
  91. package/esm2020/rich-text/utils/models.mjs +1 -1
  92. package/esm2020/rich-text/utils/utils.mjs +1 -1
  93. package/esm2020/table-cell-types/table-cell-type-string/table-cell-type-string.component.mjs +5 -3
  94. package/fesm2015/theseam-ui-common-breadcrumbs.mjs +2 -2
  95. package/fesm2015/theseam-ui-common-breadcrumbs.mjs.map +1 -1
  96. package/fesm2015/theseam-ui-common-datatable-dynamic.mjs +2 -2
  97. package/fesm2015/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
  98. package/fesm2015/theseam-ui-common-datatable.mjs +1025 -62
  99. package/fesm2015/theseam-ui-common-datatable.mjs.map +1 -1
  100. package/fesm2015/theseam-ui-common-framework.mjs +905 -156
  101. package/fesm2015/theseam-ui-common-framework.mjs.map +1 -1
  102. package/fesm2015/theseam-ui-common-graphql.mjs +254 -1
  103. package/fesm2015/theseam-ui-common-graphql.mjs.map +1 -1
  104. package/fesm2015/theseam-ui-common-layout.mjs +11 -2
  105. package/fesm2015/theseam-ui-common-layout.mjs.map +1 -1
  106. package/fesm2015/theseam-ui-common-menu.mjs +6 -1
  107. package/fesm2015/theseam-ui-common-menu.mjs.map +1 -1
  108. package/fesm2015/theseam-ui-common-popover.mjs +11 -3
  109. package/fesm2015/theseam-ui-common-popover.mjs.map +1 -1
  110. package/fesm2015/theseam-ui-common-rich-text.mjs +25 -2
  111. package/fesm2015/theseam-ui-common-rich-text.mjs.map +1 -1
  112. package/fesm2015/theseam-ui-common-table-cell-types.mjs +4 -2
  113. package/fesm2015/theseam-ui-common-table-cell-types.mjs.map +1 -1
  114. package/fesm2020/theseam-ui-common-breadcrumbs.mjs +2 -2
  115. package/fesm2020/theseam-ui-common-breadcrumbs.mjs.map +1 -1
  116. package/fesm2020/theseam-ui-common-datatable-dynamic.mjs +2 -2
  117. package/fesm2020/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
  118. package/fesm2020/theseam-ui-common-datatable.mjs +1010 -62
  119. package/fesm2020/theseam-ui-common-datatable.mjs.map +1 -1
  120. package/fesm2020/theseam-ui-common-framework.mjs +907 -156
  121. package/fesm2020/theseam-ui-common-framework.mjs.map +1 -1
  122. package/fesm2020/theseam-ui-common-graphql.mjs +254 -1
  123. package/fesm2020/theseam-ui-common-graphql.mjs.map +1 -1
  124. package/fesm2020/theseam-ui-common-layout.mjs +11 -2
  125. package/fesm2020/theseam-ui-common-layout.mjs.map +1 -1
  126. package/fesm2020/theseam-ui-common-menu.mjs +6 -1
  127. package/fesm2020/theseam-ui-common-menu.mjs.map +1 -1
  128. package/fesm2020/theseam-ui-common-popover.mjs +11 -3
  129. package/fesm2020/theseam-ui-common-popover.mjs.map +1 -1
  130. package/fesm2020/theseam-ui-common-rich-text.mjs +23 -2
  131. package/fesm2020/theseam-ui-common-rich-text.mjs.map +1 -1
  132. package/fesm2020/theseam-ui-common-table-cell-types.mjs +4 -2
  133. package/fesm2020/theseam-ui-common-table-cell-types.mjs.map +1 -1
  134. package/framework/base-layout/base-layout.component.d.ts +4 -2
  135. package/framework/base-layout/base-layout.component.scss +18 -10
  136. package/framework/base-layout/base-layout.module.d.ts +11 -10
  137. package/framework/base-layout/directives/base-layout-nav-toggle.directive.d.ts +8 -3
  138. package/framework/base-layout/directives/base-layout-side-bar-header.directive.d.ts +9 -0
  139. package/framework/base-layout/index.d.ts +1 -0
  140. package/framework/base-layout/styles/_variables.scss +21 -0
  141. package/framework/nav/_nav-theme.scss +4 -0
  142. package/framework/nav/horizontal-nav/horizontal-nav.component.d.ts +25 -0
  143. package/framework/nav/horizontal-nav/horizontal-nav.component.scss +50 -0
  144. package/framework/nav/index.d.ts +5 -0
  145. package/framework/nav/nav-item/nav-item.component.d.ts +74 -0
  146. package/framework/nav/nav-item/nav-item.component.scss +203 -0
  147. package/framework/nav/nav-utils.d.ts +20 -0
  148. package/framework/nav/nav.models.d.ts +77 -0
  149. package/framework/nav/nav.module.d.ts +17 -0
  150. package/framework/nav/nav.service.d.ts +27 -0
  151. package/framework/nav/styles/_themes/light/_variables.scss +56 -0
  152. package/framework/nav/styles/_themes/primary/_variables.scss +56 -0
  153. package/framework/nav/styles/_utilities.scss +3 -0
  154. package/framework/nav/styles/_variables.scss +2 -0
  155. package/framework/public-api.d.ts +1 -0
  156. package/framework/side-nav/side-nav-item/side-nav-item.component.d.ts +7 -14
  157. package/framework/side-nav/side-nav-item/side-nav-item.component.scss +7 -5
  158. package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.d.ts +5 -3
  159. package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.scss +3 -6
  160. package/framework/side-nav/side-nav.component.d.ts +13 -1
  161. package/framework/side-nav/side-nav.component.scss +0 -1
  162. package/framework/side-nav/side-nav.models.d.ts +7 -1
  163. package/framework/side-nav/side-nav.module.d.ts +1 -9
  164. package/framework/side-nav/styles/_themes/light/_variables.scss +24 -14
  165. package/framework/side-nav/styles/_themes/primary/_variables.scss +8 -0
  166. package/framework/top-bar/index.d.ts +2 -0
  167. package/framework/top-bar/top-bar-compact-menu-btn-detail.directive.d.ts +8 -0
  168. package/framework/top-bar/top-bar-item.directive.d.ts +4 -1
  169. package/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.d.ts +5 -2
  170. package/framework/top-bar/top-bar-nav-toggle-btn-detail.directive.d.ts +8 -0
  171. package/framework/top-bar/top-bar.component.d.ts +25 -3
  172. package/framework/top-bar/top-bar.component.scss +7 -2
  173. package/framework/top-bar/top-bar.module.d.ts +10 -8
  174. package/graphql/datatable/datatable-graphql.service.d.ts +1 -1
  175. package/graphql/datatable/index.d.ts +3 -0
  176. package/graphql/datatable/map-filter-states.d.ts +2 -2
  177. package/graphql/datatable/map-search-date-columns-data-filter-state-to-gql.d.ts +4 -0
  178. package/graphql/datatable/map-search-numeric-columns-data-filter-state-to-gql.d.ts +4 -0
  179. package/graphql/datatable/map-search-text-columns-data-filter-state-to-gql.d.ts +4 -0
  180. package/layout/layout.service.d.ts +9 -1
  181. package/menu/menu-toggle.directive.d.ts +2 -1
  182. package/package.json +2 -2
  183. package/popover/popover/popover.component.d.ts +4 -1
  184. package/popover/popover.directive.d.ts +2 -1
  185. package/rich-text/rich-text/rich-text.component.d.ts +6 -4
  186. package/styles/vendor/ngx-datatable/_ngx-datatable.scss +83 -14
  187. package/styles/vendor/ngx-datatable/_themes/bootstrap/_variables.scss +38 -3
@@ -5,15 +5,17 @@ import * as i3 from "./top-bar-menu-button/top-bar-menu-button.component";
5
5
  import * as i4 from "./top-bar-menu.directive";
6
6
  import * as i5 from "./top-bar-item.directive";
7
7
  import * as i6 from "./top-bar-menu-btn-detail.directive";
8
- import * as i7 from "@angular/common";
9
- import * as i8 from "@theseam/ui-common/layout";
10
- import * as i9 from "@theseam/ui-common/buttons";
11
- import * as i10 from "@theseam/ui-common/icon";
12
- import * as i11 from "@theseam/ui-common/menu";
13
- import * as i12 from "../base-layout/base-layout.module";
14
- import * as i13 from "@angular/router";
8
+ import * as i7 from "./top-bar-compact-menu-btn-detail.directive";
9
+ import * as i8 from "./top-bar-nav-toggle-btn-detail.directive";
10
+ import * as i9 from "@angular/common";
11
+ import * as i10 from "@theseam/ui-common/layout";
12
+ import * as i11 from "@theseam/ui-common/buttons";
13
+ import * as i12 from "@theseam/ui-common/icon";
14
+ import * as i13 from "@theseam/ui-common/menu";
15
+ import * as i14 from "../base-layout/base-layout.module";
16
+ import * as i15 from "@angular/router";
15
17
  export declare class TheSeamTopBarModule {
16
18
  static ɵfac: i0.ɵɵFactoryDeclaration<TheSeamTopBarModule, never>;
17
- static ɵmod: i0.ɵɵNgModuleDeclaration<TheSeamTopBarModule, [typeof i1.TheSeamTopBarComponent, typeof i2.TopBarTitleComponent, typeof i3.TopBarMenuButtonComponent, typeof i4.TopBarMenuDirective, typeof i5.TopBarItemDirective, typeof i6.TopBarMenuBtnDetailDirective], [typeof i7.CommonModule, typeof i8.TheSeamLayoutModule, typeof i9.TheSeamButtonsModule, typeof i10.TheSeamIconModule, typeof i11.TheSeamMenuModule, typeof i12.TheSeamBaseLayoutModule, typeof i13.RouterModule], [typeof i1.TheSeamTopBarComponent, typeof i3.TopBarMenuButtonComponent, typeof i4.TopBarMenuDirective, typeof i11.TheSeamMenuModule, typeof i5.TopBarItemDirective, typeof i6.TopBarMenuBtnDetailDirective]>;
19
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TheSeamTopBarModule, [typeof i1.TheSeamTopBarComponent, typeof i2.TopBarTitleComponent, typeof i3.TopBarMenuButtonComponent, typeof i4.TopBarMenuDirective, typeof i5.TopBarItemDirective, typeof i6.TopBarMenuBtnDetailDirective, typeof i7.TopBarCompactMenuBtnDetailDirective, typeof i8.TopBarNavToggleBtnDetailDirective], [typeof i9.CommonModule, typeof i10.TheSeamLayoutModule, typeof i11.TheSeamButtonsModule, typeof i12.TheSeamIconModule, typeof i13.TheSeamMenuModule, typeof i14.TheSeamBaseLayoutModule, typeof i15.RouterModule], [typeof i1.TheSeamTopBarComponent, typeof i3.TopBarMenuButtonComponent, typeof i4.TopBarMenuDirective, typeof i13.TheSeamMenuModule, typeof i5.TopBarItemDirective, typeof i6.TopBarMenuBtnDetailDirective, typeof i7.TopBarCompactMenuBtnDetailDirective, typeof i8.TopBarNavToggleBtnDetailDirective]>;
18
20
  static ɵinj: i0.ɵɵInjectorDeclaration<TheSeamTopBarModule>;
19
21
  }
@@ -11,7 +11,7 @@ import * as i0 from "@angular/core";
11
11
  * rest should be common options shared by all our app's datatables. This may
12
12
  * change if it is determined to be too restrictive.
13
13
  */
14
- export type DatatableQueryOptions<TVariables = OperationVariables, TData = any> = Pick<WatchQueryOptions<TVariables, TData>, 'query'> & Pick<WatchQueryOptions<TVariables, TData>, 'variables'> & Pick<WatchQueryOptions<TVariables, TData>, 'context'>;
14
+ export type DatatableQueryOptions<TVariables extends OperationVariables = OperationVariables, TData = any> = Pick<WatchQueryOptions<TVariables, TData>, 'query'> & Pick<WatchQueryOptions<TVariables, TData>, 'variables'> & Pick<WatchQueryOptions<TVariables, TData>, 'context'>;
15
15
  export interface DatatableGraphqlServiceConfig {
16
16
  /**
17
17
  * Polling interval time in milliseconds.
@@ -4,3 +4,6 @@ export * from './datatable-graphql-query-ref';
4
4
  export * from './map-filter-states';
5
5
  export * from './mapper-context';
6
6
  export * from './get-page-info';
7
+ export * from './map-search-date-columns-data-filter-state-to-gql';
8
+ export * from './map-search-numeric-columns-data-filter-state-to-gql';
9
+ export * from './map-search-text-columns-data-filter-state-to-gql';
@@ -8,8 +8,8 @@ export interface FilterStateMapperFilter {
8
8
  [name: string]: any;
9
9
  }
10
10
  export type FilterStateMapperResult = {
11
- filter?: FilterStateMapperFilter | undefined | null;
12
- variables?: FilterStateMapperVariables | undefined | null;
11
+ filter: FilterStateMapperFilter;
12
+ variables: FilterStateMapperVariables;
13
13
  } | null;
14
14
  export type FilterStateMapper = (filterState: DataFilterState, context: MapperContext) => (FilterStateMapperResult | Promise<FilterStateMapperResult> | Observable<FilterStateMapperResult>);
15
15
  export interface FilterStateMappers {
@@ -0,0 +1,4 @@
1
+ import { ColumnsDataFilterState, TheSeamColumnsDataFilterDateSearchFormState, TheSeamColumnsDataFilterDateSearchOptions } from "@theseam/ui-common/datatable";
2
+ import { FilterStateMapperResult } from "./map-filter-states";
3
+ import { MapperContext } from "./mapper-context";
4
+ export declare const mapSearchDateColumnsDataFilterStateToGql: (filterState: ColumnsDataFilterState<TheSeamColumnsDataFilterDateSearchFormState, TheSeamColumnsDataFilterDateSearchOptions>, context: MapperContext<any>) => FilterStateMapperResult;
@@ -0,0 +1,4 @@
1
+ import { ColumnsDataFilterState, TheSeamColumnsDataFilterNumericSearchFormState } from "@theseam/ui-common/datatable";
2
+ import { FilterStateMapperResult } from "./map-filter-states";
3
+ import { MapperContext } from "./mapper-context";
4
+ export declare const mapSearchNumericColumnsDataFilterStateToGql: (filterState: ColumnsDataFilterState<TheSeamColumnsDataFilterNumericSearchFormState>, context: MapperContext<any>) => FilterStateMapperResult;
@@ -0,0 +1,4 @@
1
+ import { ColumnsDataFilterState, TheSeamColumnsDataFilterTextSearchFormState } from "@theseam/ui-common/datatable";
2
+ import { FilterStateMapperResult } from "./map-filter-states";
3
+ import { MapperContext } from "./mapper-context";
4
+ export declare const mapSearchTextColumnsDataFilterStateToGql: (filterState: ColumnsDataFilterState<TheSeamColumnsDataFilterTextSearchFormState>, context: MapperContext<any>) => FilterStateMapperResult;
@@ -5,11 +5,19 @@ import * as i0 from "@angular/core";
5
5
  export declare class TheSeamLayoutService {
6
6
  private _media;
7
7
  /**
8
- * Is app a mobile-like size.
8
+ * Observes if app is a mobile-like size.
9
+ * Default mobile breakpoint is <= 599px,
10
+ * use setMobileBreakpoint() to change size.
9
11
  */
10
12
  isMobile$: Observable<boolean>;
13
+ private _mobileBreakpoint;
14
+ mobileBreakpoint$: Observable<MediaQueryAliases>;
11
15
  constructor(_media: MediaObserver);
12
16
  observe(alias: MediaQueryAliases): Observable<boolean>;
17
+ /**
18
+ * Update breakpoint observed by isMobile$
19
+ */
20
+ setMobileBreakpoint(alias: MediaQueryAliases): void;
13
21
  static ɵfac: i0.ɵɵFactoryDeclaration<TheSeamLayoutService, never>;
14
22
  static ɵprov: i0.ɵɵInjectableDeclaration<TheSeamLayoutService>;
15
23
  }
@@ -30,6 +30,7 @@ export declare class MenuToggleDirective implements OnDestroy, AfterContentInit
30
30
  set positions(val: ConnectionPositionPair[]);
31
31
  get positions(): ConnectionPositionPair[];
32
32
  private _positions;
33
+ readonly menuToggle: EventEmitter<boolean>;
33
34
  seamMenuTogglePositionsOffsetY: number;
34
35
  /** Event emitted when the associated menu is opened. */
35
36
  readonly menuOpened: EventEmitter<void>;
@@ -78,5 +79,5 @@ export declare class MenuToggleDirective implements OnDestroy, AfterContentInit
78
79
  /** Handles the cases where the user hovers over the trigger. */
79
80
  private _handleHover;
80
81
  static ɵfac: i0.ɵɵFactoryDeclaration<MenuToggleDirective, [null, null, null, null, { optional: true; }, { optional: true; self: true; }, { optional: true; }]>;
81
- static ɵdir: i0.ɵɵDirectiveDeclaration<MenuToggleDirective, "[seamMenuToggle]", ["seamMenuToggle"], { "menu": "seamMenuToggle"; "positions": "positions"; "seamMenuTogglePositionsOffsetY": "seamMenuTogglePositionsOffsetY"; }, { "menuOpened": "menuOpened"; "menuClosed": "menuClosed"; }, never, never, false, never>;
82
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MenuToggleDirective, "[seamMenuToggle]", ["seamMenuToggle"], { "menu": "seamMenuToggle"; "positions": "positions"; "seamMenuTogglePositionsOffsetY": "seamMenuTogglePositionsOffsetY"; }, { "menuToggle": "menuToggle"; "menuOpened": "menuOpened"; "menuClosed": "menuClosed"; }, never, never, false, never>;
82
83
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@theseam/ui-common",
3
- "version": "0.4.26",
3
+ "version": "0.4.28-beta.0",
4
4
  "peerDependencies": {
5
5
  "@angular/cdk": "^15.0.0",
6
6
  "@angular/common": "^15.0.0",
@@ -18,7 +18,7 @@
18
18
  "dependencies": {
19
19
  "@fortawesome/angular-fontawesome": "~0.9.0",
20
20
  "@marklb/file-type": "~10.6.5",
21
- "@marklb/ngx-datatable": "18.0.3",
21
+ "@marklb/ngx-datatable": "~18.0.5",
22
22
  "@marklb/ngx-loading": "^10.0.0",
23
23
  "@ng-select/ng-select": "~6.1.0",
24
24
  "@ng-bootstrap/ng-bootstrap": "~9.1.1",
@@ -1,6 +1,7 @@
1
1
  import { AnimationEvent } from '@angular/animations';
2
2
  import { ChangeDetectorRef, OnDestroy, OnInit, TemplateRef } from '@angular/core';
3
3
  import { Subject } from 'rxjs';
4
+ import { TheSeamPopoverDirective } from '../popover.directive';
4
5
  import * as i0 from "@angular/core";
5
6
  export declare class PopoverComponent implements OnInit, OnDestroy {
6
7
  private _changeDetectorRef;
@@ -25,6 +26,8 @@ export declare class PopoverComponent implements OnInit, OnDestroy {
25
26
  get _tabindex(): number;
26
27
  template: TemplateRef<any> | undefined | null;
27
28
  popoverClass: string | undefined | null;
29
+ popover: TheSeamPopoverDirective | undefined | null;
30
+ popoverContext: any;
28
31
  /**
29
32
  * Defines a width for a popover that will scale down if the window innerWidth is
30
33
  * smaller than the value.
@@ -43,5 +46,5 @@ export declare class PopoverComponent implements OnInit, OnDestroy {
43
46
  /** Handle a keyboard event from the menu, delegating to the appropriate action. */
44
47
  _handleKeydown(event: KeyboardEvent): void;
45
48
  static ɵfac: i0.ɵɵFactoryDeclaration<PopoverComponent, never>;
46
- static ɵcmp: i0.ɵɵComponentDeclaration<PopoverComponent, "seam-popover", never, { "template": "template"; "popoverClass": "popoverClass"; "baseWidth": "baseWidth"; }, {}, never, never, false, never>;
49
+ static ɵcmp: i0.ɵɵComponentDeclaration<PopoverComponent, "seam-popover", never, { "template": "template"; "popoverClass": "popoverClass"; "popover": "popover"; "popoverContext": "popoverContext"; "baseWidth": "baseWidth"; }, {}, never, never, false, never>;
47
50
  }
@@ -9,6 +9,7 @@ export declare class TheSeamPopoverDirective implements OnDestroy {
9
9
  private _focusMonitor;
10
10
  private readonly _ngUnsubscribe;
11
11
  seamPopover?: TemplateRef<any> | null;
12
+ seamPopoverContext?: any;
12
13
  /**
13
14
  * Defines a width for a popover that will scale down if the window innerWidth is
14
15
  * smaller than the value.
@@ -56,5 +57,5 @@ export declare class TheSeamPopoverDirective implements OnDestroy {
56
57
  /** Returns a stream that emits whenever an action that should close the popover occurs. */
57
58
  private _popoverClosingActions;
58
59
  static ɵfac: i0.ɵɵFactoryDeclaration<TheSeamPopoverDirective, never>;
59
- static ɵdir: i0.ɵɵDirectiveDeclaration<TheSeamPopoverDirective, "[seamPopover]", ["seamPopover"], { "seamPopover": "seamPopover"; "seamPopoverBaseWidth": "seamPopoverBaseWidth"; "seamPopoverDisabled": "seamPopoverDisabled"; }, {}, never, never, false, never>;
60
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TheSeamPopoverDirective, "[seamPopover]", ["seamPopover"], { "seamPopover": "seamPopover"; "seamPopoverContext": "seamPopoverContext"; "seamPopoverBaseWidth": "seamPopoverBaseWidth"; "seamPopoverDisabled": "seamPopoverDisabled"; }, {}, never, never, false, never>;
60
61
  }
@@ -1,4 +1,4 @@
1
- import { AfterViewInit, EventEmitter, OnInit, Provider, Renderer2, TemplateRef } from '@angular/core';
1
+ import { AfterViewInit, EventEmitter, OnDestroy, OnInit, Provider, Renderer2, TemplateRef } from '@angular/core';
2
2
  import { ControlValueAccessor, FormControl } from '@angular/forms';
3
3
  import { Blur, ContentChange, EditorChangeContent, EditorChangeSelection, Focus, QuillEditorComponent, SelectionChange } from 'ngx-quill';
4
4
  import 'quill-mention';
@@ -6,7 +6,7 @@ import { Observable } from 'rxjs';
6
6
  import { TheSeamCharacterCounterFn, TheSeamQuillEditorConfig, TheSeamQuillMentionMenuItem, TheSeamQuillMentionMenuOption, TheSeamQuillMentionSearchFn, TheSeamQuillMentionSourceFn } from '../utils/models';
7
7
  import * as i0 from "@angular/core";
8
8
  export declare const RICH_TEXT_VALUE_ACCESSOR: Provider;
9
- export declare class RichTextComponent implements OnInit, AfterViewInit, ControlValueAccessor {
9
+ export declare class RichTextComponent implements OnInit, AfterViewInit, OnDestroy, ControlValueAccessor {
10
10
  private readonly _renderer;
11
11
  private _customConfig?;
12
12
  onChange: any;
@@ -148,10 +148,11 @@ export declare class RichTextComponent implements OnInit, AfterViewInit, Control
148
148
  quillFocus: EventEmitter<Focus>;
149
149
  quillBlur: EventEmitter<Blur>;
150
150
  mentionsUpdated: EventEmitter<TheSeamQuillMentionMenuOption[]>;
151
- get quillEditor(): TemplateRef<QuillEditorComponent> | undefined;
152
- set quillEditor(value: TemplateRef<QuillEditorComponent> | undefined);
151
+ get quillEditor(): QuillEditorComponent | undefined;
152
+ set quillEditor(value: QuillEditorComponent | undefined);
153
153
  private _quillEditor;
154
154
  defaultCharacterCounterTpl: TemplateRef<any> | undefined;
155
+ _handleKeydown(event: KeyboardEvent): void;
155
156
  private _isWritingValue;
156
157
  private _pollCalculatedRowHeight;
157
158
  private _configSet;
@@ -167,6 +168,7 @@ export declare class RichTextComponent implements OnInit, AfterViewInit, Control
167
168
  constructor(_renderer: Renderer2, _customConfig?: TheSeamQuillEditorConfig | undefined);
168
169
  ngOnInit(): void;
169
170
  ngAfterViewInit(): void;
171
+ ngOnDestroy(): void;
170
172
  private _buildQuillConfig;
171
173
  private _getConfigOrDefault;
172
174
  private _updateQuillConfig;
@@ -142,17 +142,19 @@
142
142
  .datatable-header,
143
143
  .datatable-body {
144
144
  .datatable-row-left {
145
- background-color: $datatable-background;
146
- background-position: 100% 0;
147
- background-repeat: repeat-y;
148
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABCAYAAAD5PA/NAAAAFklEQVQIHWPSkNeSBmJhTQVtbiDNCgASagIIuJX8OgAAAABJRU5ErkJggg==);
145
+ background-color: $datatable-left-background;
146
+ }
147
+
148
+ .datatable-row-even .datatable-row-left {
149
+ background-color: $datatable-left-row-even-background;
149
150
  }
150
151
 
151
152
  .datatable-row-right {
152
- background-position: 0 0;
153
- background-color: $datatable-background;
154
- background-repeat: repeat-y;
155
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABCAYAAAD5PA/NAAAAFklEQVQI12PQkNdi1VTQ5gbSwkAsDQARLAIGtOSFUAAAAABJRU5ErkJggg==);
153
+ background-color: $datatable-right-background;
154
+ }
155
+
156
+ .datatable-row-even .datatable-row-right {
157
+ background-color: $datatable-right-row-even-background;
156
158
  }
157
159
  }
158
160
 
@@ -175,6 +177,11 @@
175
177
  font-size: $datatable-header-cell-font-size;
176
178
  font-weight: $datatable-header-cell-font-weight;
177
179
 
180
+ .datatable-header-cell-template-wrap {
181
+ display: flex;
182
+ align-items: center;
183
+ }
184
+
178
185
  .datatable-header-cell-wrapper {
179
186
  position: relative;
180
187
  }
@@ -217,6 +224,27 @@
217
224
  border-right: none;
218
225
  }
219
226
  }
227
+
228
+ .datatable-column-header-filter-button {
229
+ position: relative;
230
+ color: $datatable-column-header-filter-button-color;
231
+ &.datatable-column-header-filter-button-active {
232
+ color: $datatable-column-header-filter-button-active-color;
233
+ &::before {
234
+ content: '';
235
+ position: absolute;
236
+ right: 0;
237
+ top: -3px;
238
+ width: 6px;
239
+ height: 6px;
240
+ border-radius: 100%;
241
+ background: $datatable-column-header-filter-button-active-badge-color;
242
+ }
243
+ seam-icon {
244
+ clip-path: path('M6,0C6,5 12,6 16,3L16,16L0,16L0,0L6,0Z');
245
+ }
246
+ }
247
+ }
220
248
  }
221
249
 
222
250
  .datatable-column-header-separator {
@@ -268,6 +296,9 @@
268
296
  color: $datatable-body-cell-color;
269
297
  font-size: $datatable-body-cell-font-size;
270
298
  font-weight: $datatable-body-cell-font-weight;
299
+ .datatable-body-cell-label {
300
+ height: 100%;
301
+ }
271
302
  }
272
303
  .datatable-body-group-cell {
273
304
  vertical-align: top;
@@ -476,13 +507,51 @@
476
507
  // }
477
508
 
478
509
  .datatable-action-button {
479
- color: $datatable-action-button-color;
480
- background-color: $datatable-action-button-background;
481
- box-shadow: $datatable-action-button-box-shadow;
482
- &:hover {
483
- color: $datatable-action-button-hover-color;
484
- background-color: $datatable-action-button-hover-background;
510
+ flex: 0 0 auto;
511
+
512
+ @if $datatable-action-button-outline {
513
+ @include button-outline-variant(
514
+ $color: $datatable-action-button-outline-color,
515
+ $color-hover: $datatable-action-button-outline-color-hover,
516
+ $active-background: $datatable-action-button-outline-active-background,
517
+ $active-border: $datatable-action-button-outline-active-border
518
+ );
519
+
520
+ // allow variable override for outline button bg
521
+ background: $datatable-action-button-outline-background;
522
+
523
+ } @else {
524
+ @include button-variant(
525
+ $background: $datatable-action-button-background,
526
+ $border: $datatable-action-button-border,
527
+ $hover-background: $datatable-action-button-hover-background,
528
+ $hover-border: $datatable-action-button-hover-border,
529
+ $active-background: $datatable-action-button-active-background,
530
+ $active-border: $datatable-action-button-active-border
531
+ );
532
+
533
+ // allow variable override for solid button color
534
+ color: $datatable-action-button-color;
535
+
536
+ &:hover {
537
+ color: $datatable-action-button-hover-color;
538
+ }
539
+
540
+ &:not(:disabled):not(.disabled):active {
541
+ color: $datatable-action-button-active-color;
542
+ }
485
543
  }
544
+
545
+ box-shadow: $datatable-action-button-box-shadow;
546
+ font-size: $datatable-action-button-font-size;
547
+ line-height: $datatable-action-button-line-height;
548
+
549
+ width: $datatable-action-button-width;
550
+ height: $datatable-action-button-height;
551
+
552
+ padding: $datatable-action-button-padding;
553
+ border-radius: $datatable-action-button-border-radius;
554
+ text-align: $datatable-action-button-text-align;
486
555
  }
487
556
 
488
557
  /**
@@ -10,8 +10,12 @@ $datatable-color: $body-color !default;
10
10
 
11
11
  // common datatable colors
12
12
  $datatable-background: $white !default;
13
- $datatable-box-shadow: none !default;
14
13
  $datatable-row-even-background: rgba(0, 0, 0, 0.05) !default;
14
+ $datatable-left-background: transparent !default;
15
+ $datatable-left-row-even-background: $datatable-left-background !default;
16
+ $datatable-right-background: transparent !default;
17
+ $datatable-right-row-even-background: $datatable-right-background !default;
18
+ $datatable-box-shadow: none !default;
15
19
 
16
20
  // default row and cell background colors
17
21
  $datatable-default-background: $white !default;
@@ -167,8 +171,39 @@ $datatable-summary-row-background: #ddd !default;
167
171
  $datatable-summary-row-background-hover: #ddd !default;
168
172
  $datatable-summary-row-font-weight: bold !default;
169
173
 
170
- $datatable-action-button-color: $body-color !default;
171
- $datatable-action-button-background: transparent !default;
174
+ // Action Menu Button Styles
175
+ $datatable-action-button-background: $primary !default;
176
+ $datatable-action-button-border: $datatable-action-button-background !default;
177
+ $datatable-action-button-hover-background: darken($datatable-action-button-background, 7.5%) !default;
178
+ $datatable-action-button-hover-border: darken($datatable-action-button-border, 10%) !default;
179
+ $datatable-action-button-active-background: darken($datatable-action-button-background, 10%) !default;
180
+ $datatable-action-button-active-border: darken($datatable-action-button-border, 12.5%) !default;
181
+
182
+ $datatable-action-button-color: color-yiq($datatable-action-button-background) !default;
183
+ $datatable-action-button-hover-color: color-yiq($datatable-action-button-hover-background) !default;
184
+ $datatable-action-button-active-color: color-yiq($datatable-action-button-active-background) !default;
185
+
186
+ $datatable-action-button-outline: false !default;
187
+ $datatable-action-button-outline-color: $datatable-action-button-background !default;
188
+ $datatable-action-button-outline-color-hover: color-yiq($datatable-action-button-outline-color) !default;
189
+ $datatable-action-button-outline-active-background: $datatable-action-button-outline-color !default;
190
+ $datatable-action-button-outline-active-border: $datatable-action-button-outline-color !default;
191
+
192
+ $datatable-action-button-outline-background: transparent !default;
193
+
172
194
  $datatable-action-button-box-shadow: none !default;
195
+ $datatable-action-button-font-size: 20px !default;
196
+ $datatable-action-button-line-height: 1 !default;
197
+ $datatable-action-button-size: 30px !default;
198
+ $datatable-action-button-width: $datatable-action-button-size !default;
199
+ $datatable-action-button-height: $datatable-action-button-size !default;
200
+ $datatable-action-button-padding: 0 !default;
201
+ $datatable-action-button-border-radius: 100% !default;
202
+ $datatable-action-button-text-align: center !default;
173
203
  $datatable-action-button-hover-color: $primary !default;
174
204
  $datatable-action-button-hover-background: $gray-300 !default;
205
+
206
+ // colors for column header filter button
207
+ $datatable-column-header-filter-button-color: inherit !default;
208
+ $datatable-column-header-filter-button-active-color: $datatable-column-header-filter-button-color !default;
209
+ $datatable-column-header-filter-button-active-badge-color: $primary !default;