@furystack/shades-common-components 1.8.3 → 2.0.4

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 (68) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/dist/components/app-bar.d.ts.map +1 -1
  3. package/dist/components/app-bar.js +8 -8
  4. package/dist/components/app-bar.js.map +1 -1
  5. package/dist/components/avatar.d.ts.map +1 -1
  6. package/dist/components/avatar.js.map +1 -1
  7. package/dist/components/button.js.map +1 -1
  8. package/dist/components/command-palette/command-palette-suggestion-list.d.ts.map +1 -1
  9. package/dist/components/command-palette/command-palette-suggestion-list.js.map +1 -1
  10. package/dist/components/command-palette/index.d.ts.map +1 -1
  11. package/dist/components/command-palette/index.js.map +1 -1
  12. package/dist/components/data-grid/body.d.ts.map +1 -1
  13. package/dist/components/data-grid/body.js.map +1 -1
  14. package/dist/components/data-grid/data-grid.d.ts.map +1 -1
  15. package/dist/components/data-grid/data-grid.js.map +1 -1
  16. package/dist/components/data-grid/footer.d.ts.map +1 -1
  17. package/dist/components/data-grid/footer.js.map +1 -1
  18. package/dist/components/data-grid/header.d.ts.map +1 -1
  19. package/dist/components/data-grid/header.js.map +1 -1
  20. package/dist/components/fab.d.ts.map +1 -1
  21. package/dist/components/fab.js.map +1 -1
  22. package/dist/components/grid.js +4 -5
  23. package/dist/components/grid.js.map +1 -1
  24. package/dist/components/input.d.ts.map +1 -1
  25. package/dist/components/input.js.map +1 -1
  26. package/dist/components/loader.d.ts.map +1 -1
  27. package/dist/components/loader.js.map +1 -1
  28. package/dist/components/modal.d.ts.map +1 -1
  29. package/dist/components/modal.js.map +1 -1
  30. package/dist/components/noty-list.d.ts.map +1 -1
  31. package/dist/components/noty-list.js +1 -3
  32. package/dist/components/noty-list.js.map +1 -1
  33. package/dist/components/paper.d.ts.map +1 -1
  34. package/dist/components/paper.js +8 -7
  35. package/dist/components/paper.js.map +1 -1
  36. package/dist/components/suggest/index.d.ts.map +1 -1
  37. package/dist/components/suggest/index.js.map +1 -1
  38. package/dist/components/suggest/suggest-input.d.ts.map +1 -1
  39. package/dist/components/suggest/suggest-input.js +11 -15
  40. package/dist/components/suggest/suggest-input.js.map +1 -1
  41. package/dist/components/suggest/suggestion-list.d.ts.map +1 -1
  42. package/dist/components/suggest/suggestion-list.js +34 -39
  43. package/dist/components/suggest/suggestion-list.js.map +1 -1
  44. package/dist/components/tabs.d.ts.map +1 -1
  45. package/dist/components/tabs.js +4 -3
  46. package/dist/components/tabs.js.map +1 -1
  47. package/package.json +4 -4
  48. package/src/components/app-bar.tsx +9 -10
  49. package/src/components/avatar.tsx +2 -1
  50. package/src/components/button.tsx +2 -2
  51. package/src/components/command-palette/command-palette-suggestion-list.tsx +4 -2
  52. package/src/components/command-palette/index.tsx +12 -6
  53. package/src/components/data-grid/body.tsx +2 -1
  54. package/src/components/data-grid/data-grid.tsx +2 -1
  55. package/src/components/data-grid/footer.tsx +6 -3
  56. package/src/components/data-grid/header.tsx +4 -2
  57. package/src/components/fab.tsx +2 -1
  58. package/src/components/grid.tsx +6 -6
  59. package/src/components/input.tsx +4 -2
  60. package/src/components/loader.tsx +4 -2
  61. package/src/components/modal.tsx +2 -1
  62. package/src/components/noty-list.tsx +9 -7
  63. package/src/components/paper.tsx +9 -7
  64. package/src/components/suggest/index.tsx +12 -6
  65. package/src/components/suggest/suggest-input.tsx +10 -14
  66. package/src/components/suggest/suggestion-list.tsx +43 -46
  67. package/src/components/tabs.tsx +8 -5
  68. package/tsconfig.tsbuildinfo +1 -1
@@ -8,54 +8,49 @@ exports.SuggestionList = (0, shades_1.Shade)({
8
8
  getInitialState: ({ props }) => ({
9
9
  suggestions: props.manager.currentSuggestions.getValue().map((v) => v.suggestion),
10
10
  }),
11
- constructed: ({ updateState, element, props }) => {
12
- const { manager } = props;
13
- const subscriptions = [
14
- manager.currentSuggestions.subscribe((s) => {
15
- updateState({ suggestions: s.map((ss) => ss.suggestion) });
16
- }),
17
- manager.isOpened.subscribe(async (isOpened) => {
18
- var _a;
19
- const container = element.firstElementChild;
20
- if (isOpened) {
21
- container.style.zIndex = '1';
22
- container.style.width = `calc(${Math.round(((_a = element.parentElement) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().width) || 200)}px - 3em)`;
23
- await (0, promisify_animation_1.promisifyAnimation)(container, [
24
- { opacity: 0, transform: 'translate(0, -50px)' },
25
- { opacity: 1, transform: 'translate(0, 0)' },
26
- ], { fill: 'forwards', duration: 500 });
11
+ resources: ({ updateState, element, props }) => [
12
+ props.manager.currentSuggestions.subscribe((s) => {
13
+ updateState({ suggestions: s.map((ss) => ss.suggestion) });
14
+ }),
15
+ props.manager.isOpened.subscribe(async (isOpened) => {
16
+ var _a;
17
+ const container = element.firstElementChild;
18
+ if (isOpened) {
19
+ container.style.zIndex = '1';
20
+ container.style.width = `calc(${Math.round(((_a = element.parentElement) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().width) || 200)}px - 3em)`;
21
+ await (0, promisify_animation_1.promisifyAnimation)(container, [
22
+ { opacity: 0, transform: 'translate(0, -50px)' },
23
+ { opacity: 1, transform: 'translate(0, 0)' },
24
+ ], { fill: 'forwards', duration: 500 });
25
+ }
26
+ else {
27
+ await (0, promisify_animation_1.promisifyAnimation)(container, [
28
+ { opacity: 1, transform: 'translate(0, 0)' },
29
+ { opacity: 0, transform: 'translate(0, -50px)' },
30
+ ], { fill: 'forwards', duration: 200 });
31
+ container.style.zIndex = '-1';
32
+ }
33
+ }, true),
34
+ props.manager.selectedIndex.subscribe((idx) => {
35
+ ;
36
+ [...element.querySelectorAll('.suggestion-item')].map((s, i) => {
37
+ if (i === idx) {
38
+ ;
39
+ s.style.background = 'rgba(128,128,128,0.2)';
27
40
  }
28
41
  else {
29
- await (0, promisify_animation_1.promisifyAnimation)(container, [
30
- { opacity: 1, transform: 'translate(0, 0)' },
31
- { opacity: 0, transform: 'translate(0, -50px)' },
32
- ], { fill: 'forwards', duration: 200 });
33
- container.style.zIndex = '-1';
42
+ ;
43
+ s.style.background = 'rgba(96,96,96,0.2)';
34
44
  }
35
- }),
36
- manager.selectedIndex.subscribe((idx) => {
37
- ;
38
- [...element.querySelectorAll('.suggestion-item')].map((s, i) => {
39
- if (i === idx) {
40
- ;
41
- s.style.background = 'rgba(128,128,128,0.2)';
42
- }
43
- else {
44
- ;
45
- s.style.background = 'rgba(96,96,96,0.2)';
46
- }
47
- });
48
- }),
49
- ];
50
- return () => subscriptions.map((s) => s.dispose());
51
- },
45
+ });
46
+ }),
47
+ ],
52
48
  render: ({ element, getState, props }) => {
53
49
  var _a;
54
50
  const { manager } = props;
55
51
  return ((0, shades_1.createComponent)("div", { className: "suggestion-items-container", style: {
56
52
  borderTop: 'none',
57
53
  position: 'absolute',
58
- opacity: manager.isOpened.getValue() ? '1' : '0',
59
54
  borderRadius: '0px 0px 5px 5px',
60
55
  marginLeft: '14px',
61
56
  overflow: 'hidden',
@@ -1 +1 @@
1
- {"version":3,"file":"suggestion-list.js","sourceRoot":"","sources":["../../../src/components/suggest/suggestion-list.tsx"],"names":[],"mappings":";;;AAAA,8CAAwE;AACxE,yEAAoE;AAIvD,QAAA,cAAc,GAGE,IAAA,cAAK,EAAwE;IACxG,aAAa,EAAE,+BAA+B;IAC9C,eAAe,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;KAClF,CAAC;IACF,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;QAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA;QACzB,MAAM,aAAa,GAAG;YACpB,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;gBACzC,WAAW,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;YAC5D,CAAC,CAAC;YACF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;;gBAC5C,MAAM,SAAS,GAAG,OAAO,CAAC,iBAAmC,CAAA;gBAC7D,IAAI,QAAQ,EAAE;oBACZ,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAA;oBAC5B,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,QAAQ,IAAI,CAAC,KAAK,CACxC,CAAA,MAAA,OAAO,CAAC,aAAa,0CAAE,qBAAqB,GAAG,KAAK,KAAI,GAAG,CAC5D,WAAW,CAAA;oBACZ,MAAM,IAAA,wCAAkB,EACtB,SAAS,EACT;wBACE,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,qBAAqB,EAAE;wBAChD,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE;qBAC7C,EACD,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CACpC,CAAA;iBACF;qBAAM;oBACL,MAAM,IAAA,wCAAkB,EACtB,SAAS,EACT;wBACE,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE;wBAC5C,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,qBAAqB,EAAE;qBACjD,EACD,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CACpC,CAAA;oBACD,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAA;iBAC9B;YACH,CAAC,CAAC;YACF,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBACtC,CAAC;gBAAA,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBAC9D,IAAI,CAAC,KAAK,GAAG,EAAE;wBACb,CAAC;wBAAC,CAAoB,CAAC,KAAK,CAAC,UAAU,GAAG,uBAAuB,CAAA;qBAClE;yBAAM;wBACL,CAAC;wBAAC,CAAoB,CAAC,KAAK,CAAC,UAAU,GAAG,oBAAoB,CAAA;qBAC/D;gBACH,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC;SACH,CAAA;QACD,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;IACpD,CAAC;IACD,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;;QACvC,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA;QACzB,OAAO,CACL,uCACE,SAAS,EAAC,4BAA4B,EACtC,KAAK,EAAE;gBACL,SAAS,EAAE,MAAM;gBACjB,QAAQ,EAAE,UAAU;gBACpB,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;gBAChD,YAAY,EAAE,iBAAiB;gBAC/B,UAAU,EAAE,MAAM;gBAClB,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE,MAAM;gBACZ,eAAe,EAAE,kBAAkB;gBACnC,SAAS,EAAE,6BAA6B;gBACxC,cAAc,EAAE,YAAY;gBAC5B,KAAK,EAAE,QAAQ,IAAI,CAAC,KAAK,CAAC,CAAA,MAAA,OAAO,CAAC,aAAa,0CAAE,qBAAqB,GAAG,KAAK,KAAI,GAAG,CAAC,WAAW;aAClG,IACA,QAAQ,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACpC,uCACE,SAAS,EAAC,iBAAiB,EAC3B,OAAO,EAAE,GAAG,EAAE;gBACZ,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAA;YAC5D,CAAC,EACD,KAAK,EAAE;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,SAAS;gBACjB,UAAU,EAAE,CAAC,KAAK,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,oBAAoB;aACpG,IACA,CAAC,CAAC,OAAO,CACN,CACP,CAAC,CACE,CACP,CAAA;IACH,CAAC;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"suggestion-list.js","sourceRoot":"","sources":["../../../src/components/suggest/suggestion-list.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../src/components/tabs.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,GAAG;IAClB,MAAM,EAAE,GAAG,CAAC,OAAO,CAAA;IACnB,SAAS,EAAE,GAAG,CAAC,OAAO,CAAA;CACvB;AAED,eAAO,MAAM,IAAI;UAEP,GAAG,EAAE;;;;uBAIO,MAAM,KAAK,IAAI;+EA0EnC,CAAA"}
1
+ {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../src/components/tabs.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,GAAG;IAClB,MAAM,EAAE,GAAG,CAAC,OAAO,CAAA;IACnB,SAAS,EAAE,GAAG,CAAC,OAAO,CAAA;CACvB;AAED,eAAO,MAAM,IAAI;UAEP,GAAG,EAAE;;;;uBAIO,MAAM,KAAK,IAAI;+EA6EnC,CAAA"}
@@ -9,9 +9,10 @@ exports.Tabs = (0, shades_1.Shade)({
9
9
  getInitialState: ({ props }) => ({ activeIndex: props.activeTab || 0 }),
10
10
  constructed: ({ injector, updateState, element }) => {
11
11
  const subscriptions = [
12
- injector.getInstance(shades_1.LocationService).onLocationChanged.subscribe((loc) => {
13
- if (loc.hash && loc.hash.startsWith('#tab-')) {
14
- const page = parseInt(loc.hash.replace('#tab-', ''), 10);
12
+ injector.getInstance(shades_1.LocationService).onLocationChanged.subscribe(() => {
13
+ const { hash } = location;
14
+ if (hash && hash.startsWith('#tab-')) {
15
+ const page = parseInt(hash.replace('#tab-', ''), 10);
15
16
  page && updateState({ activeIndex: page });
16
17
  }
17
18
  }, true),
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../src/components/tabs.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../src/components/tabs.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@furystack/shades-common-components",
3
- "version": "1.8.3",
3
+ "version": "2.0.4",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "build": "tsc --b",
@@ -13,13 +13,13 @@
13
13
  "author": "gallay.lajos@gmail.com",
14
14
  "license": "GPL-2.0",
15
15
  "devDependencies": {
16
- "typescript": "^4.5.2"
16
+ "typescript": "^4.5.5"
17
17
  },
18
18
  "dependencies": {
19
- "@furystack/shades": "^3.7.3",
19
+ "@furystack/shades": "^4.0.4",
20
20
  "uuid": "^8.3.2"
21
21
  },
22
22
  "typings": "dist/index.d.ts",
23
23
  "main": "dist/index.js",
24
- "gitHead": "b237a004ef9cfb654c49df3f131a98c134bff889"
24
+ "gitHead": "c06b94b4dc91dd3e37ba682e95e71a969e9454d2"
25
25
  }
@@ -3,26 +3,24 @@ import { ThemeProviderService } from '../services/theme-provider-service'
3
3
 
4
4
  export const AppBar = Shade({
5
5
  shadowDomName: 'shade-app-bar',
6
- constructed: ({ element, injector }) => {
6
+ resources: ({ element, injector }) => [
7
+ injector.getInstance(ThemeProviderService).theme.subscribe((t) => {
8
+ ;(element.children[0] as HTMLElement).style.color = t.text.secondary
9
+ }, true), // TODO: Check TRUE
10
+ ],
11
+ constructed: ({ element }) => {
7
12
  const container = element.children[0] as HTMLElement
8
13
  requestAnimationFrame(() => {
9
14
  container.style.padding = '8px 8px'
10
15
  container.style.opacity = '1'
11
16
  })
12
- const themeChanged = injector.getInstance(ThemeProviderService).theme.subscribe((t) => {
13
- container.style.color = t.text.secondary
14
- })
15
- return () => themeChanged.dispose()
16
17
  },
17
- render: ({ children, injector }) => {
18
- const themeProvider = injector.getInstance(ThemeProviderService)
19
-
18
+ render: ({ children }) => {
20
19
  return (
21
20
  <div
22
21
  style={{
23
22
  width: '100%',
24
23
  background: 'rgba(128,128,128,0.2)',
25
- color: themeProvider.theme.getValue().text.secondary,
26
24
  backdropFilter: 'blur(15px)',
27
25
  display: 'flex',
28
26
  justifyContent: 'flex-start',
@@ -34,7 +32,8 @@ export const AppBar = Shade({
34
32
  opacity: '0',
35
33
  position: 'fixed',
36
34
  zIndex: '1',
37
- }}>
35
+ }}
36
+ >
38
37
  {children}
39
38
  </div>
40
39
  )
@@ -17,7 +17,8 @@ export const Avatar = Shade<AvatarProps>({
17
17
  boxShadow: '0px 0px 8px 3px rgba(128,128,128,0.2)',
18
18
  backgroundColor: 'rgba(128,128,128,0.3)',
19
19
  ...(props.style || {}),
20
- }}>
20
+ }}
21
+ >
21
22
  <img
22
23
  style={{ width: '100%', height: '100%' }}
23
24
  alt={'avatar image'}
@@ -111,7 +111,6 @@ export const Button = Shade<ButtonProps, { theme: Theme }>({
111
111
  const hoveredTextColor = getHoveredTextColor(props, theme, () =>
112
112
  injector.getInstance(ThemeProviderService).getTextColor(background),
113
113
  )
114
-
115
114
  return (
116
115
  <button
117
116
  onmousedown={function (ev) {
@@ -178,7 +177,8 @@ export const Button = Shade<ButtonProps, { theme: Theme }>({
178
177
  filter: 'drop-shadow(1px 1px 10px rgba(0,0,0,.5))',
179
178
  backdropFilter: props.variant === 'outlined' ? 'blur(35px)' : undefined,
180
179
  ...props.style,
181
- }}>
180
+ }}
181
+ >
182
182
  {children}
183
183
  </button>
184
184
  )
@@ -79,7 +79,8 @@ export const CommandPaletteSuggestionList = Shade<
79
79
  boxShadow: '3px 3px 5px rgba(0,0,0,0.3)',
80
80
  width: `calc(${Math.round(element.parentElement?.getBoundingClientRect().width || 200)}px - 3em)`,
81
81
  ...(props.fullScreenSuggestions ? { left: '0', width: 'calc(100% - 42px)' } : {}),
82
- }}>
82
+ }}
83
+ >
83
84
  {getState().suggestions.map((s, i) => (
84
85
  <div
85
86
  className="suggestion-item"
@@ -90,7 +91,8 @@ export const CommandPaletteSuggestionList = Shade<
90
91
  padding: '1em',
91
92
  cursor: 'default',
92
93
  background: i === manager.selectedIndex.getValue() ? 'rgba(128,128,128,0.2)' : 'transparent',
93
- }}>
94
+ }}
95
+ >
94
96
  {s.element}
95
97
  </div>
96
98
  ))}
@@ -111,7 +111,8 @@ export const CommandPalette = Shade<CommandPaletteProps, CommandPaletteState>({
111
111
  }
112
112
 
113
113
  manager.getSuggestion({ injector, term: (ev.target as any).value })
114
- }}>
114
+ }}
115
+ >
115
116
  <div
116
117
  className="input-container"
117
118
  style={{
@@ -122,7 +123,8 @@ export const CommandPalette = Shade<CommandPaletteProps, CommandPaletteState>({
122
123
  borderRadius: '5px',
123
124
  position: 'relative',
124
125
  ...props.style,
125
- }}>
126
+ }}
127
+ >
126
128
  <div
127
129
  className="term-icon"
128
130
  style={{
@@ -131,7 +133,8 @@ export const CommandPalette = Shade<CommandPaletteProps, CommandPaletteState>({
131
133
  fontWeight: 'bolder',
132
134
  textShadow: '0 0 1px #aaa',
133
135
  }}
134
- onclick={() => manager.isOpened.setValue(true)}>
136
+ onclick={() => manager.isOpened.setValue(true)}
137
+ >
135
138
  {props.defaultPrefix}
136
139
  </div>
137
140
  <CommandPaletteInput manager={manager} />
@@ -143,10 +146,12 @@ export const CommandPalette = Shade<CommandPaletteProps, CommandPaletteState>({
143
146
  justifyContent: 'space-between',
144
147
  width: manager.isOpened.getValue() ? '50px' : '0px',
145
148
  overflow: 'hidden',
146
- }}>
149
+ }}
150
+ >
147
151
  <div
148
152
  className="loader-container"
149
- style={{ width: '20px', height: '20px', opacity: manager.isLoading.getValue() ? '1' : '0' }}>
153
+ style={{ width: '20px', height: '20px', opacity: manager.isLoading.getValue() ? '1' : '0' }}
154
+ >
150
155
  <Loader style={{ width: '100%', height: '100%' }} />
151
156
  </div>
152
157
  <div
@@ -160,7 +165,8 @@ export const CommandPalette = Shade<CommandPaletteProps, CommandPaletteState>({
160
165
  alignItems: 'center',
161
166
  justifyContent: 'center',
162
167
  cursor: 'pointer',
163
- }}>
168
+ }}
169
+ >
164
170
 
165
171
  </div>
166
172
  </div>
@@ -71,7 +71,8 @@ export const DataGridBody: <T>(props: DataGridBodyProps<T>, children: ChildrenLi
71
71
  props.service.selection.setValue([entry])
72
72
  }
73
73
  }}
74
- ondblclick={() => props.onDoubleClick?.(entry)}>
74
+ ondblclick={() => props.onDoubleClick?.(entry)}
75
+ >
75
76
  {props.columns.map((column: any) => (
76
77
  <td style={{ padding: '0.5em', ...props.style }}>
77
78
  {props.rowComponents?.[column]?.(entry, state) || props.rowComponents?.default?.(entry, state) || (
@@ -85,7 +85,8 @@ export const DataGrid: <T>(props: DataGridProps<T>, children: ChildrenList) => J
85
85
  height: '100%',
86
86
  overflow: 'auto',
87
87
  zIndex: '1',
88
- }}>
88
+ }}
89
+ >
89
90
  <table style={{ width: '100%', height: 'calc(100% - 4em)', position: 'relative' }}>
90
91
  <thead>
91
92
  <tr>
@@ -40,7 +40,8 @@ export const DataGridFooter = Shade<{ service: CollectionService<any> }, { data:
40
40
  justifyContent: 'flex-end',
41
41
  padding: '1em',
42
42
  alignItems: 'center',
43
- }}>
43
+ }}
44
+ >
44
45
  <div>
45
46
  Goto page
46
47
  <select
@@ -49,7 +50,8 @@ export const DataGridFooter = Shade<{ service: CollectionService<any> }, { data:
49
50
  const value = parseInt((ev.target as any).value, 10)
50
51
  const currentQuery = props.service.querySettings.getValue()
51
52
  props.service.querySettings.setValue({ ...currentQuery, skip: (currentQuery.top || 0) * value })
52
- }}>
53
+ }}
54
+ >
53
55
  {[...new Array(Math.ceil(state.data.count / (props.service.querySettings.getValue().top || Infinity)))].map(
54
56
  (_val, index) => (
55
57
  <option value={index.toString()} selected={currentPage === index}>
@@ -71,7 +73,8 @@ export const DataGridFooter = Shade<{ service: CollectionService<any> }, { data:
71
73
  top: value,
72
74
  skip: currentPage * value,
73
75
  })
74
- }}>
76
+ }}
77
+ >
75
78
  {dataGridItemsPerPage.map((no) => (
76
79
  <option value={no.toString()} selected={no === currentQuerySettings.top}>
77
80
  {no.toString()}
@@ -70,7 +70,8 @@ export const DataGridHeader: <T, K extends keyof T>(
70
70
  return (
71
71
  <div
72
72
  style={{ display: 'flex', width: '100%', height: '100%', justifyContent: 'space-around' }}
73
- onclick={() => updateState({ isSearchOpened: true })}>
73
+ onclick={() => updateState({ isSearchOpened: true })}
74
+ >
74
75
  <div>{props.field}</div>
75
76
  <div className="header-controls" style={{ display: 'flex', justifyContent: 'center', alignItems: 'center' }}>
76
77
  <div
@@ -89,7 +90,8 @@ export const DataGridHeader: <T, K extends keyof T>(
89
90
  ...currentState.querySettings,
90
91
  order: newOrder,
91
92
  })
92
- }}>
93
+ }}
94
+ >
93
95
  {(currentOrder === props.field && (currentOrderDirection === 'ASC' ? '⬇' : '⬆')) || '↕'}
94
96
  </div>
95
97
  </div>
@@ -20,7 +20,8 @@ export const Fab = Shade<PartialElement<HTMLDivElement>>({
20
20
  boxShadow: '2px 2px 4px rgba(0,0,0,0.3)',
21
21
  cursor: 'pointer',
22
22
  ...props.style,
23
- }}>
23
+ }}
24
+ >
24
25
  {children}
25
26
  </div>
26
27
  )
@@ -24,16 +24,15 @@ export type RowCells<T> = {
24
24
 
25
25
  export const Grid: <T>(props: GridProps<T>, children: ChildrenList) => JSX.Element<any, any> = Shade({
26
26
  shadowDomName: 'shade-grid',
27
- constructed: ({ injector, element }) => {
28
- const themeChanged = injector.getInstance(ThemeProviderService).theme.subscribe((t) => {
27
+ resources: ({ injector, element }) => [
28
+ injector.getInstance(ThemeProviderService).theme.subscribe((t) => {
29
29
  const headers = element.querySelectorAll('th')
30
30
  headers.forEach((header) => {
31
31
  header.style.color = t.text.secondary
32
32
  header.style.background = t.background.paper
33
33
  })
34
- })
35
- return () => themeChanged.dispose()
36
- },
34
+ }),
35
+ ],
37
36
  render: ({ props, injector }) => {
38
37
  const theme = injector.getInstance(ThemeProviderService).theme.getValue()
39
38
  const headerStyle: Partial<CSSStyleDeclaration> = {
@@ -55,7 +54,8 @@ export const Grid: <T>(props: GridProps<T>, children: ChildrenList) => JSX.Eleme
55
54
  width: '100%',
56
55
  height: '100%',
57
56
  overflow: 'auto',
58
- }}>
57
+ }}
58
+ >
59
59
  <table style={{ width: '100%', position: 'relative' }}>
60
60
  <thead>
61
61
  <tr>
@@ -38,7 +38,8 @@ export const Input = Shade<TextInputProps>({
38
38
  marginBottom: '1em',
39
39
  padding: '1em',
40
40
  ...props.labelProps?.style,
41
- }}>
41
+ }}
42
+ >
42
43
  {props.labelTitle}
43
44
  {props.multiLine ? (
44
45
  <div
@@ -52,7 +53,8 @@ export const Input = Shade<TextInputProps>({
52
53
  width: '100%',
53
54
  textOverflow: 'ellipsis',
54
55
  ...props.style,
55
- }}>
56
+ }}
57
+ >
56
58
  {props.value}
57
59
  </div>
58
60
  ) : (
@@ -7,7 +7,8 @@ export const Loader = Shade<{ style?: Partial<CSSStyleDeclaration> }>({
7
7
  <div
8
8
  style={{
9
9
  ...((props && props.style) || {}),
10
- }}>
10
+ }}
11
+ >
11
12
  <style>
12
13
  {`/* LOADER 1 */
13
14
 
@@ -51,7 +52,8 @@ export const Loader = Shade<{ style?: Partial<CSSStyleDeclaration> }>({
51
52
  position: 'relative',
52
53
  width: '100%',
53
54
  height: '100%',
54
- }}>
55
+ }}
56
+ >
55
57
  <div className="three col">
56
58
  <div className="loader" id="loader-1"></div>
57
59
  </div>
@@ -14,7 +14,8 @@ export const Modal = Shade<{ isVisible: boolean; onClose?: () => void }>({
14
14
  position: 'fixed',
15
15
  top: '0',
16
16
  left: '0',
17
- }}>
17
+ }}
18
+ >
18
19
  {children}
19
20
  </div>
20
21
  ) : (
@@ -81,7 +81,8 @@ export const NotyComponent = Shade<{ model: NotyModel; onDismiss: () => void }>(
81
81
  overflow: 'hidden',
82
82
  borderRadius: '6px',
83
83
  boxShadow: '1px 3px 6px rgba(0,0,0,0.3)',
84
- }}>
84
+ }}
85
+ >
85
86
  <div
86
87
  style={{
87
88
  display: 'flex',
@@ -91,7 +92,8 @@ export const NotyComponent = Shade<{ model: NotyModel; onDismiss: () => void }>(
91
92
  backgroundColor: colors.dark,
92
93
  color: headerTextColor,
93
94
  fontSize: '1.3em',
94
- }}>
95
+ }}
96
+ >
95
97
  <h5
96
98
  style={{
97
99
  whiteSpace: 'nowrap',
@@ -99,7 +101,8 @@ export const NotyComponent = Shade<{ model: NotyModel; onDismiss: () => void }>(
99
101
  textOverflow: 'ellipsis',
100
102
  margin: '0',
101
103
  }}
102
- title={props.model.title}>
104
+ title={props.model.title}
105
+ >
103
106
  {props.model.title}
104
107
  </h5>
105
108
  <Button
@@ -108,9 +111,7 @@ export const NotyComponent = Shade<{ model: NotyModel; onDismiss: () => void }>(
108
111
  title="Close Notification"
109
112
  variant="contained"
110
113
  color={props.model.type}
111
- style={{
112
- padding: '6px',
113
- }}>
114
+ >
114
115
 
115
116
  </Button>
116
117
  </div>
@@ -148,7 +149,8 @@ export const NotyList = Shade<unknown, { currentNotys: NotyModel[] }>({
148
149
  right: '1em',
149
150
  display: 'flex',
150
151
  flexDirection: 'column',
151
- }}>
152
+ }}
153
+ >
152
154
  {getState().currentNotys.map((n) => (
153
155
  <NotyComponent model={n} onDismiss={() => injector.getInstance(NotyService).removeNoty(n)} />
154
156
  ))}
@@ -3,13 +3,14 @@ import { ThemeProviderService } from '../services/theme-provider-service'
3
3
 
4
4
  export const Paper = Shade<PartialElement<HTMLDivElement> & { elevation?: 1 | 2 | 3 }>({
5
5
  shadowDomName: 'shade-paper',
6
- constructed: ({ injector, element }) => {
6
+ resources: ({ injector, element }) => {
7
7
  const themeProvider = injector.getInstance(ThemeProviderService)
8
- const observable = themeProvider.theme.subscribe((newTheme) => {
9
- ;(element.firstChild as HTMLDivElement).style.background = newTheme.background.paper
10
- ;(element.firstChild as HTMLDivElement).style.color = themeProvider.theme.getValue().text.secondary
11
- })
12
- return () => observable.dispose()
8
+ return [
9
+ themeProvider.theme.subscribe((newTheme) => {
10
+ ;(element.firstChild as HTMLDivElement).style.background = newTheme.background.paper
11
+ ;(element.firstChild as HTMLDivElement).style.color = themeProvider.theme.getValue().text.secondary
12
+ }),
13
+ ]
13
14
  },
14
15
  render: ({ injector, props, children }) => {
15
16
  const themeProvider = injector.getInstance(ThemeProviderService)
@@ -24,7 +25,8 @@ export const Paper = Shade<PartialElement<HTMLDivElement> & { elevation?: 1 | 2
24
25
  margin: '8px',
25
26
  padding: '6px 16px',
26
27
  ...(props ? props.style : {}),
27
- }}>
28
+ }}
29
+ >
28
30
  {children}
29
31
  </div>
30
32
  )
@@ -114,7 +114,8 @@ export const Suggest: <T>(props: SuggestProps<T>, children: ChildrenList) => JSX
114
114
  }
115
115
 
116
116
  manager.getSuggestion({ injector, term: (ev.target as any).value })
117
- }}>
117
+ }}
118
+ >
118
119
  <div
119
120
  className="input-container"
120
121
  style={{
@@ -126,7 +127,8 @@ export const Suggest: <T>(props: SuggestProps<T>, children: ChildrenList) => JSX
126
127
  position: 'relative',
127
128
  background: 'rgba(128,128,128,0.1)',
128
129
  ...props.style,
129
- }}>
130
+ }}
131
+ >
130
132
  <div
131
133
  className="term-icon"
132
134
  style={{
@@ -135,7 +137,8 @@ export const Suggest: <T>(props: SuggestProps<T>, children: ChildrenList) => JSX
135
137
  fontWeight: 'bolder',
136
138
  textShadow: '0 0 1px #aaa',
137
139
  }}
138
- onclick={() => manager.isOpened.setValue(true)}>
140
+ onclick={() => manager.isOpened.setValue(true)}
141
+ >
139
142
  {props.defaultPrefix}
140
143
  </div>
141
144
  <SuggestInput manager={manager} />
@@ -147,10 +150,12 @@ export const Suggest: <T>(props: SuggestProps<T>, children: ChildrenList) => JSX
147
150
  justifyContent: 'space-between',
148
151
  width: manager.isOpened.getValue() ? '50px' : '0px',
149
152
  overflow: 'hidden',
150
- }}>
153
+ }}
154
+ >
151
155
  <div
152
156
  className="loader-container"
153
- style={{ width: '20px', height: '20px', opacity: manager.isLoading.getValue() ? '1' : '0' }}>
157
+ style={{ width: '20px', height: '20px', opacity: manager.isLoading.getValue() ? '1' : '0' }}
158
+ >
154
159
  <Loader style={{ width: '100%', height: '100%' }} />
155
160
  </div>
156
161
  <div
@@ -164,7 +169,8 @@ export const Suggest: <T>(props: SuggestProps<T>, children: ChildrenList) => JSX
164
169
  alignItems: 'center',
165
170
  justifyContent: 'center',
166
171
  cursor: 'pointer',
167
- }}>
172
+ }}
173
+ >
168
174
 
169
175
  </div>
170
176
  </div>