cellux 0.0.1 → 0.1.5

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 (76) hide show
  1. package/dist/TyeaheadEditor.d.ts +36 -0
  2. package/dist/TyeaheadEditor.d.ts.map +1 -0
  3. package/dist/asserts.d.ts +16 -0
  4. package/dist/asserts.d.ts.map +1 -0
  5. package/dist/cellux.css +1 -0
  6. package/dist/cellux.js +2703 -0
  7. package/dist/cellux.umd.cjs +134 -0
  8. package/dist/column-state.d.ts +9 -0
  9. package/dist/column-state.d.ts.map +1 -0
  10. package/dist/column-tab-builder.d.ts +17 -0
  11. package/dist/column-tab-builder.d.ts.map +1 -0
  12. package/dist/column-tab-container.d.ts +13 -0
  13. package/dist/column-tab-container.d.ts.map +1 -0
  14. package/dist/column.d.ts +81 -0
  15. package/dist/column.d.ts.map +1 -0
  16. package/dist/console-log.d.ts +12 -0
  17. package/dist/console-log.d.ts.map +1 -0
  18. package/dist/context-menu.d.ts +11 -0
  19. package/dist/context-menu.d.ts.map +1 -0
  20. package/dist/data-dash.d.ts +8 -0
  21. package/dist/data-dash.d.ts.map +1 -0
  22. package/dist/date-time-picker.d.ts +17 -0
  23. package/dist/date-time-picker.d.ts.map +1 -0
  24. package/dist/debug-overlay/debug-overlay.d.ts +24 -0
  25. package/dist/debug-overlay/debug-overlay.d.ts.map +1 -0
  26. package/dist/enums.d.ts +6 -0
  27. package/dist/enums.d.ts.map +1 -0
  28. package/dist/event-maps.d.ts +24 -0
  29. package/dist/event-maps.d.ts.map +1 -0
  30. package/dist/events.d.ts +40 -0
  31. package/dist/events.d.ts.map +1 -0
  32. package/dist/filter.d.ts +17 -0
  33. package/dist/filter.d.ts.map +1 -0
  34. package/dist/grid-api.d.ts +28 -0
  35. package/dist/grid-api.d.ts.map +1 -0
  36. package/dist/grid-assertions.d.ts +33 -0
  37. package/dist/grid-assertions.d.ts.map +1 -0
  38. package/dist/grid-assertions.test.d.ts +1 -0
  39. package/dist/grid-assertions.test.d.ts.map +1 -0
  40. package/dist/grid-class-name.d.ts +32 -0
  41. package/dist/grid-class-name.d.ts.map +1 -0
  42. package/dist/grid-options.d.ts +25 -0
  43. package/dist/grid-options.d.ts.map +1 -0
  44. package/dist/grid-row-ref.d.ts +12 -0
  45. package/dist/grid-row-ref.d.ts.map +1 -0
  46. package/dist/grid.d.ts +159 -0
  47. package/dist/grid.d.ts.map +1 -0
  48. package/dist/index.d.ts +7 -0
  49. package/dist/index.d.ts.map +1 -0
  50. package/dist/interfaces.d.ts +105 -0
  51. package/dist/interfaces.d.ts.map +1 -0
  52. package/dist/quick-filter.d.ts +12 -0
  53. package/dist/quick-filter.d.ts.map +1 -0
  54. package/dist/renderer.d.ts +83 -0
  55. package/dist/renderer.d.ts.map +1 -0
  56. package/dist/select-editor-custom.d.ts +26 -0
  57. package/dist/select-editor-custom.d.ts.map +1 -0
  58. package/dist/select-editor.d.ts +11 -0
  59. package/dist/select-editor.d.ts.map +1 -0
  60. package/dist/sorting.d.ts +19 -0
  61. package/dist/sorting.d.ts.map +1 -0
  62. package/dist/status-bar.d.ts +11 -0
  63. package/dist/status-bar.d.ts.map +1 -0
  64. package/dist/text-editor.d.ts +13 -0
  65. package/dist/text-editor.d.ts.map +1 -0
  66. package/dist/types.d.ts +30 -0
  67. package/dist/types.d.ts.map +1 -0
  68. package/dist/utilities/formatter.d.ts +4 -0
  69. package/dist/utilities/formatter.d.ts.map +1 -0
  70. package/dist/utilities/utilities.d.ts +241 -0
  71. package/dist/utilities/utilities.d.ts.map +1 -0
  72. package/package.json +32 -18
  73. package/README.md +0 -11
  74. package/files.zip +0 -0
  75. package/index.d.ts +0 -4
  76. package/index.js +0 -4
@@ -0,0 +1,36 @@
1
+ import { ICellEditor, CellEditorParams } from "./interfaces";
2
+ import { TableData } from "./types";
3
+ export declare class TypeaheadEditor<T extends TableData> implements ICellEditor<T> {
4
+ private _input;
5
+ private _dropdown;
6
+ private _container;
7
+ private _items;
8
+ private _filteredItems;
9
+ private _selectedIndex;
10
+ private _minChars;
11
+ private _maxResults;
12
+ private _placeholder;
13
+ private _caseSensitive;
14
+ private _initialValue;
15
+ private _documentClickHandler;
16
+ private _stopEditing?;
17
+ private _commitInProgress;
18
+ constructor();
19
+ init(params: CellEditorParams<T>): HTMLElement;
20
+ getValue(): string;
21
+ destroy(): void;
22
+ private onInput;
23
+ private filterItems;
24
+ private renderDropdown;
25
+ private moveSelection;
26
+ private setSelectedIndex;
27
+ private updateSelectedStyle;
28
+ private scrollToSelected;
29
+ private onDropdownMouseDown;
30
+ private onDropdownClick;
31
+ private selectItem;
32
+ private onKeyDown;
33
+ private openDropdown;
34
+ private closeDropdown;
35
+ }
36
+ //# sourceMappingURL=TyeaheadEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TyeaheadEditor.d.ts","sourceRoot":"","sources":["../src/cellux/TyeaheadEditor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,qBAAa,eAAe,CAAE,CAAC,SAAS,SAAS,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;IACxE,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,cAAc,CAAc;IACpC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,qBAAqB,CAA2B;IACxD,OAAO,CAAC,YAAY,CAAC,CAAa;IAClC,OAAO,CAAC,iBAAiB,CAAS;;IAMlC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,WAAW;IAyF9C,QAAQ,IAAI,MAAM;IAIlB,OAAO,IAAI,IAAI;IAaf,OAAO,CAAC,OAAO;IAaf,OAAO,CAAC,WAAW;IAenB,OAAO,CAAC,cAAc;IA+BtB,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,SAAS;IA2CjB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,aAAa;CAIxB"}
@@ -0,0 +1,16 @@
1
+ export interface AssertAPI {
2
+ exists<T>(v: T | null | undefined, msg?: string): asserts v is T;
3
+ element<T extends Element>(el: T | null, sel: string, ctx?: string): asserts el is T;
4
+ invariant(cond: unknown, msg?: string): asserts cond;
5
+ unreachable(x: never, msg?: string): never;
6
+ }
7
+ /** Asserts the value is not null/undefined. Narrows type to T. */
8
+ export declare function exists<T>(v: T | null | undefined, msg?: string): asserts v is T;
9
+ /** Asserts a queried DOM element exists. Narrows type to T extends Element. */
10
+ export declare function element<T extends Element>(el: T | null, sel: string, ctx?: string): asserts el is T;
11
+ /** Asserts a condition is truthy. */
12
+ export declare function invariant(cond: unknown, msg?: string): asserts cond;
13
+ /** Marks code paths that should be unreachable. */
14
+ export declare function unreachable(x: never, msg?: string): never;
15
+ export declare const Assert: AssertAPI;
16
+ //# sourceMappingURL=asserts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asserts.d.ts","sourceRoot":"","sources":["../src/cellux/asserts.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;IACjE,OAAO,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;IACrF,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IACrD,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CAC5C;AAGD,kEAAkE;AAClE,wBAAgB,MAAM,CAAC,CAAC,EACtB,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,EACvB,GAAG,SAA4B,GAC9B,OAAO,CAAC,CAAC,IAAI,CAAC,CAEhB;AAED,+EAA+E;AAC/E,wBAAgB,OAAO,CAAC,CAAC,SAAS,OAAO,EACvC,EAAE,EAAE,CAAC,GAAG,IAAI,EACZ,GAAG,EAAE,MAAM,EACX,GAAG,SAAmB,GACrB,OAAO,CAAC,EAAE,IAAI,CAAC,CAEjB;AAED,qCAAqC;AACrC,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,SAAqB,GAAG,OAAO,CAAC,IAAI,CAE/E;AAED,mDAAmD;AACnD,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAEzD;AAID,eAAO,MAAM,MAAM,EAAE,SAAuD,CAAC"}
@@ -0,0 +1 @@
1
+ :root{--cellux-grid-row-height: 32px;--cellux-grid-header-bg: #f6f7f9;--cellux-grid-border: #e2e5ea;--cellux-grid-bg: #fff;--cellux-grid-hover-bg: #f6f7f9;--cellux-grid-font-family: "Inter", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--cellux-grid-font-size: 14px;--cellux-grid-cell-padding: 0 10px;--cellux-row-color: #555555;--header-color: #1995dc;--cellux-active-row-color: #b7e4ff}.cellux-grid-container,.cellux-grid-container *{box-sizing:border-box}.cellux-grid-container{border:var(--debug-border-fn-grid, 1px solid var(--cellux-grid-border));outline:var(--debug-border-fn-grid, none);width:100%;height:100%;position:relative;display:flex;flex-direction:column;font-family:var(--cellux-grid-font-family);font-size:var(--cellux-grid-font-size);color:var(--cellux-row-color);border-radius:3px;overflow:hidden}.cellux-grid-container .header{background:var(--debug-header-background, var(--cellux-grid-header-bg));border-bottom:1px solid var(--cellux-grid-border);height:var(--cellux-grid-row-height);color:var(--header-color);overflow:hidden;width:100%;flex-shrink:0;position:relative;pointer-events:none}.cellux-grid-container .header-inner{border:var(--debug-inner-header-border);display:grid;grid-template-columns:var(--grid-columns);align-items:center;height:100%;width:max-content;min-width:100%;will-change:transform;pointer-events:auto}.cellux-grid-container .header-cell{outline:var(--debug-border-header-cell, none);position:relative;padding:var(--cellux-grid-cell-padding);border-right:var(--debug-border-header-cell, 1px solid var(--cellux-grid-border));font-weight:600;white-space:nowrap;overflow:visible;text-overflow:ellipsis}.cellux-grid-container .header-cell:last-child{border-right:0}.cellux-grid-container .grid-body{outline:var(--debug-border-body, none);position:relative;overflow:auto;flex:1}.cellux-grid-container .rows-container{border:var(--debug-border-row-container, 0px solid);position:relative;width:max-content;min-width:100%}.cellux-grid-container .cellux-row{outline:var(--debug-border-row, none);position:absolute;left:0;right:auto;height:var(--cellux-grid-row-height);display:grid;grid-template-columns:var(--grid-columns);align-items:center;background:var(--cellux-grid-bg);border-bottom:1px solid var(--cellux-grid-border);margin:0;will-change:transform;contain:layout paint style;box-sizing:border-box}.cellux-grid-container .cellux-row:hover{background:var(--cellux-grid-hover-bg)}.cellux-grid-container .cell{outline:var(--debug-border-cell, none);padding:var(--cellux-grid-cell-padding);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-right:1px solid var(--cellux-grid-border);box-sizing:border-box;height:100%;display:flex;align-items:center;gap:4px}.cellux-grid-container .cell:last-child{border-right:0}.cellux-grid-container .cellux-row.is-selected,.cellux-grid-container .cellux-row.is-selected:hover{background:#cce5ff}.cellux-grid-container .col-resizer{outline:var(--debug-border-resizer, none);position:absolute;top:0;right:-3px;width:6px;height:100%;cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none;z-index:5;flex-shrink:0}.cellux-grid-container .header-label{-webkit-user-select:none;user-select:none;overflow:hidden;text-overflow:ellipsis;display:inline-block;max-width:100%;min-width:0}.header-cell.dragging{cursor:grabbing!important;font-style:italic;background-color:#fff;height:100%;display:flex;align-items:center}.cell{position:relative}.cellux-grid-container .cellux-row.active-row,.cellux-grid-container .cellux-row.active-row:hover{background-color:var(--cellux-active-row-color)}.fn-grid:focus{outline:none}.cellux-grid-container .visual-cell{outline:1px solid #2196f3;outline-offset:-2px;z-index:1}.cell.cell-edit .fn-editor{opacity:1;transform:translateY(0)}.cellux-grid-container .cell.cell-editing{--cellux-grid-cell-padding: 0}.cellux-grid-container .cell-edit{width:100%;height:100%;border:1px solid #2196f3;border-radius:0!important;background-color:#fff!important;font:inherit;outline:none}.cellux-grid-container .status-bar{height:32px;padding:4px!important;box-sizing:border-box;background-color:var(--cellux-grid-header-bg)}.header-cell{position:relative;display:flex;align-items:center;gap:4px}.header-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-menu-icon{flex-shrink:0;cursor:pointer;padding:2px 6px;font-size:12px;opacity:0;-webkit-user-select:none;user-select:none;margin-left:auto;transition:opacity .15s ease}.header-cell:hover .header-menu-icon{opacity:.5}.header-menu-icon:hover{opacity:1!important;background:#0000000d;border-radius:3px}.fn-filter-dropdown{position:fixed;z-index:1000;background:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 8px #00000026;min-width:200px;max-height:400px;display:flex;flex-direction:column}.fn-filter-dropdown-content{padding:12px}.fn-filter-dropdown-header{padding:8px 12px;border-bottom:1px solid #eee;font-weight:500;font-size:13px}.fn-filter-dropdown-list{overflow-y:auto;flex:1;min-height:0}.fn-filter-item{padding:6px 12px;cursor:pointer;font-size:13px}.fn-filter-item:hover{background:#f5f5f5}.fn-filter-item label{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.fn-filter-item input[type=checkbox]{cursor:pointer}.fn-filter-select-all{border-bottom:1px solid #eee;font-weight:500}.header-menu-icon.filtered{opacity:1;color:#721c24;font-weight:700}.fn-filter-search-box{padding:8px;border-bottom:1px solid #e0e0e0}.fn-filter-search-input{width:100%;padding:6px 8px;border:1px solid #d0d0d0;border-radius:3px;font-size:13px;box-sizing:border-box}.fn-filter-search-input:focus{outline:none;border-color:#4a90e2}.grid-viewport{display:flex;flex-direction:row;flex:1;overflow:hidden;min-height:0}.center-panel{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.left-panel{flex-shrink:0;border-right:1px solid var(--cellux-grid-border);background:var(--cellux-grid-bg);display:flex;flex-direction:column;overflow:hidden}.cellux-grid-container .grid-body-left{overflow:hidden;flex:1;min-height:0;position:relative;border-right:#2196f3 1px solid}.rows-container-left{position:relative;width:100%}.center-panel .header{width:auto;flex-shrink:0}.center-panel .grid-body{flex:1;min-height:0}.fn-context-menu{position:fixed;background:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 8px #00000026;min-width:180px;z-index:10000;padding:4px 0}.fn-context-menu-item{padding:8px 16px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:13px}.fn-context-menu-item:hover{background:#f0f0f0}.fn-context-menu-item.disabled{opacity:.5;cursor:not-allowed}.fn-context-menu-item.disabled:hover{background:transparent}.fn-context-menu-separator{height:1px;background:#e0e0e0;margin:4px 0}.fn-context-menu-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px}.fn-context-menu-label{flex:1}.fn-cell-copying{background-color:#5a9fd4!important;transition:background-color 0ms ease-in!important}.fn-column-menu{display:flex;flex-direction:column}.fn-column-menu-tabs{display:flex;flex-direction:row;border-bottom:1px solid #e0e0e0;background:#f6f7f9}.fn-tab{padding:6px 12px;font-size:12px;font-weight:500;cursor:pointer;color:#888;border-bottom:2px solid transparent;-webkit-user-select:none;user-select:none;white-space:nowrap}.fn-tab:hover{color:#555;background:#0000000a}.fn-tab.fn-tab-active{color:#1995dc;border-bottom:2px solid #1995dc}.fn-column-menu-body{padding:8px;flex:1;overflow:hidden;display:flex;flex-direction:column;min-height:0}.fn-filter-tab-content{display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden}.fn-tab-close{color:#c0392b;font-size:1.2rem;font-weight:700;line-height:1;padding:0 8px;margin-left:auto}.fn-tab-close:hover{color:#e74c3c;background-color:#c0392b1a}.grid-debug-overlay{position:absolute;top:6px;right:6px;z-index:9999;font:12px/1.2 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;padding:6px 8px;border-radius:6px;background:#000000b8;color:#fff;color:green;color:#39ff14;white-space:nowrap;box-shadow:0 2px 10px #00000040}.grid-debug-overlay2{position:relative;z-index:9999;border-radius:2px;background:#f0f8ff;padding:7px;font-family:monospace;border:1px solid #dcdcdc;margin-bottom:10px;color:#333;white-space:pre-wrap}