@furystack/shades-common-components 4.0.17 → 5.0.1

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 (173) hide show
  1. package/{dist → esm}/components/animations.js +10 -20
  2. package/esm/components/animations.js.map +1 -0
  3. package/{dist → esm}/components/app-bar-link.js +10 -13
  4. package/esm/components/app-bar-link.js.map +1 -0
  5. package/{dist → esm}/components/app-bar.js +6 -9
  6. package/esm/components/app-bar.js.map +1 -0
  7. package/{dist → esm}/components/avatar.js +6 -9
  8. package/esm/components/avatar.js.map +1 -0
  9. package/{dist → esm}/components/button.js +12 -15
  10. package/esm/components/button.js.map +1 -0
  11. package/{dist → esm}/components/command-palette/command-palette-input.js +8 -11
  12. package/esm/components/command-palette/command-palette-input.js.map +1 -0
  13. package/{dist → esm}/components/command-palette/command-palette-manager.js +10 -13
  14. package/esm/components/command-palette/command-palette-manager.js.map +1 -0
  15. package/{dist → esm}/components/command-palette/command-palette-suggestion-list.js +9 -12
  16. package/esm/components/command-palette/command-palette-suggestion-list.js.map +1 -0
  17. package/esm/components/command-palette/command-provider.js +2 -0
  18. package/esm/components/command-palette/index.js +126 -0
  19. package/esm/components/command-palette/index.js.map +1 -0
  20. package/esm/components/data-grid/body.js +19 -0
  21. package/esm/components/data-grid/body.js.map +1 -0
  22. package/{dist → esm}/components/data-grid/data-grid-row.js +10 -13
  23. package/esm/components/data-grid/data-grid-row.js.map +1 -0
  24. package/esm/components/data-grid/data-grid.js +50 -0
  25. package/esm/components/data-grid/data-grid.js.map +1 -0
  26. package/{dist → esm}/components/data-grid/footer.js +12 -15
  27. package/esm/components/data-grid/footer.js.map +1 -0
  28. package/{dist → esm}/components/data-grid/header.js +29 -32
  29. package/esm/components/data-grid/header.js.map +1 -0
  30. package/esm/components/data-grid/index.js +3 -0
  31. package/{dist → esm}/components/data-grid/index.js.map +1 -1
  32. package/{dist → esm}/components/data-grid/selection-cell.js +3 -6
  33. package/esm/components/data-grid/selection-cell.js.map +1 -0
  34. package/{dist → esm}/components/fab.js +5 -8
  35. package/esm/components/fab.js.map +1 -0
  36. package/{dist → esm}/components/form.js +13 -16
  37. package/esm/components/form.js.map +1 -0
  38. package/esm/components/grid.js +32 -0
  39. package/esm/components/grid.js.map +1 -0
  40. package/esm/components/index.js +21 -0
  41. package/esm/components/index.js.map +1 -0
  42. package/{dist → esm}/components/inputs/autocomplete.js +6 -9
  43. package/esm/components/inputs/autocomplete.js.map +1 -0
  44. package/esm/components/inputs/index.js +4 -0
  45. package/esm/components/inputs/index.js.map +1 -0
  46. package/{dist → esm}/components/inputs/input.js +17 -20
  47. package/esm/components/inputs/input.js.map +1 -0
  48. package/{dist → esm}/components/inputs/text-area.js +12 -15
  49. package/esm/components/inputs/text-area.js.map +1 -0
  50. package/{dist → esm}/components/loader.js +8 -11
  51. package/esm/components/loader.js.map +1 -0
  52. package/{dist → esm}/components/modal.js +3 -6
  53. package/esm/components/modal.js.map +1 -0
  54. package/{dist → esm}/components/noty-list.js +22 -26
  55. package/esm/components/noty-list.js.map +1 -0
  56. package/{dist → esm}/components/paper.js +7 -10
  57. package/esm/components/paper.js.map +1 -0
  58. package/{dist → esm}/components/skeleton.js +6 -9
  59. package/esm/components/skeleton.js.map +1 -0
  60. package/{dist → esm}/components/styles.js +2 -5
  61. package/esm/components/styles.js.map +1 -0
  62. package/{dist → esm}/components/suggest/index.js +30 -47
  63. package/esm/components/suggest/index.js.map +1 -0
  64. package/{dist → esm}/components/suggest/suggest-input.js +5 -8
  65. package/esm/components/suggest/suggest-input.js.map +1 -0
  66. package/{dist → esm}/components/suggest/suggest-manager.js +11 -14
  67. package/esm/components/suggest/suggest-manager.js.map +1 -0
  68. package/{dist → esm}/components/suggest/suggestion-list.js +9 -12
  69. package/esm/components/suggest/suggestion-list.js.map +1 -0
  70. package/esm/components/suggest/suggestion-result.js +2 -0
  71. package/{dist → esm}/components/tabs.js +12 -15
  72. package/esm/components/tabs.js.map +1 -0
  73. package/{dist → esm}/components/wizard/index.js +6 -9
  74. package/esm/components/wizard/index.js.map +1 -0
  75. package/esm/index.js +4 -0
  76. package/esm/index.js.map +1 -0
  77. package/{dist → esm}/services/click-away-service.js +1 -5
  78. package/esm/services/click-away-service.js.map +1 -0
  79. package/{dist → esm}/services/collection-service.js +13 -20
  80. package/esm/services/collection-service.js.map +1 -0
  81. package/{dist → esm}/services/default-dark-theme.js +3 -6
  82. package/esm/services/default-dark-theme.js.map +1 -0
  83. package/{dist → esm}/services/default-light-theme.js +3 -6
  84. package/esm/services/default-light-theme.js.map +1 -0
  85. package/{dist → esm}/services/default-palette.js +1 -4
  86. package/esm/services/default-palette.js.map +1 -0
  87. package/{dist → esm}/services/default-variable-theme.js +6 -12
  88. package/esm/services/default-variable-theme.js.map +1 -0
  89. package/esm/services/index.js +9 -0
  90. package/esm/services/index.js.map +1 -0
  91. package/{dist → esm}/services/noty-service.js +7 -10
  92. package/esm/services/noty-service.js.map +1 -0
  93. package/{dist → esm}/services/theme-provider-service.js +8 -12
  94. package/esm/services/theme-provider-service.js.map +1 -0
  95. package/esm/utils/index.js +2 -0
  96. package/esm/utils/index.js.map +1 -0
  97. package/{dist → esm}/utils/promisify-animation.js +1 -5
  98. package/esm/utils/promisify-animation.js.map +1 -0
  99. package/package.json +30 -9
  100. package/src/components/inputs/input.tsx +0 -1
  101. package/src/services/collection-service.ts +2 -3
  102. package/src/utils/promisify-animation.spec.ts +4 -3
  103. package/types/components/inputs/input.d.ts +0 -1
  104. package/types/components/inputs/input.d.ts.map +1 -1
  105. package/types/services/collection-service.d.ts +0 -1
  106. package/types/services/collection-service.d.ts.map +1 -1
  107. package/dist/components/animations.js.map +0 -1
  108. package/dist/components/app-bar-link.js.map +0 -1
  109. package/dist/components/app-bar.js.map +0 -1
  110. package/dist/components/avatar.js.map +0 -1
  111. package/dist/components/button.js.map +0 -1
  112. package/dist/components/command-palette/command-palette-input.js.map +0 -1
  113. package/dist/components/command-palette/command-palette-manager.js.map +0 -1
  114. package/dist/components/command-palette/command-palette-suggestion-list.js.map +0 -1
  115. package/dist/components/command-palette/command-provider.js +0 -3
  116. package/dist/components/command-palette/index.js +0 -143
  117. package/dist/components/command-palette/index.js.map +0 -1
  118. package/dist/components/data-grid/body.js +0 -22
  119. package/dist/components/data-grid/body.js.map +0 -1
  120. package/dist/components/data-grid/data-grid-row.js.map +0 -1
  121. package/dist/components/data-grid/data-grid.js +0 -53
  122. package/dist/components/data-grid/data-grid.js.map +0 -1
  123. package/dist/components/data-grid/footer.js.map +0 -1
  124. package/dist/components/data-grid/header.js.map +0 -1
  125. package/dist/components/data-grid/index.js +0 -19
  126. package/dist/components/data-grid/selection-cell.js.map +0 -1
  127. package/dist/components/fab.js.map +0 -1
  128. package/dist/components/form.js.map +0 -1
  129. package/dist/components/grid.js +0 -35
  130. package/dist/components/grid.js.map +0 -1
  131. package/dist/components/index.js +0 -37
  132. package/dist/components/index.js.map +0 -1
  133. package/dist/components/inputs/autocomplete.js.map +0 -1
  134. package/dist/components/inputs/index.js +0 -20
  135. package/dist/components/inputs/index.js.map +0 -1
  136. package/dist/components/inputs/input.js.map +0 -1
  137. package/dist/components/inputs/text-area.js.map +0 -1
  138. package/dist/components/loader.js.map +0 -1
  139. package/dist/components/modal.js.map +0 -1
  140. package/dist/components/noty-list.js.map +0 -1
  141. package/dist/components/paper.js.map +0 -1
  142. package/dist/components/skeleton.js.map +0 -1
  143. package/dist/components/styles.js.map +0 -1
  144. package/dist/components/suggest/index.js.map +0 -1
  145. package/dist/components/suggest/suggest-input.js.map +0 -1
  146. package/dist/components/suggest/suggest-manager.js.map +0 -1
  147. package/dist/components/suggest/suggestion-list.js.map +0 -1
  148. package/dist/components/suggest/suggestion-result.js +0 -3
  149. package/dist/components/tabs.js.map +0 -1
  150. package/dist/components/wizard/index.js.map +0 -1
  151. package/dist/index.js +0 -20
  152. package/dist/index.js.map +0 -1
  153. package/dist/services/click-away-service.js.map +0 -1
  154. package/dist/services/collection-service.js.map +0 -1
  155. package/dist/services/default-dark-theme.js.map +0 -1
  156. package/dist/services/default-light-theme.js.map +0 -1
  157. package/dist/services/default-palette.js.map +0 -1
  158. package/dist/services/default-variable-theme.js.map +0 -1
  159. package/dist/services/index.js +0 -25
  160. package/dist/services/index.js.map +0 -1
  161. package/dist/services/noty-service.js.map +0 -1
  162. package/dist/services/theme-provider-service.js.map +0 -1
  163. package/dist/utils/index.js +0 -18
  164. package/dist/utils/index.js.map +0 -1
  165. package/dist/utils/promisify-animation.js.map +0 -1
  166. package/dist/utils/promisify-animation.spec.js +0 -41
  167. package/dist/utils/promisify-animation.spec.js.map +0 -1
  168. package/tsconfig.json +0 -14
  169. package/tsconfig.tsbuildinfo +0 -1
  170. package/types/utils/promisify-animation.spec.d.ts +0 -2
  171. package/types/utils/promisify-animation.spec.d.ts.map +0 -1
  172. /package/{dist → esm}/components/command-palette/command-provider.js.map +0 -0
  173. /package/{dist → esm}/components/suggest/suggestion-result.js.map +0 -0
@@ -0,0 +1,19 @@
1
+ import { Shade, createComponent } from '@furystack/shades';
2
+ import { Loader } from '../loader';
3
+ import { DataGridRow } from './data-grid-row';
4
+ export const DataGridBody = Shade({
5
+ shadowDomName: 'shade-data-grid-body',
6
+ render: ({ props, element, useObservable }) => {
7
+ element.style.display = 'table-row-group';
8
+ const [data] = useObservable('data', props.service.data);
9
+ const [isLoading] = useObservable('isLoading', props.service.isLoading);
10
+ if (isLoading) {
11
+ return (createComponent("div", { style: { display: 'flex', height: '100%', justifyContent: 'center', alignItems: 'center', width: '100%' } }, props.loaderComponent || createComponent(Loader, { style: { height: '128px', width: '128px' } })));
12
+ }
13
+ if (!data?.entries?.length) {
14
+ return props.emptyComponent || createComponent("div", null, " - No Data - ");
15
+ }
16
+ return (createComponent(createComponent, null, data?.entries?.map((entry) => (createComponent(DataGridRow, { columns: props.columns, entry: entry, service: props.service, rowComponents: props.rowComponents, onRowClick: props.onRowClick, onRowDoubleClick: props.onRowDoubleClick, focusedRowStyle: props.focusedRowStyle, unfocusedRowStyle: props.unfocusedRowStyle, selectedRowStyle: props.selectedRowStyle, unselectedRowStyle: props.unselectedRowStyle })))));
17
+ },
18
+ });
19
+ //# sourceMappingURL=body.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"body.js","sourceRoot":"","sources":["../../../src/components/data-grid/body.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAE1D,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAiB7C,MAAM,CAAC,MAAM,YAAY,GAAiF,KAAK,CAE7G;IACA,aAAa,EAAE,sBAAsB;IACrC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE;QAC5C,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,iBAAiB,CAAA;QAEzC,MAAM,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACxD,MAAM,CAAC,SAAS,CAAC,GAAG,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QAEvE,IAAI,SAAS,EAAE;YACb,OAAO,CACL,yBAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAE3G,KAAK,CAAC,eAAe,IAAI,gBAAC,MAAM,IAAC,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAI,CAC5E,CACP,CAAA;SACF;QAED,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE;YAC1B,OAAO,KAAK,CAAC,cAAc,IAAI,6CAAwB,CAAA;SACxD;QAED,OAAO,CACL,uCACG,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC7B,gBAAC,WAAW,IACV,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EACxC,eAAe,EAAE,KAAK,CAAC,eAAe,EACtC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAC1C,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EACxC,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,GAC/B,CAChB,CAAC,CACD,CACJ,CAAA;IACH,CAAC;CACF,CAAC,CAAA"}
@@ -1,22 +1,19 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DataGridRow = void 0;
4
- const shades_1 = require("@furystack/shades");
5
- const services_1 = require("../../services");
6
- exports.DataGridRow = (0, shades_1.Shade)({
1
+ import { attachStyles, createComponent, Shade } from '@furystack/shades';
2
+ import { ThemeProviderService } from '../../services';
3
+ export const DataGridRow = Shade({
7
4
  shadowDomName: 'shades-data-grid-row',
8
5
  render: ({ props, element, useObservable, injector }) => {
9
6
  const { entry, rowComponents, columns, service } = props;
10
- const { theme } = injector.getInstance(services_1.ThemeProviderService);
7
+ const { theme } = injector.getInstance(ThemeProviderService);
11
8
  const attachSelectedStyles = (selection) => {
12
9
  if (selection.includes(entry)) {
13
10
  element.classList.add('selected');
14
- (0, shades_1.attachStyles)(element, { style: props.selectedRowStyle || { backgroundColor: theme.background.default } });
11
+ attachStyles(element, { style: props.selectedRowStyle || { backgroundColor: theme.background.default } });
15
12
  element.setAttribute('aria-selected', 'true');
16
13
  }
17
14
  else {
18
15
  element.classList.remove('selected');
19
- (0, shades_1.attachStyles)(element, { style: props.unselectedRowStyle || { backgroundColor: 'transparent' } });
16
+ attachStyles(element, { style: props.unselectedRowStyle || { backgroundColor: 'transparent' } });
20
17
  element.setAttribute('aria-selected', 'false');
21
18
  }
22
19
  };
@@ -24,7 +21,7 @@ exports.DataGridRow = (0, shades_1.Shade)({
24
21
  attachSelectedStyles(selection);
25
22
  const [focus] = useObservable('focus', service.focusedEntry, (newEntry) => {
26
23
  if (newEntry === props.entry) {
27
- (0, shades_1.attachStyles)(element, {
24
+ attachStyles(element, {
28
25
  style: props.focusedRowStyle || {
29
26
  boxShadow: `0 0 0 1px ${theme.palette.primary.main}`,
30
27
  fontWeight: 'bolder',
@@ -48,7 +45,7 @@ exports.DataGridRow = (0, shades_1.Shade)({
48
45
  }
49
46
  else {
50
47
  element.classList.remove('focused');
51
- (0, shades_1.attachStyles)(element, {
48
+ attachStyles(element, {
52
49
  style: props.unfocusedRowStyle || {
53
50
  boxShadow: 'none',
54
51
  fontWeight: 'inherit',
@@ -67,8 +64,8 @@ exports.DataGridRow = (0, shades_1.Shade)({
67
64
  element.classList.add('focused');
68
65
  }
69
66
  element.setAttribute('aria-selected', selection?.includes(entry).toString() || 'false');
70
- return ((0, shades_1.createComponent)(shades_1.createComponent, null, columns.map((column) => ((0, shades_1.createComponent)("td", { style: { padding: '0.5em' }, onclick: (ev) => props.onRowClick?.(entry, ev), ondblclick: (ev) => props.onRowDoubleClick?.(entry, ev) }, rowComponents?.[column]?.(entry, { selection, focus }) ||
71
- rowComponents?.default?.(entry, { selection, focus }) || (0, shades_1.createComponent)("span", null, entry[column]))))));
67
+ return (createComponent(createComponent, null, columns.map((column) => (createComponent("td", { style: { padding: '0.5em' }, onclick: (ev) => props.onRowClick?.(entry, ev), ondblclick: (ev) => props.onRowDoubleClick?.(entry, ev) }, rowComponents?.[column]?.(entry, { selection, focus }) ||
68
+ rowComponents?.default?.(entry, { selection, focus }) || createComponent("span", null, entry[column]))))));
72
69
  },
73
70
  });
74
71
  //# sourceMappingURL=data-grid-row.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-grid-row.js","sourceRoot":"","sources":["../../../src/components/data-grid/data-grid-row.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAiBrD,MAAM,CAAC,MAAM,WAAW,GAAgF,KAAK,CAE3G;IACA,aAAa,EAAE,sBAAsB;IAErC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,EAAE;QACtD,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA;QAExD,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAA;QAE5D,MAAM,oBAAoB,GAAG,CAAC,SAAgB,EAAE,EAAE;YAChD,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBAC7B,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;gBACjC,YAAY,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,gBAAgB,IAAI,EAAE,eAAe,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;gBACzG,OAAO,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;aAC9C;iBAAM;gBACL,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;gBACpC,YAAY,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,kBAAkB,IAAI,EAAE,eAAe,EAAE,aAAa,EAAE,EAAE,CAAC,CAAA;gBAChG,OAAO,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;aAC/C;QACH,CAAC,CAAA;QAED,MAAM,CAAC,SAAS,CAAC,GAAG,aAAa,CAAC,YAAY,EAAE,OAAO,CAAC,SAAS,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAA;QAE9F,oBAAoB,CAAC,SAAS,CAAC,CAAA;QAE/B,MAAM,CAAC,KAAK,CAAC,GAAG,aAAa,CAC3B,OAAO,EACP,OAAO,CAAC,YAAY,EACpB,CAAC,QAAQ,EAAE,EAAE;YACX,IAAI,QAAQ,KAAK,KAAK,CAAC,KAAK,EAAE;gBAC5B,YAAY,CAAC,OAAO,EAAE;oBACpB,KAAK,EAAE,KAAK,CAAC,eAAe,IAAI;wBAC9B,SAAS,EAAE,aAAa,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE;wBACpD,UAAU,EAAE,QAAQ;qBACrB;iBACF,CAAC,CAAA;gBAEF,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;gBAEhC,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,qBAAqB,EAAE,CAAC,MAAM,IAAI,EAAE,CAAA;gBAExG,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAgB,CAAA;gBACpE,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,YAAY,CAAA;gBAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAA;gBACnC,IAAI,MAAM,GAAG,UAAU,EAAE;oBACvB,MAAM,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAA;iBACrD;gBAED,MAAM,YAAY,GAChB,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,aAAa,CAAC,wBAAwB,CAAC,EAAE,qBAAqB,EAAE;qBACjG,MAAM,IAAI,EAAE,CAAA;gBACjB,MAAM,aAAa,GAAG,MAAM,CAAC,YAAY,GAAG,YAAY,CAAA;gBACxD,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,YAAY,CAAA;gBAC9D,IAAI,aAAa,GAAG,aAAa,EAAE;oBACjC,MAAM,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,aAAa,GAAG,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAA;iBAC5E;aACF;iBAAM;gBACL,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;gBACnC,YAAY,CAAC,OAAO,EAAE;oBACpB,KAAK,EAAE,KAAK,CAAC,iBAAiB,IAAI;wBAChC,SAAS,EAAE,MAAM;wBACjB,UAAU,EAAE,SAAS;qBACtB;iBACF,CAAC,CAAA;aACH;QACH,CAAC,EACD,IAAI,CACL,CAAA;QAED,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,WAAW,CAAA;QACnC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAA;QAChC,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAA;QACjC,IAAI,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE;YAC9B,OAAO,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;YAC7C,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;SAClC;QAED,IAAI,KAAK,KAAK,KAAK,EAAE;YACnB,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;SACjC;QACD,OAAO,CAAC,YAAY,CAAC,eAAe,EAAE,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,IAAI,OAAO,CAAC,CAAA;QAEvF,OAAO,CACL,uCACG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACvB,wBACE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAC3B,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,EAC9C,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAEtD,aAAa,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;YACrD,aAAa,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,IAAI,8BAAO,KAAK,CAAC,MAAM,CAAC,CAAQ,CACpF,CACN,CAAC,CACD,CACJ,CAAA;IACH,CAAC;CACF,CAAC,CAAA"}
@@ -0,0 +1,50 @@
1
+ import { createComponent, Shade } from '@furystack/shades';
2
+ import { DataGridHeader } from './header';
3
+ import { DataGridBody } from './body';
4
+ import { DataGridFooter } from './footer';
5
+ import { ClickAwayService, ThemeProviderService } from '../../services';
6
+ export const DataGrid = Shade({
7
+ shadowDomName: 'shade-data-grid',
8
+ constructed: ({ props }) => {
9
+ const listener = (ev) => props.service.handleKeyDown(ev);
10
+ window.addEventListener('keydown', listener);
11
+ return () => window.removeEventListener('keydown', listener);
12
+ },
13
+ render: ({ props, injector, useDisposable, element }) => {
14
+ const tp = injector.getInstance(ThemeProviderService);
15
+ const { theme } = tp;
16
+ useDisposable('clickAway', () => new ClickAwayService(element, () => {
17
+ props.service.hasFocus.setValue(false);
18
+ }));
19
+ const headerStyle = {
20
+ backdropFilter: 'blur(12px) saturate(180%)',
21
+ color: theme.text.secondary,
22
+ height: '38px',
23
+ alignItems: 'center',
24
+ borderRadius: '2px',
25
+ top: '2px',
26
+ position: 'sticky',
27
+ fontVariant: 'all-petite-caps',
28
+ zIndex: '1',
29
+ boxShadow: 'rgba(0, 0, 0, 0.2) 1px 1px 1px 2px',
30
+ ...props.styles?.header,
31
+ };
32
+ return (createComponent("div", { className: "shade-grid-wrapper", style: {
33
+ ...props.styles?.wrapper,
34
+ width: '100%',
35
+ height: '100%',
36
+ overflow: 'auto',
37
+ zIndex: '1',
38
+ }, onclick: () => {
39
+ props.service.hasFocus.setValue(true);
40
+ }, ariaMultiSelectable: "true" },
41
+ createComponent("table", { style: { width: '100%', maxHeight: 'calc(100% - 4em)', position: 'relative' } },
42
+ createComponent("thead", null,
43
+ createComponent("tr", null, props.columns.map((column) => {
44
+ return (createComponent("th", { style: headerStyle }, props.headerComponents?.[column]?.(column) || props.headerComponents?.default?.(column) || (createComponent(DataGridHeader, { field: column, collectionService: props.service }))));
45
+ }))),
46
+ createComponent(DataGridBody, { columns: props.columns, service: props.service, rowComponents: props.rowComponents, onRowClick: (entry, ev) => props.service.handleRowClick(entry, ev), onRowDoubleClick: (entry) => props.service.handleRowDoubleClick(entry), style: props.styles?.cell, focusedRowStyle: props.focusedRowStyle, selectedRowStyle: props.selectedRowStyle, unfocusedRowStyle: props.unfocusedRowStyle, unselectedRowStyle: props.unselectedRowStyle, emptyComponent: props.emptyComponent, loaderComponent: props.loaderComponent })),
47
+ createComponent(DataGridFooter, { service: props.service })));
48
+ },
49
+ });
50
+ //# sourceMappingURL=data-grid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-grid.js","sourceRoot":"","sources":["../../../src/components/data-grid/data-grid.tsx"],"names":[],"mappings":"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"}
@@ -1,20 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DataGridFooter = exports.dataGridItemsPerPage = void 0;
4
- const shades_1 = require("@furystack/shades");
5
- const services_1 = require("../../services");
6
- exports.dataGridItemsPerPage = [10, 20, 25, 50, 100, Infinity];
7
- exports.DataGridFooter = (0, shades_1.Shade)({
1
+ import { Shade, createComponent } from '@furystack/shades';
2
+ import { ThemeProviderService } from '../../services';
3
+ export const dataGridItemsPerPage = [10, 20, 25, 50, 100, Infinity];
4
+ export const DataGridFooter = Shade({
8
5
  shadowDomName: 'shade-data-grid-footer',
9
6
  render: ({ props, injector, useObservable }) => {
10
- const { theme } = injector.getInstance(services_1.ThemeProviderService);
7
+ const { theme } = injector.getInstance(ThemeProviderService);
11
8
  const [currentData] = useObservable('dataUpdater', props.service.data);
12
9
  const [currentQuerySettings] = useObservable('querySettings', props.service.querySettings);
13
10
  const top = currentQuerySettings.top || Infinity;
14
11
  const skip = currentQuerySettings.skip || 0;
15
12
  const currentPage = Math.ceil(skip) / (top || 1);
16
13
  const currentEntriesPerPage = top;
17
- return ((0, shades_1.createComponent)("div", { className: "pager", style: {
14
+ return (createComponent("div", { className: "pager", style: {
18
15
  backdropFilter: 'blur(10px)',
19
16
  color: theme.text.secondary,
20
17
  position: 'sticky',
@@ -24,25 +21,25 @@ exports.DataGridFooter = (0, shades_1.Shade)({
24
21
  padding: '1em',
25
22
  alignItems: 'center',
26
23
  } },
27
- currentEntriesPerPage !== Infinity && ((0, shades_1.createComponent)("div", null,
24
+ currentEntriesPerPage !== Infinity && (createComponent("div", null,
28
25
  "Goto page",
29
- (0, shades_1.createComponent)("select", { style: { margin: '0 1em' }, onchange: (ev) => {
26
+ createComponent("select", { style: { margin: '0 1em' }, onchange: (ev) => {
30
27
  const value = parseInt(ev.target.value, 10);
31
28
  const currentQuery = props.service.querySettings.getValue();
32
29
  props.service.querySettings.setValue({ ...currentQuery, skip: (currentQuery.top || 0) * value });
33
30
  } }, [
34
31
  ...new Array(Math.ceil(currentData.count / (props.service.querySettings.getValue().top || Infinity))),
35
- ].map((_val, index) => ((0, shades_1.createComponent)("option", { value: index.toString(), selected: currentPage === index }, (index + 1).toString())))))),
36
- (0, shades_1.createComponent)("div", null,
32
+ ].map((_val, index) => (createComponent("option", { value: index.toString(), selected: currentPage === index }, (index + 1).toString())))))),
33
+ createComponent("div", null,
37
34
  "Show",
38
- (0, shades_1.createComponent)("select", { style: { margin: '0 1em' }, onchange: (ev) => {
35
+ createComponent("select", { style: { margin: '0 1em' }, onchange: (ev) => {
39
36
  const value = parseInt(ev.currentTarget.value, 10);
40
37
  props.service.querySettings.setValue({
41
38
  ...currentQuerySettings,
42
39
  top: value,
43
40
  skip: currentPage * value,
44
41
  });
45
- } }, exports.dataGridItemsPerPage.map((no) => ((0, shades_1.createComponent)("option", { value: no.toString(), selected: no === currentEntriesPerPage }, no.toString())))),
42
+ } }, dataGridItemsPerPage.map((no) => (createComponent("option", { value: no.toString(), selected: no === currentEntriesPerPage }, no.toString())))),
46
43
  "items per page")));
47
44
  },
48
45
  });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"footer.js","sourceRoot":"","sources":["../../../src/components/data-grid/footer.tsx"],"names":[],"mappings":"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"}
@@ -1,19 +1,16 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DataGridHeader = exports.OrderButton = void 0;
4
- const shades_1 = require("@furystack/shades");
5
- const input_1 = require("../inputs/input");
6
- const form_1 = require("../form");
7
- const button_1 = require("../button");
8
- const utils_1 = require("@furystack/utils");
9
- const animations_1 = require("../animations");
10
- exports.OrderButton = (0, shades_1.Shade)({
1
+ import { Shade, createComponent } from '@furystack/shades';
2
+ import { Input } from '../inputs/input';
3
+ import { Form } from '../form';
4
+ import { Button } from '../button';
5
+ import { ObservableValue } from '@furystack/utils';
6
+ import { collapse, expand } from '../animations';
7
+ export const OrderButton = Shade({
11
8
  shadowDomName: 'data-grid-order-button',
12
9
  render: ({ props, useObservable }) => {
13
10
  const [currentQuerySettings, setQuerySettings] = useObservable('currentQuerySettings', props.collectionService.querySettings);
14
11
  const currentOrder = Object.keys(currentQuerySettings.order || {})[0];
15
12
  const currentOrderDirection = Object.values(currentQuerySettings.order || {})[0];
16
- return ((0, shades_1.createComponent)(button_1.Button, { title: "Change order", style: {
13
+ return (createComponent(Button, { title: "Change order", style: {
17
14
  padding: '4px',
18
15
  margin: '0',
19
16
  cursor: 'pointer',
@@ -32,7 +29,7 @@ exports.OrderButton = (0, shades_1.Shade)({
32
29
  } }, (currentOrder === props.field && (currentOrderDirection === 'ASC' ? '⬇' : '⬆')) || '↕'));
33
30
  },
34
31
  });
35
- const SearchButton = (0, shades_1.Shade)({
32
+ const SearchButton = Shade({
36
33
  shadowDomName: 'data-grid-search-button',
37
34
  render: ({ props, useObservable, element }) => {
38
35
  const [queryState] = useObservable('currentFilterState', props.service.querySettings, (currentQueryState) => {
@@ -44,21 +41,21 @@ const SearchButton = (0, shades_1.Shade)({
44
41
  : 'none';
45
42
  });
46
43
  const filterValue = queryState.filter?.[props.fieldName]?.$regex || '';
47
- return ((0, shades_1.createComponent)(button_1.Button, { type: "button", title: "Filter", style: {
44
+ return (createComponent(Button, { type: "button", title: "Filter", style: {
48
45
  padding: '4px',
49
46
  margin: '0',
50
47
  cursor: 'pointer',
51
48
  }, onclick: props.onclick }, filterValue ? '🔍' : '🔎'));
52
49
  },
53
50
  });
54
- const SearchForm = (0, shades_1.Shade)({
51
+ const SearchForm = Shade({
55
52
  shadowDomName: 'data-grid-search-form',
56
53
  render: ({ props, useObservable, element }) => {
57
54
  const [queryState] = useObservable('currentFilterState', props.service.querySettings, (currentQueryState) => {
58
55
  const currentValue = currentQueryState.filter?.[props.fieldName]?.$regex || '';
59
56
  element.querySelector('input').value = currentValue;
60
57
  });
61
- return ((0, shades_1.createComponent)(form_1.Form, { className: "search-form", style: {
58
+ return (createComponent(Form, { className: "search-form", style: {
62
59
  display: 'flex',
63
60
  width: '100%',
64
61
  overflow: 'hide',
@@ -68,30 +65,30 @@ const SearchForm = (0, shades_1.Shade)({
68
65
  }, validate: (data) => data.searchValue?.length, onSubmit: ({ searchValue }) => {
69
66
  props.onSubmit(searchValue);
70
67
  } },
71
- (0, shades_1.createComponent)(input_1.Input, { style: { padding: '0px', paddingBottom: '0', margin: '0' }, placeholder: props.fieldName, autofocus: true, labelTitle: `${props.fieldName}`, name: "searchValue", value: queryState.filter?.[props.fieldName]?.$regex || '', labelProps: {
68
+ createComponent(Input, { style: { padding: '0px', paddingBottom: '0', margin: '0' }, placeholder: props.fieldName, autofocus: true, labelTitle: `${props.fieldName}`, name: "searchValue", value: queryState.filter?.[props.fieldName]?.$regex || '', labelProps: {
72
69
  style: { padding: '0px 2em' },
73
70
  } }),
74
- (0, shades_1.createComponent)("div", { style: { display: 'flex', width: '64px', alignItems: 'center', justifyContent: 'center', gap: '8px' } },
75
- (0, shades_1.createComponent)(button_1.Button, { type: "reset", style: { padding: '4px', margin: '0' }, onclick: () => {
71
+ createComponent("div", { style: { display: 'flex', width: '64px', alignItems: 'center', justifyContent: 'center', gap: '8px' } },
72
+ createComponent(Button, { type: "reset", style: { padding: '4px', margin: '0' }, onclick: () => {
76
73
  props.onClear();
77
74
  } }, "\u274C"),
78
- (0, shades_1.createComponent)(button_1.Button, { style: { padding: '4px', margin: '0' }, type: "submit" }, "\uD83D\uDD0E"))));
75
+ createComponent(Button, { style: { padding: '4px', margin: '0' }, type: "submit" }, "\uD83D\uDD0E"))));
79
76
  },
80
77
  });
81
- exports.DataGridHeader = (0, shades_1.Shade)({
78
+ export const DataGridHeader = Shade({
82
79
  shadowDomName: 'data-grid-header',
83
80
  render: ({ props, element, useObservable }) => {
84
- const [, setIsSearchOpened] = useObservable('isSearchOpened', new utils_1.ObservableValue(false), (newValue) => {
81
+ const [, setIsSearchOpened] = useObservable('isSearchOpened', new ObservableValue(false), (newValue) => {
85
82
  const searchForm = element.querySelector('.search-form');
86
83
  const headerContent = element.querySelector('.header-content');
87
84
  if (!newValue) {
88
- (0, animations_1.collapse)(searchForm);
89
- (0, animations_1.expand)(headerContent);
85
+ collapse(searchForm);
86
+ expand(headerContent);
90
87
  }
91
88
  else {
92
89
  searchForm.style.display = 'flex';
93
- (0, animations_1.expand)(searchForm).then(() => searchForm.querySelector('input')?.focus());
94
- (0, animations_1.collapse)(headerContent);
90
+ expand(searchForm).then(() => searchForm.querySelector('input')?.focus());
91
+ collapse(headerContent);
95
92
  }
96
93
  });
97
94
  const updateSearchValue = (value) => {
@@ -112,9 +109,9 @@ exports.DataGridHeader = (0, shades_1.Shade)({
112
109
  }
113
110
  setIsSearchOpened(false);
114
111
  };
115
- return ((0, shades_1.createComponent)(shades_1.createComponent, null,
116
- (0, shades_1.createComponent)(SearchForm, { onSubmit: updateSearchValue, onClear: updateSearchValue, service: props.collectionService, fieldName: props.field }),
117
- (0, shades_1.createComponent)("div", { className: "header-content", style: {
112
+ return (createComponent(createComponent, null,
113
+ createComponent(SearchForm, { onSubmit: updateSearchValue, onClear: updateSearchValue, service: props.collectionService, fieldName: props.field }),
114
+ createComponent("div", { className: "header-content", style: {
118
115
  display: 'flex',
119
116
  width: '100%',
120
117
  height: '48px',
@@ -123,12 +120,12 @@ exports.DataGridHeader = (0, shades_1.Shade)({
123
120
  gap: '8px',
124
121
  overflow: 'hide',
125
122
  } },
126
- (0, shades_1.createComponent)("div", { style: { paddingLeft: '0.5em' } }, props.field),
127
- (0, shades_1.createComponent)("div", { className: "header-controls", style: { display: 'flex', justifyContent: 'center', alignItems: 'center', paddingRight: '0.5em' } },
128
- (0, shades_1.createComponent)(SearchButton, { onclick: () => {
123
+ createComponent("div", { style: { paddingLeft: '0.5em' } }, props.field),
124
+ createComponent("div", { className: "header-controls", style: { display: 'flex', justifyContent: 'center', alignItems: 'center', paddingRight: '0.5em' } },
125
+ createComponent(SearchButton, { onclick: () => {
129
126
  setIsSearchOpened(true);
130
127
  }, service: props.collectionService, fieldName: props.field }),
131
- (0, shades_1.createComponent)(exports.OrderButton, { collectionService: props.collectionService, field: props.field })))));
128
+ createComponent(OrderButton, { collectionService: props.collectionService, field: props.field })))));
132
129
  },
133
130
  });
134
131
  //# sourceMappingURL=header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"header.js","sourceRoot":"","sources":["../../../src/components/data-grid/header.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './data-grid';
2
+ export * from './selection-cell';
3
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/data-grid/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B;AAC3B,mDAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/data-grid/index.tsx"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA"}
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SelectionCell = void 0;
4
- const shades_1 = require("@furystack/shades");
5
- exports.SelectionCell = (0, shades_1.Shade)({
1
+ import { createComponent, Shade } from '@furystack/shades';
2
+ export const SelectionCell = Shade({
6
3
  shadowDomName: 'shades-data-grid-selection-cell',
7
4
  render: ({ props, useObservable, element }) => {
8
5
  const [selection] = useObservable('selection', props.service.selection, (newSelection) => {
@@ -10,7 +7,7 @@ exports.SelectionCell = (0, shades_1.Shade)({
10
7
  element.querySelector('input').checked = newSelection.includes(props.entry);
11
8
  });
12
9
  const isSelected = selection.includes(props.entry);
13
- return ((0, shades_1.createComponent)("input", { onchange: () => {
10
+ return (createComponent("input", { onchange: () => {
14
11
  props.service.toggleSelection(props.entry);
15
12
  }, type: "checkbox", checked: isSelected }));
16
13
  },
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection-cell.js","sourceRoot":"","sources":["../../../src/components/data-grid/selection-cell.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAG1D,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAkD;IAClF,aAAa,EAAE,iCAAiC;IAChD,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,EAAE;QAC5C,MAAM,CAAC,SAAS,CAAC,GAAG,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,EAAE;YACvF,CAAC;YAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAsB,CAAC,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACpG,CAAC,CAAC,CAAA;QACF,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAElD,OAAO,CACL,2BACE,QAAQ,EAAE,GAAG,EAAE;gBACb,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YAC5C,CAAC,EACD,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,UAAU,GACnB,CACH,CAAA;IACH,CAAC;CACF,CAAC,CAAA"}
@@ -1,14 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Fab = void 0;
4
- const shades_1 = require("@furystack/shades");
5
- const shades_2 = require("@furystack/shades");
6
- exports.Fab = (0, shades_2.Shade)({
1
+ import { attachProps } from '@furystack/shades';
2
+ import { Shade, createComponent } from '@furystack/shades';
3
+ export const Fab = Shade({
7
4
  shadowDomName: 'shade-fab',
8
5
  elementBase: HTMLButtonElement,
9
6
  elementBaseName: 'button',
10
7
  render: ({ props, children, element }) => {
11
- (0, shades_1.attachProps)(element, {
8
+ attachProps(element, {
12
9
  ...props,
13
10
  style: {
14
11
  position: 'fixed',
@@ -26,7 +23,7 @@ exports.Fab = (0, shades_2.Shade)({
26
23
  ...props?.style,
27
24
  },
28
25
  });
29
- return (0, shades_2.createComponent)(shades_2.createComponent, null, children);
26
+ return createComponent(createComponent, null, children);
30
27
  },
31
28
  });
32
29
  //# sourceMappingURL=fab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fab.js","sourceRoot":"","sources":["../../src/components/fab.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAE1D,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,CAAiC;IACvD,aAAa,EAAE,WAAW;IAC1B,WAAW,EAAE,iBAAiB;IAC9B,eAAe,EAAE,QAAQ;IACzB,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QACvC,WAAW,CAAC,OAAO,EAAE;YACnB,GAAG,KAAK;YACR,KAAK,EAAE;gBACL,QAAQ,EAAE,OAAO;gBACjB,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,MAAM;gBACb,UAAU,EAAE,MAAM;gBAClB,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,MAAM;gBACf,cAAc,EAAE,QAAQ;gBACxB,UAAU,EAAE,QAAQ;gBACpB,YAAY,EAAE,KAAK;gBACnB,SAAS,EAAE,6BAA6B;gBACxC,MAAM,EAAE,SAAS;gBACjB,GAAG,KAAK,EAAE,KAAK;aAChB;SACF,CAAC,CAAA;QACF,OAAO,uCAAG,QAAQ,CAAI,CAAA;IACxB,CAAC;CACF,CAAC,CAAA"}
@@ -1,22 +1,19 @@
1
- "use strict";
2
1
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
2
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
3
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
6
  };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.Form = exports.FormService = void 0;
10
- const shades_1 = require("@furystack/shades");
11
- const shades_2 = require("@furystack/shades");
12
- const inject_1 = require("@furystack/inject");
13
- const utils_1 = require("@furystack/utils");
7
+ import { attachProps } from '@furystack/shades';
8
+ import { Shade, createComponent } from '@furystack/shades';
9
+ import { Injectable } from '@furystack/inject';
10
+ import { ObservableValue } from '@furystack/utils';
14
11
  let FormService = class FormService {
15
12
  constructor() {
16
- this.validatedFormData = new utils_1.ObservableValue(null);
17
- this.rawFormData = new utils_1.ObservableValue(null);
18
- this.validationResult = new utils_1.ObservableValue({ isValid: null });
19
- this.fieldErrors = new utils_1.ObservableValue({});
13
+ this.validatedFormData = new ObservableValue(null);
14
+ this.rawFormData = new ObservableValue(null);
15
+ this.validationResult = new ObservableValue({ isValid: null });
16
+ this.fieldErrors = new ObservableValue({});
20
17
  this.inputs = new Set();
21
18
  this.setFieldState = (key, validationResult, validity) => {
22
19
  this.fieldErrors.setValue({ ...this.fieldErrors.getValue(), [key]: { validationResult, validity } });
@@ -29,10 +26,10 @@ let FormService = class FormService {
29
26
  }
30
27
  };
31
28
  FormService = __decorate([
32
- (0, inject_1.Injectable)({ lifetime: 'scoped' })
29
+ Injectable({ lifetime: 'scoped' })
33
30
  ], FormService);
34
- exports.FormService = FormService;
35
- exports.Form = (0, shades_2.Shade)({
31
+ export { FormService };
32
+ export const Form = Shade({
36
33
  shadowDomName: 'shade-form',
37
34
  elementBase: HTMLFormElement,
38
35
  elementBaseName: 'form',
@@ -63,7 +60,7 @@ exports.Form = (0, shades_2.Shade)({
63
60
  formService.validationResult.setValue({ isValid: false, reason: 'validation-failed' });
64
61
  }
65
62
  };
66
- (0, shades_1.attachProps)(element, {
63
+ attachProps(element, {
67
64
  injector: formInjector,
68
65
  ...props,
69
66
  oninvalid: (ev) => {
@@ -82,7 +79,7 @@ exports.Form = (0, shades_2.Shade)({
82
79
  formService.validatedFormData.setValue(null);
83
80
  },
84
81
  });
85
- return (0, shades_2.createComponent)(shades_2.createComponent, null, children);
82
+ return createComponent(createComponent, null, children);
86
83
  },
87
84
  });
88
85
  //# sourceMappingURL=form.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.js","sourceRoot":"","sources":["../../src/components/form.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { Shade, createComponent } from '@furystack/shades';
2
+ import { ThemeProviderService } from '../services';
3
+ export const Grid = Shade({
4
+ shadowDomName: 'shade-grid',
5
+ render: ({ props, injector }) => {
6
+ const { theme } = injector.getInstance(ThemeProviderService);
7
+ const headerStyle = {
8
+ padding: '0 0.51em',
9
+ backgroundColor: theme.background.paper,
10
+ color: theme.text.secondary,
11
+ borderRadius: '2px',
12
+ top: '0',
13
+ position: 'sticky',
14
+ cursor: 'pointer',
15
+ fontVariant: 'all-petite-caps',
16
+ ...props.styles?.header,
17
+ };
18
+ return (createComponent("div", { className: "shade-grid-wrapper", style: {
19
+ ...props.styles?.wrapper,
20
+ width: '100%',
21
+ height: '100%',
22
+ overflow: 'auto',
23
+ } },
24
+ createComponent("table", { style: { width: '100%', position: 'relative' } },
25
+ createComponent("thead", null,
26
+ createComponent("tr", null, props.columns.map((column) => {
27
+ return (createComponent("th", { style: headerStyle }, props.headerComponents?.[column]?.(column) || props.headerComponents?.default?.(column) || (createComponent(createComponent, null, column))));
28
+ }))),
29
+ createComponent("tbody", null, props.entries.map((entry) => (createComponent("tr", null, props.columns.map((column) => (createComponent("td", { style: props.styles?.cell }, props.rowComponents?.[column]?.(entry) || props.rowComponents?.default?.(entry) || (createComponent(createComponent, null, entry[column]))))))))))));
30
+ },
31
+ });
32
+ //# sourceMappingURL=grid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid.js","sourceRoot":"","sources":["../../src/components/grid.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAuBlD,MAAM,CAAC,MAAM,IAAI,GAAyE,KAAK,CAAC;IAC9F,aAAa,EAAE,YAAY;IAC3B,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC9B,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAA;QAC5D,MAAM,WAAW,GAAiC;YAChD,OAAO,EAAE,UAAU;YACnB,eAAe,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK;YACvC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS;YAC3B,YAAY,EAAE,KAAK;YACnB,GAAG,EAAE,GAAG;YACR,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,iBAAiB;YAC9B,GAAG,KAAK,CAAC,MAAM,EAAE,MAAM;SACxB,CAAA;QACD,OAAO,CACL,yBACE,SAAS,EAAC,oBAAoB,EAC9B,KAAK,EAAE;gBACL,GAAG,KAAK,CAAC,MAAM,EAAE,OAAO;gBACxB,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,MAAM;aACjB;YAED,2BAAO,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE;gBACnD;oBACE,4BACG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;wBAC5B,OAAO,CACL,wBAAI,KAAK,EAAE,WAAW,IACnB,KAAK,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,gBAAgB,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,IAAI,CAC1F,uCAAG,MAAM,CAAI,CACd,CACE,CACN,CAAA;oBACH,CAAC,CAAC,CACC,CACC;gBACR,+BACG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC5B,4BACG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC7B,wBAAI,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,IAC1B,KAAK,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,aAAa,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,CAClF,uCAAG,KAAK,CAAC,MAAM,CAAC,CAAI,CACrB,CACE,CACN,CAAC,CACC,CACN,CAAC,CACI,CACF,CACJ,CACP,CAAA;IACH,CAAC;CACF,CAAC,CAAA"}
@@ -0,0 +1,21 @@
1
+ export * from './animations';
2
+ export * from './app-bar';
3
+ export * from './app-bar-link';
4
+ export * from './inputs';
5
+ export * from './avatar';
6
+ export * from './button';
7
+ export * from './data-grid';
8
+ export * from './fab';
9
+ export * from './form';
10
+ export * from './grid';
11
+ export * from './modal';
12
+ export * from './noty-list';
13
+ export * from './paper';
14
+ export * from './skeleton';
15
+ export * from './styles';
16
+ export * from './suggest';
17
+ export * from './tabs';
18
+ export * from './loader';
19
+ export * from './command-palette';
20
+ export * from './wizard';
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,OAAO,CAAA;AACrB,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,cAAc,UAAU,CAAA"}
@@ -1,14 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Autocomplete = void 0;
4
- const shades_1 = require("@furystack/shades");
5
- const input_1 = require("./input");
6
- exports.Autocomplete = (0, shades_1.Shade)({
1
+ import { Shade, createComponent } from '@furystack/shades';
2
+ import { Input } from './input';
3
+ export const Autocomplete = Shade({
7
4
  shadowDomName: 'shade-autocomplete',
8
5
  render: ({ props, useState }) => {
9
6
  const [dataListId] = useState('dataListId', (Math.random() + 1).toString(36).substring(3));
10
- return ((0, shades_1.createComponent)("div", null,
11
- (0, shades_1.createComponent)(input_1.Input, { ...props.inputProps, list: dataListId, onchange: (ev) => {
7
+ return (createComponent("div", null,
8
+ createComponent(Input, { ...props.inputProps, list: dataListId, onchange: (ev) => {
12
9
  const { value } = ev.target;
13
10
  if (props.strict) {
14
11
  if (!props.suggestions.includes(value)) {
@@ -19,7 +16,7 @@ exports.Autocomplete = (0, shades_1.Shade)({
19
16
  }
20
17
  props.onchange?.(value);
21
18
  } }),
22
- (0, shades_1.createComponent)("datalist", { id: dataListId }, props.suggestions.map((s) => ((0, shades_1.createComponent)("option", { value: s }))))));
19
+ createComponent("datalist", { id: dataListId }, props.suggestions.map((s) => (createComponent("option", { value: s }))))));
23
20
  },
24
21
  });
25
22
  //# sourceMappingURL=autocomplete.js.map