@spectric/ui 0.0.10 → 0.0.12

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 (51) hide show
  1. package/dist/classes/DisposibleElement.d.ts +4 -2
  2. package/dist/components/Bitdisplay.d.ts +4 -4
  3. package/dist/components/Button.d.ts +1 -1
  4. package/dist/components/Header.d.ts +1 -1
  5. package/dist/components/input.d.ts +13 -12
  6. package/dist/components/pagination/pagination.d.ts +5 -5
  7. package/dist/components/splitview/splitview.d.ts +5 -5
  8. package/dist/components/table/body.d.ts +2 -1
  9. package/dist/components/table/cell.d.ts +2 -0
  10. package/dist/components/table/header.d.ts +2 -1
  11. package/dist/components/table/sorting.d.ts +5 -0
  12. package/dist/components/table/table.d.ts +51 -14
  13. package/dist/components/table/virtualBody.d.ts +49 -0
  14. package/dist/components/tooltip/tooltip.d.ts +17 -12
  15. package/dist/custom-elements.json +50 -16
  16. package/dist/index.es.js +2099 -1867
  17. package/dist/index.es.js.map +1 -1
  18. package/dist/index.umd.js +128 -93
  19. package/dist/index.umd.js.map +1 -1
  20. package/dist/style.css +1 -1
  21. package/dist/utils/once.d.ts +1 -0
  22. package/dist/utils/spread.d.ts +1 -1
  23. package/package.json +1 -1
  24. package/src/classes/DisposibleElement.ts +15 -9
  25. package/src/components/Bitdisplay.ts +7 -7
  26. package/src/components/Button.ts +1 -1
  27. package/src/components/Header.ts +1 -1
  28. package/src/components/input.ts +18 -15
  29. package/src/components/pagination/pagination.ts +7 -7
  30. package/src/components/query_bar/QueryBar.ts +26 -21
  31. package/src/components/splitview/splitview.ts +5 -5
  32. package/src/components/table/body.ts +13 -5
  33. package/src/components/table/cell.ts +9 -7
  34. package/src/components/table/header.ts +28 -4
  35. package/src/components/table/sorting.ts +34 -0
  36. package/src/components/table/table.css +60 -4
  37. package/src/components/table/table.ts +149 -33
  38. package/src/components/table/virtualBody.css +13 -0
  39. package/src/components/table/virtualBody.ts +127 -0
  40. package/src/components/tooltip/tooltip.ts +38 -32
  41. package/src/docs/HTML-Vue-Python Integration.mdx +3 -3
  42. package/src/docs/html-include.png +0 -0
  43. package/src/docs/vue-example.png +0 -0
  44. package/src/docs/vue-include.png +0 -0
  45. package/src/stories/BitDisplay.stories.ts +2 -0
  46. package/src/stories/fixtures/ExampleContent.ts +15 -8
  47. package/src/stories/fixtures/data.ts +21 -10
  48. package/src/stories/pagination.stories.ts +2 -1
  49. package/src/stories/table.stories.ts +27 -5
  50. package/src/utils/once.ts +12 -0
  51. package/src/utils/spread.ts +3 -3
@@ -33,7 +33,7 @@
33
33
  },
34
34
  {
35
35
  "name": "spectric-bit-display",
36
- "description": "Events:\n\n * `bitMousemove` {} - emits BitDisplayMouseEvent on mousemove over the canvas\n\n * `bitClick` {} - emits BitDisplayMouseEvent on mouse click on the canvas\n\n * `bitDblclick` {} - emits BitDisplayMouseEvent on mouse double click on the canvas\n\n * `bitMousedown` {} - emits BitDisplayMouseEvent on mouse down onthe canvas\n\n * `bitMouseup` {} - emits BitDisplayMouseEvent on mouse up on the canvas\n\n * `bitContextmenu` {} - emits BitDisplayMouseEvent on mouse right click on the canvas\n\nAttributes:\n\n * `frameWidth` {`number`} - Bits per line\n\n * `scale` {`number`} - How many pixels per bit\n\n * `width` {`number`} - Width of the display canvas\n\n * `height` {`number`} - Height of the display canvas\n\nProperties:\n\n * `styles` {`CSSResult`} - \n\n * `state` {`{ scale?: number | undefined; }`} - \n\n * `yStart` {`number`} - \n\n * `xStart` {`number`} - \n\n * `_canvas` {`Promise<HTMLCanvasElement>`} - \n\n * `refs` {`{ viewport: Ref<HTMLDivElement>; canvas: Ref<HTMLCanvasElement>; scrollDiv: Ref<HTMLDivElement>; }`} - \n\n * `_bitArray` - \n\n * `color` {`string`} - \n\n * `onThemeChange` - \n\n * `onResize` - \n\n * `handleScroll` - \n\n * `resizeObserver` {`ResizeObserver & IDisposable`} - \n\n * `arrayBuffer` {`ArrayBuffer`} - Array buffer to display\n\n * `frameWidth` {`number`} - Bits per line\n\n * `scale` {`number`} - How many pixels per bit\n\n * `width` {`number`} - Width of the display canvas\n\n * `height` {`number`} - Height of the display canvas\n\n * `_disposables` {`Set<IDisposable>`} - \n\n * `_isDisposed` {`boolean`} - \n\n * `_disposableListeners` {`{ target: HTMLElement | Promise<HTMLElement>; event: string; handler: any; }[]`} - \n\n * `_connected` {`boolean`} - ",
36
+ "description": "Events:\n\n * `bitMousemove` {} - emits BitDisplayMouseEvent on mousemove over the canvas\n\n * `bitClick` {} - emits BitDisplayMouseEvent on mouse click on the canvas\n\n * `bitDblclick` {} - emits BitDisplayMouseEvent on mouse double click on the canvas\n\n * `bitMousedown` {} - emits BitDisplayMouseEvent on mouse down onthe canvas\n\n * `bitMouseup` {} - emits BitDisplayMouseEvent on mouse up on the canvas\n\n * `bitContextmenu` {} - emits BitDisplayMouseEvent on mouse right click on the canvas\n\nAttributes:\n\n * `frameWidth` {`number`} - Bits per line\n\n * `scale` {`number`} - How many pixels per bit\n\n * `width` {`number`} - Width of the display canvas\n\n * `height` {`number`} - Height of the display canvas\n\nProperties:\n\n * `styles` {`CSSResult`} - \n\n * `state` {`{ scale?: number | undefined; }`} - \n\n * `yStart` {`number`} - \n\n * `xStart` {`number`} - \n\n * `_canvas` {`Promise<HTMLCanvasElement>`} - \n\n * `refs` {`{ viewport: Ref<HTMLDivElement>; canvas: Ref<HTMLCanvasElement>; scrollDiv: Ref<HTMLDivElement>; }`} - \n\n * `_bitArray` - \n\n * `color` {`string`} - \n\n * `onThemeChange` - \n\n * `onResize` - \n\n * `handleScroll` - \n\n * `resizeObserver` {`ResizeObserver & IDisposable`} - \n\n * `arrayBuffer` {`ArrayBuffer`} - Array buffer to display\n\n * `frameWidth` {`number`} - Bits per line\n\n * `scale` {`number`} - How many pixels per bit\n\n * `width` {`number`} - Width of the display canvas\n\n * `height` {`number`} - Height of the display canvas\n\n * `_disposables` {`Set<IDisposable>`} - \n\n * `_isDisposed` {`boolean`} - \n\n * `_disposableListeners` {`{ target: DisposableTarget; event: string; handler: any; }[]`} - \n\n * `_connected` {`boolean`} - ",
37
37
  "attributes": [
38
38
  {
39
39
  "name": "frameWidth",
@@ -432,7 +432,7 @@
432
432
  },
433
433
  {
434
434
  "name": "spectric-input",
435
- "description": "Events:\n\n * `change` {`Event`} - \n\nAttributes:\n\n * `checked` {`boolean | undefined`} - \n\n * `hidePasswordLabel` {`string`} - \"Hide password\" tooltip text on password visibility toggle\n\n * `showPasswordLabel` {`string`} - \"Show password\" tooltip text on password visibility toggle\n\n * `value` {`string | number | boolean`} - The value of the input.\n\n * `variant` {`\"number\" | \"text\" | \"text-area\" | \"color\" | \"date\" | \"datetime-local\" | \"email\" | \"file\" | \"hidden\" | \"password\" | \"checkbox\"`} - Input type\n\n * `label` {`string`} - Label to display above the input\n\n * `placeholder` {`string`} - placeholder text to display\n\n * `disabled` {`boolean`} - \n\n * `readonly` {`boolean`} - \n\n * `helperText` {`string`} - The helper text.\n\n * `invalid` {`boolean`} - Specify if the currently value is invalid.\n\n * `invalidText` {`string | TemplateResult<1>`} - Message which is displayed if the value is invalid.\n\n * `maxCount` {`number`} - Max character count allowed for input. This is needed in order for enableCounter to display\n\n * `required` {`boolean`} - Boolean property to set the required status\n\n * `showPasswordVisibilityToggle` {`boolean`} - Boolean property to render password visibility toggle\n\n * `name` {`string`} - Name for the input used for form data events //TODO make sure this works\n\n * `pattern` {`string`} - Pattern to validate the input against for HTML validity checking\n\n * `autocomplete` {`AutoFill`} - The sets the autocomplete for the input.\n\nProperties:\n\n * `checked` {`boolean | undefined`} - \n\n * `size` {`\"large\" | \"medium\" | \"small\" | \"xsmall\" | \"xxsmall\" | \"tiny\" | undefined`} - \n\n * `hidePasswordLabel` {`string`} - \"Hide password\" tooltip text on password visibility toggle\n\n * `showPasswordLabel` {`string`} - \"Show password\" tooltip text on password visibility toggle\n\n * `_value` {`string | number | boolean`} - The internal value.\n\n * `_showPassword` {`boolean`} - \n\n * `selectionStart` {`number | null`} - \n\n * `value` {`string | number | boolean`} - The value of the input.\n\n * `_handleInput` - Handles `oninput` event on the `<input>`.\n\n * `_input` {`HTMLInputElement | undefined`} - The underlying input element\n\n * `handleTogglePasswordVisibility` - \n\n * `variant` {`\"number\" | \"text\" | \"text-area\" | \"color\" | \"date\" | \"datetime-local\" | \"email\" | \"file\" | \"hidden\" | \"password\" | \"checkbox\"`} - Input type\n\n * `label` {`string`} - Label to display above the input\n\n * `placeholder` {`string`} - placeholder text to display\n\n * `disabled` {`boolean`} - \n\n * `readonly` {`boolean`} - \n\n * `helperText` {`string`} - The helper text.\n\n * `invalid` {`boolean`} - Specify if the currently value is invalid.\n\n * `invalidText` {`string | TemplateResult<1>`} - Message which is displayed if the value is invalid.\n\n * `maxCount` {`number`} - Max character count allowed for input. This is needed in order for enableCounter to display\n\n * `required` {`boolean`} - Boolean property to set the required status\n\n * `showPasswordVisibilityToggle` {`boolean`} - Boolean property to render password visibility toggle\n\n * `name` {`string`} - Name for the input used for form data events //TODO make sure this works\n\n * `pattern` {`string`} - Pattern to validate the input against for HTML validity checking\n\n * `autocomplete` {`AutoFill`} - The sets the autocomplete for the input.",
435
+ "description": "Events:\n\n * `change` {`Event`} - \n\nAttributes:\n\n * `checked` {`boolean | undefined`} - \n\n * `hidePasswordLabel` {`string`} - \"Hide password\" tooltip text on password visibility toggle\n\n * `showPasswordLabel` {`string`} - \"Show password\" tooltip text on password visibility toggle\n\n * `value` {`string | number | boolean`} - The value of the input.\n\n * `variant` {`\"number\" | \"text\" | \"text-area\" | \"color\" | \"date\" | \"datetime-local\" | \"email\" | \"file\" | \"hidden\" | \"password\" | \"checkbox\"`} - Input type\n\n * `label` {`string`} - Label to display above the input\n\n * `placeholder` {`string`} - placeholder text to display\n\n * `disabled` {`boolean`} - \n\n * `readonly` {`boolean`} - \n\n * `helperText` {`string`} - The helper text.\n\n * `invalid` {`boolean`} - Specify if the currently value is invalid.\n\n * `invalidText` {`string | TemplateResult<1> | undefined`} - Message which is displayed if the value is invalid.\n\n * `maxCount` {`number`} - Max character count allowed for input. This is needed in order for enableCounter to display\n\n * `required` {`boolean`} - Boolean property to set the required status\n\n * `showPasswordVisibilityToggle` {`boolean`} - Boolean property to render password visibility toggle\n\n * `name` {`string`} - Name for the input used for form data events //TODO make sure this works\n\n * `pattern` {`string`} - Pattern to validate the input against for HTML validity checking\n\n * `autocomplete` {`AutoFill`} - The sets the autocomplete for the input.\n\nProperties:\n\n * `checked` {`boolean | undefined`} - \n\n * `size` {`\"large\" | \"medium\" | \"small\" | \"xsmall\" | \"xxsmall\" | \"tiny\" | undefined`} - \n\n * `hidePasswordLabel` {`string`} - \"Hide password\" tooltip text on password visibility toggle\n\n * `showPasswordLabel` {`string`} - \"Show password\" tooltip text on password visibility toggle\n\n * `_value` {`string | number | boolean`} - The internal value.\n\n * `_showPassword` {`boolean`} - \n\n * `selectionStart` {`number | null`} - \n\n * `value` {`string | number | boolean`} - The value of the input.\n\n * `_handleInput` - Handles `oninput` event on the `<input>`.\n\n * `_input` {`HTMLInputElement | undefined`} - The underlying input element\n\n * `handleTogglePasswordVisibility` - \n\n * `variant` {`\"number\" | \"text\" | \"text-area\" | \"color\" | \"date\" | \"datetime-local\" | \"email\" | \"file\" | \"hidden\" | \"password\" | \"checkbox\"`} - Input type\n\n * `label` {`string`} - Label to display above the input\n\n * `placeholder` {`string`} - placeholder text to display\n\n * `disabled` {`boolean`} - \n\n * `readonly` {`boolean`} - \n\n * `helperText` {`string`} - The helper text.\n\n * `invalid` {`boolean`} - Specify if the currently value is invalid.\n\n * `invalidText` {`string | TemplateResult<1> | undefined`} - Message which is displayed if the value is invalid.\n\n * `maxCount` {`number`} - Max character count allowed for input. This is needed in order for enableCounter to display\n\n * `required` {`boolean`} - Boolean property to set the required status\n\n * `showPasswordVisibilityToggle` {`boolean`} - Boolean property to render password visibility toggle\n\n * `name` {`string`} - Name for the input used for form data events //TODO make sure this works\n\n * `pattern` {`string`} - Pattern to validate the input against for HTML validity checking\n\n * `autocomplete` {`AutoFill`} - The sets the autocomplete for the input.",
436
436
  "attributes": [
437
437
  {
438
438
  "name": "checked",
@@ -520,7 +520,7 @@
520
520
  },
521
521
  {
522
522
  "name": "invalidText",
523
- "description": "`invalidText` {`string | TemplateResult<1>`} - Message which is displayed if the value is invalid.\n\nProperty: invalidText\n\nDefault: ",
523
+ "description": "`invalidText` {`string | TemplateResult<1> | undefined`} - Message which is displayed if the value is invalid.\n\nProperty: invalidText\n\nDefault: ",
524
524
  "values": []
525
525
  },
526
526
  {
@@ -547,7 +547,7 @@
547
547
  },
548
548
  {
549
549
  "name": "autocomplete",
550
- "description": "`autocomplete` {`AutoFill`} - The sets the autocomplete for the input.\n\nProperty: autocomplete\n\nDefault: ",
550
+ "description": "`autocomplete` {`AutoFill`} - The sets the autocomplete for the input.\n\nProperty: autocomplete\n\nDefault: off",
551
551
  "values": [
552
552
  {
553
553
  "name": ""
@@ -1955,7 +1955,7 @@
1955
1955
  },
1956
1956
  {
1957
1957
  "name": "spectric-splitview",
1958
- "description": "Split view will take a container and split it horizontally or vertically. This element can only have two children.\nIf you supply the **id** attribute on the split view element it will save and load the state keeping the user defined position\n\nEvents:\n\n * `change` {`CustomEvent<SplitViewProps>`} - CustomEvent\\<SplitViewProps\\> Fired every time there is a change to the split percentage\n\nSlots:\n\n * ` ` {} - Element can only take 2 HTMLElements.\n\nAttributes:\n\n * `orientation` {`Orientations`} - Controls the orientation of the splitter handle\n\n * `percentage` {`number | undefined`} - the percentage to split the view default: 50\n\n * `invisible` {`boolean | undefined`} - Should the splitter handle be invisible?\n\n * `min` {`number`} - Clamps the minimum split percentage default: 10\n\n * `max` {`number`} - Clamps the maximum split percentage default: 90\n\n * `useSavedState` {`boolean | undefined`} - save and load split state to localstorage splitter must have an id attribute default: true\n\nProperties:\n\n * `styles` {`CSSResult`} - \n\n * `isDragging` {`boolean`} - \n\n * `_error` {`string | false`} - \n\n * `_splitter` {`Promise<HTMLElement>`} - \n\n * `_panel1` {`HTMLSlotElement`} - \n\n * `_panel2` {`HTMLSlotElement`} - \n\n * `_emitChange` - \n\n * `_onMouseMove` - \n\n * `_assignSlot` - \n\n * `orientation` {`Orientations`} - Controls the orientation of the splitter handle\n\n * `percentage` {`number | undefined`} - the percentage to split the view default: 50\n\n * `invisible` {`boolean | undefined`} - Should the splitter handle be invisible?\n\n * `min` {`number`} - Clamps the minimum split percentage default: 10\n\n * `max` {`number`} - Clamps the maximum split percentage default: 90\n\n * `useSavedState` {`boolean | undefined`} - save and load split state to localstorage splitter must have an id attribute default: true\n\n * `_disposables` {`Set<IDisposable>`} - \n\n * `_isDisposed` {`boolean`} - \n\n * `_disposableListeners` {`{ target: HTMLElement | Promise<HTMLElement>; event: string; handler: any; }[]`} - \n\n * `_connected` {`boolean`} - ",
1958
+ "description": "Split view will take a container and split it horizontally or vertically. This element can only have two children.\nIf you supply the **id** attribute on the split view element it will save and load the state keeping the user defined position\n\nEvents:\n\n * `change` {`CustomEvent<SplitViewProps>`} - CustomEvent\\<SplitViewProps\\> Fired every time there is a change to the split percentage\n\nSlots:\n\n * ` ` {} - Element can only take 2 HTMLElements.\n\nAttributes:\n\n * `orientation` {`Orientations`} - Controls the orientation of the splitter handle\n\n * `percentage` {`number | undefined`} - the percentage to split the view default: 50\n\n * `invisible` {`boolean | undefined`} - Should the splitter handle be invisible?\n\n * `min` {`number`} - Clamps the minimum split percentage default: 10\n\n * `max` {`number`} - Clamps the maximum split percentage default: 90\n\n * `useSavedState` {`boolean | undefined`} - save and load split state to localstorage splitter must have an id attribute default: true\n\nProperties:\n\n * `styles` {`CSSResult`} - \n\n * `isDragging` {`boolean`} - \n\n * `_error` {`string | false`} - \n\n * `_splitter` {`Promise<HTMLElement>`} - \n\n * `_panel1` {`HTMLSlotElement`} - \n\n * `_panel2` {`HTMLSlotElement`} - \n\n * `_emitChange` - \n\n * `_onMouseMove` - \n\n * `_assignSlot` - \n\n * `orientation` {`Orientations`} - Controls the orientation of the splitter handle\n\n * `percentage` {`number | undefined`} - the percentage to split the view default: 50\n\n * `invisible` {`boolean | undefined`} - Should the splitter handle be invisible?\n\n * `min` {`number`} - Clamps the minimum split percentage default: 10\n\n * `max` {`number`} - Clamps the maximum split percentage default: 90\n\n * `useSavedState` {`boolean | undefined`} - save and load split state to localstorage splitter must have an id attribute default: true\n\n * `_disposables` {`Set<IDisposable>`} - \n\n * `_isDisposed` {`boolean`} - \n\n * `_disposableListeners` {`{ target: DisposableTarget; event: string; handler: any; }[]`} - \n\n * `_connected` {`boolean`} - ",
1959
1959
  "attributes": [
1960
1960
  {
1961
1961
  "name": "orientation",
@@ -2005,7 +2005,7 @@
2005
2005
  },
2006
2006
  {
2007
2007
  "name": "spectric-table-cell",
2008
- "description": "Pagination Element\n\nEvents:\n\n * `filter` {`CustomEvent<FilterEvent<T>>`} - \n\nProperties:\n\n * `columns` {`ColumnSettings<T>[]`} - \n\n * `table` {`TableElement<T>`} - \n\n * `td` {`HTMLTableCellElement`} - \n\n * `_handleFilterOut` - \n\n * `_handleFilterFor` - \n\n * `styleRules` {`CSSStyleDeclaration`} - \n\n * `column` {`ColumnSettings<T>`} - \n\n * `row` {`T`} - ",
2008
+ "description": "Pagination Element\n\nEvents:\n\n * `filter` {`CustomEvent<FilterEvent<T>>`} - \n\nProperties:\n\n * `index` {`number`} - \n\n * `columns` {`ColumnSettings<T>[]`} - \n\n * `table` {`TableElement<T>`} - \n\n * `td` {`HTMLTableCellElement`} - \n\n * `_handleFilterOut` - \n\n * `_handleFilterFor` - \n\n * `styleRules` {`CSSStyleDeclaration`} - \n\n * `column` {`ColumnSettings<T>`} - \n\n * `row` {`T`} - ",
2009
2009
  "attributes": [
2010
2010
  {
2011
2011
  "name": "onfilter",
@@ -2015,16 +2015,36 @@
2015
2015
  },
2016
2016
  {
2017
2017
  "name": "spectric-table-header",
2018
- "description": "Pagination Element\n\nProperties:\n\n * `columns` {`ColumnSettings<T>[]`} - ",
2019
- "attributes": []
2018
+ "description": "Pagination Element\n\nEvents:\n\n * `sortChange` {`CustomEvent<ColumnSettings<T>>`} - \n\nProperties:\n\n * `_handleSortChange` - \n\n * `columns` {`ColumnSettings<T>[]`} - ",
2019
+ "attributes": [
2020
+ {
2021
+ "name": "onsortChange",
2022
+ "description": "`sortChange` {`CustomEvent<ColumnSettings<T>>`} - "
2023
+ }
2024
+ ]
2020
2025
  },
2021
2026
  {
2022
2027
  "name": "spectric-table",
2023
- "description": "React example\n<iframe width=\"100%\" height=\"400px\" src=\"https://stackblitz.com/edit/react-ts-2ue7azag?ctl=1&embed=1&file=App.tsx&hideExplorer=1&hideNavigation=1\"/>\n\nEvents:\n\n * `change` {`CustomEvent<{ pagination?: PaginationChangeProps | undefined; }>`} - \n\n * `filter` {`CustomEvent<FilterEvent<T>>`} - \n\n * `select` {`CustomEvent<T[]>`} - \n\nAttributes:\n\n * `select` {`TableSelectOptions | undefined`} - \n\nProperties:\n\n * `_handlePaginationChange` - \n\n * `_emitChange` - \n\n * `__DO_NOT_USE_filter` - \n\n * `selected` {`T[]`} - \n\n * `_handleSelectAllChange` - \n\n * `pagination` {`PaginationProps | undefined`} - \n\n * `columns` {`ColumnSettings<T>[]`} - \n\n * `data` {`T[]`} - \n\n * `select` {`TableSelectOptions | undefined`} - ",
2028
+ "description": "React example\n<iframe width=\"100%\" height=\"400px\" src=\"https://stackblitz.com/edit/react-ts-2ue7azag?ctl=1&embed=1&file=App.tsx&hideExplorer=1&hideNavigation=1\"/>\n\nEvents:\n\n * `change` {`CustomEvent<TableDataOptions<T>>`} - \n\n * `filter` {`CustomEvent<FilterEvent<T>>`} - \n\n * `selected` {`CustomEvent<T[]>`} - \n\nAttributes:\n\n * `select` {`\"none\" | \"multi\" | \"single\"`} - \n\n * `sort` {`\"multi\" | \"single\"`} - \n\n * `rowHeight` {`number`} - Needed for virtualization\n\nProperties:\n\n * `_handlePaginationChange` - \n\n * `_handleSortChange` - \n\n * `_emitChange` - \n\n * `__DO_NOT_USE_filter` - \n\n * `selected` {`T[]`} - \n\n * `_handleSelectAllChange` - \n\n * `data` {`T[]`} - \n\n * `select` {`\"none\" | \"multi\" | \"single\"`} - \n\n * `sort` {`\"multi\" | \"single\"`} - \n\n * `rowHeight` {`number`} - Needed for virtualization\n\n * `pagination` {`PaginationProps | undefined`} - \n\n * `columns` {`ColumnSettings<T>[]`} - ",
2024
2029
  "attributes": [
2025
2030
  {
2026
2031
  "name": "select",
2027
- "description": "`select` {`TableSelectOptions | undefined`} - \n\nProperty: select",
2032
+ "description": "`select` {`\"none\" | \"multi\" | \"single\"`} - \n\nProperty: select\n\nDefault: none",
2033
+ "values": [
2034
+ {
2035
+ "name": "none"
2036
+ },
2037
+ {
2038
+ "name": "multi"
2039
+ },
2040
+ {
2041
+ "name": "single"
2042
+ }
2043
+ ]
2044
+ },
2045
+ {
2046
+ "name": "sort",
2047
+ "description": "`sort` {`\"multi\" | \"single\"`} - \n\nProperty: sort\n\nDefault: single",
2028
2048
  "values": [
2029
2049
  {
2030
2050
  "name": "multi"
@@ -2034,23 +2054,37 @@
2034
2054
  }
2035
2055
  ]
2036
2056
  },
2057
+ {
2058
+ "name": "rowHeight",
2059
+ "description": "`rowHeight` {`number`} - Needed for virtualization\n\nProperty: rowHeight\n\nDefault: 25"
2060
+ },
2037
2061
  {
2038
2062
  "name": "onchange",
2039
- "description": "`change` {`CustomEvent<{ pagination?: PaginationChangeProps | undefined; }>`} - "
2063
+ "description": "`change` {`CustomEvent<TableDataOptions<T>>`} - "
2040
2064
  },
2041
2065
  {
2042
2066
  "name": "onfilter",
2043
2067
  "description": "`filter` {`CustomEvent<FilterEvent<T>>`} - "
2044
2068
  },
2045
2069
  {
2046
- "name": "onselect",
2047
- "description": "`select` {`CustomEvent<T[]>`} - "
2070
+ "name": "onselected",
2071
+ "description": "`selected` {`CustomEvent<T[]>`} - "
2072
+ }
2073
+ ]
2074
+ },
2075
+ {
2076
+ "name": "spectric-table-virtual-body",
2077
+ "description": "Table Body Element\n\nAttributes:\n\n * `startIndex` {`number`} - \n\nProperties:\n\n * `startIndex` {`number`} - \n\n * `table` {`TableElement<T>`} - \n\n * `columns` {`ColumnSettings<T>[]`} - \n\n * `data` {`T[]`} - \n\n * `rowHeight` {`number`} - \n\n * `_disposables` {`Set<IDisposable>`} - \n\n * `_isDisposed` {`boolean`} - \n\n * `_disposableListeners` {`{ target: DisposableTarget; event: string; handler: any; }[]`} - \n\n * `_connected` {`boolean`} - ",
2078
+ "attributes": [
2079
+ {
2080
+ "name": "startIndex",
2081
+ "description": "`startIndex` {`number`} - \n\nProperty: startIndex\n\nDefault: 0"
2048
2082
  }
2049
2083
  ]
2050
2084
  },
2051
2085
  {
2052
2086
  "name": "spectric-tooltip",
2053
- "description": "Spectric tooltip will add a tooltip to any container\n\nAttributes:\n\n * `delay` {`number`} - How long you need to hover before the tooltip displays\n\n * `animationDuration` {`number`} - How long the fade in animation should run\n\n * `text` {`DomRenderable`} - Tooltip contents\n\n * `position` {`\"top\" | \"bottom\" | \"left\" | \"right\" | \"mouse\"`} - Where to anchor the tooltip\n\n * `maxWidth` {`number | undefined`} - Sets a max width for the contents (default:300) you can disable this by setting to 0 or -1\n\nProperties:\n\n * `portalElement` {`HTMLDivElement`} - \n\n * `mouseLocation` {`{ left: number; top: number; } | undefined`} - \n\n * `styles` {`CSSResultGroup | undefined`} - \n\n * `timer` {`number | undefined`} - \n\n * `open` {`boolean`} - \n\n * `mouseframe` {`number | undefined`} - \n\n * `target` {`HTMLElement | null`} - \n\n * `_getMousePosition` - \n\n * `_hideTooltip` - \n\n * `showToolTip` - \n\n * `applyStyle` - \n\n * `positionTooltip` - \n\n * `delay` {`number`} - How long you need to hover before the tooltip displays\n\n * `animationDuration` {`number`} - How long the fade in animation should run\n\n * `text` {`DomRenderable`} - Tooltip contents\n\n * `position` {`\"top\" | \"bottom\" | \"left\" | \"right\" | \"mouse\"`} - Where to anchor the tooltip\n\n * `maxWidth` {`number | undefined`} - Sets a max width for the contents (default:300) you can disable this by setting to 0 or -1\n\n * `portalTarget` {`HTMLElement`} - Container the tool tip will be attached to. (default:document.body)\n\n * `triggerTarget` {`HTMLElement | undefined`} - The element that triggers the tooltip. (default:node.parentElement) This is used for special cases like in the shadow dom if you want to target a host element instead of the immediate parent element",
2087
+ "description": "Spectric tooltip will add a tooltip to any container\n\nAttributes:\n\n * `delay` {`number`} - How long you need to hover before the tooltip displays\n\n * `animationDuration` {`number`} - How long the fade in animation should run\n\n * `text` {`DomRenderable`} - Tooltip contents\n\n * `position` {`\"top\" | \"bottom\" | \"left\" | \"right\" | \"mouse\"`} - Where to anchor the tooltip\n\n * `maxWidth` {`number | undefined`} - Sets a max width for the contents you can disable this by setting to 0 or -1\n\nProperties:\n\n * `portalElement` {`HTMLDivElement`} - \n\n * `mouseLocation` {`{ left: number; top: number; } | undefined`} - \n\n * `styles` {`CSSResultGroup | undefined`} - \n\n * `timer` {`number | undefined`} - \n\n * `open` {`boolean`} - \n\n * `mouseframe` {`number | undefined`} - \n\n * `target` {`HTMLElement`} - \n\n * `_getMousePosition` - \n\n * `_hideTooltip` - \n\n * `showToolTip` - \n\n * `applyStyle` - \n\n * `positionTooltip` - \n\n * `delay` {`number`} - How long you need to hover before the tooltip displays\n\n * `animationDuration` {`number`} - How long the fade in animation should run\n\n * `text` {`DomRenderable`} - Tooltip contents\n\n * `position` {`\"top\" | \"bottom\" | \"left\" | \"right\" | \"mouse\"`} - Where to anchor the tooltip\n\n * `maxWidth` {`number | undefined`} - Sets a max width for the contents you can disable this by setting to 0 or -1\n\n * `portalTarget` {`HTMLElement`} - Container the tool tip will be attached to.\n\n * `triggerTarget` {`HTMLElement`} - The element that triggers the tooltip. This is used for special cases like in the shadow dom if you want to target a host element instead of the immediate parent element\n\n * `_disposables` {`Set<IDisposable>`} - \n\n * `_isDisposed` {`boolean`} - \n\n * `_disposableListeners` {`{ target: DisposableTarget; event: string; handler: any; }[]`} - \n\n * `_connected` {`boolean`} - ",
2054
2088
  "attributes": [
2055
2089
  {
2056
2090
  "name": "delay",
@@ -2088,14 +2122,14 @@
2088
2122
  },
2089
2123
  {
2090
2124
  "name": "maxWidth",
2091
- "description": "`maxWidth` {`number | undefined`} - Sets a max width for the contents (default:300) you can disable this by setting to 0 or -1\n\nProperty: maxWidth\n\nDefault: 300",
2125
+ "description": "`maxWidth` {`number | undefined`} - Sets a max width for the contents you can disable this by setting to 0 or -1\n\nProperty: maxWidth\n\nDefault: 300",
2092
2126
  "values": []
2093
2127
  }
2094
2128
  ]
2095
2129
  },
2096
2130
  {
2097
2131
  "name": "spectric-storybook-example-content",
2098
- "description": "Attributes:\n\n * `frameWidth` {`number`} - \n\nProperties:\n\n * `frameWidth` {`number`} - \n\n * `query` {`SpectricQuery`} - \n\n * `dialogOpen` {`boolean`} - \n\n * `tableData` {`TestData[]`} - \n\n * `pagination` {`{ page: number; pageSize: number; size: string; totalItems: number; }`} - \n\n * `_handleFilter` - \n\n * `_handlePaginationChange` - ",
2132
+ "description": "Attributes:\n\n * `frameWidth` {`number`} - \n\nProperties:\n\n * `frameWidth` {`number`} - \n\n * `query` {`SpectricQuery`} - \n\n * `dataSorter` - \n\n * `dialogOpen` {`boolean`} - \n\n * `tableData` {`TestData[]`} - \n\n * `columns` {`ColumnSettings<TestData>[]`} - \n\n * `pagination` {`PaginationProps`} - \n\n * `_handleFilter` - \n\n * `_handlePaginationChange` - ",
2099
2133
  "attributes": [
2100
2134
  {
2101
2135
  "name": "frameWidth",