lexgui 8.2.2 → 8.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/build/components/BaseComponent.d.ts +2 -0
  2. package/build/components/Form.d.ts +6 -0
  3. package/build/components/TextInput.d.ts +2 -0
  4. package/build/core/Namespace.js +1 -1
  5. package/build/core/Namespace.js.map +1 -1
  6. package/build/extensions/AssetView.d.ts +137 -137
  7. package/build/extensions/AssetView.js +1 -2
  8. package/build/extensions/AssetView.js.map +1 -1
  9. package/build/extensions/Audio.js +2 -2
  10. package/build/extensions/Audio.js.map +1 -1
  11. package/build/extensions/CodeEditor.d.ts +363 -358
  12. package/build/extensions/CodeEditor.js +5087 -5054
  13. package/build/extensions/CodeEditor.js.map +1 -1
  14. package/build/extensions/DocMaker.d.ts +14 -13
  15. package/build/extensions/DocMaker.js +354 -331
  16. package/build/extensions/DocMaker.js.map +1 -1
  17. package/build/lexgui.all.js +288 -145
  18. package/build/lexgui.all.js.map +1 -1
  19. package/build/lexgui.all.min.js +1 -1
  20. package/build/lexgui.all.module.js +288 -145
  21. package/build/lexgui.all.module.js.map +1 -1
  22. package/build/lexgui.all.module.min.js +1 -1
  23. package/build/lexgui.css +59 -57
  24. package/build/lexgui.js +195 -107
  25. package/build/lexgui.js.map +1 -1
  26. package/build/lexgui.min.css +2 -2
  27. package/build/lexgui.min.js +1 -1
  28. package/build/lexgui.module.js +195 -107
  29. package/build/lexgui.module.js.map +1 -1
  30. package/build/lexgui.module.min.js +1 -1
  31. package/changelog.md +33 -1
  32. package/demo.js +6 -3
  33. package/examples/all-components.html +15 -1
  34. package/examples/code-editor.html +7 -1
  35. package/examples/editor.html +9 -7
  36. package/package.json +1 -1
@@ -56,6 +56,7 @@ export declare class BaseComponent {
56
56
  onGetValue?: () => any;
57
57
  onAllowPaste?: (b: boolean) => boolean;
58
58
  onResize: (r?: any) => void;
59
+ onSetDisabled?: (disabled?: boolean) => void;
59
60
  _initialValue: any;
60
61
  static NO_CONTEXT_TYPES: ComponentType[];
61
62
  constructor(type: ComponentType, name?: string | null | undefined, value?: any, options?: any);
@@ -69,5 +70,6 @@ export declare class BaseComponent {
69
70
  copy(): void;
70
71
  paste(): void;
71
72
  typeName(): string | undefined;
73
+ setDisabled(disabled: boolean): void;
72
74
  refresh(value?: any): void;
73
75
  }
@@ -1,8 +1,14 @@
1
1
  import { BaseComponent } from './BaseComponent';
2
+ import { Button } from './Button';
2
3
  /**
3
4
  * @class Form
4
5
  * @description Form Component
5
6
  */
6
7
  export declare class Form extends BaseComponent {
8
+ data: any;
9
+ formData: any;
10
+ primaryButton: Button | undefined;
7
11
  constructor(name: string, data: any, callback: any, options?: any);
12
+ submit(): void;
13
+ syncInputs(): void;
8
14
  }
@@ -5,7 +5,9 @@ import { BaseComponent } from './BaseComponent';
5
5
  */
6
6
  export declare class TextInput extends BaseComponent {
7
7
  valid: (s: string, m?: string) => boolean;
8
+ input: HTMLInputElement | HTMLAnchorElement;
8
9
  _triggerEvent: Event | undefined;
9
10
  _lastValueTriggered?: any;
10
11
  constructor(name: string | null, value?: string, callback?: any, options?: any);
12
+ syncFromDOM(skipCallback?: boolean): void;
11
13
  }
@@ -10,7 +10,7 @@ const g = globalThis;
10
10
  let LX = g.LX;
11
11
  if (!LX) {
12
12
  LX = {
13
- version: '8.2.2',
13
+ version: '8.2.4',
14
14
  ready: false,
15
15
  extensions: [], // Store extensions used
16
16
  extraCommandbarEntries: [], // User specific entries for command bar
@@ -1 +1 @@
1
- {"version":3,"file":"Namespace.js","sources":["../../src/core/Namespace.ts"],"sourcesContent":["// Namespace.ts @jxarco\r\n\r\n/**\r\n * Main namespace\r\n * @namespace LX\r\n */\r\n\r\nconst g = globalThis as any;\r\n\r\n// Update global namespace if not present (Loading module)\r\n// Extension scripts rely on LX being globally available\r\nlet LX: any = g.LX;\r\n\r\nif ( !LX )\r\n{\r\n LX = {\r\n version: '8.2.2',\r\n ready: false,\r\n extensions: [], // Store extensions used\r\n extraCommandbarEntries: [], // User specific entries for command bar\r\n signals: {}, // Events and triggers\r\n activeDraggable: null, // Watch for the current active draggable\r\n\r\n spacingMode: 'default',\r\n layoutMode: 'app',\r\n\r\n MOUSE_LEFT_CLICK: 0,\r\n MOUSE_MIDDLE_CLICK: 1,\r\n MOUSE_RIGHT_CLICK: 2,\r\n\r\n MOUSE_DOUBLE_CLICK: 2,\r\n MOUSE_TRIPLE_CLICK: 3,\r\n\r\n CURVE_MOVEOUT_CLAMP: 0,\r\n CURVE_MOVEOUT_DELETE: 1,\r\n\r\n DRAGGABLE_Z_INDEX: 101\r\n };\r\n\r\n g.LX = LX;\r\n}\r\n\r\nexport { LX };\r\n"],"names":[],"mappings":";AAAA;AAEA;;;AAGG;AAEH,MAAM,CAAC,GAAG,UAAiB;AAE3B;AACA;AACA,IAAI,EAAE,GAAQ,CAAC,CAAC;AAEhB,IAAK,CAAC,EAAE,EACR;AACI,IAAA,EAAE,GAAG;AACD,QAAA,OAAO,EAAE,OAAO;AAChB,QAAA,KAAK,EAAE,KAAK;QACZ,UAAU,EAAE,EAAE;QACd,sBAAsB,EAAE,EAAE;QAC1B,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,IAAI;AAErB,QAAA,WAAW,EAAE,SAAS;AACtB,QAAA,UAAU,EAAE,KAAK;AAEjB,QAAA,gBAAgB,EAAE,CAAC;AACnB,QAAA,kBAAkB,EAAE,CAAC;AACrB,QAAA,iBAAiB,EAAE,CAAC;AAEpB,QAAA,kBAAkB,EAAE,CAAC;AACrB,QAAA,kBAAkB,EAAE,CAAC;AAErB,QAAA,mBAAmB,EAAE,CAAC;AACtB,QAAA,oBAAoB,EAAE,CAAC;AAEvB,QAAA,iBAAiB,EAAE;KACtB;AAED,IAAA,CAAC,CAAC,EAAE,GAAG,EAAE;AACb;;;;"}
1
+ {"version":3,"file":"Namespace.js","sources":["../../src/core/Namespace.ts"],"sourcesContent":["// Namespace.ts @jxarco\r\n\r\n/**\r\n * Main namespace\r\n * @namespace LX\r\n */\r\n\r\nconst g = globalThis as any;\r\n\r\n// Update global namespace if not present (Loading module)\r\n// Extension scripts rely on LX being globally available\r\nlet LX: any = g.LX;\r\n\r\nif ( !LX )\r\n{\r\n LX = {\r\n version: '8.2.4',\r\n ready: false,\r\n extensions: [], // Store extensions used\r\n extraCommandbarEntries: [], // User specific entries for command bar\r\n signals: {}, // Events and triggers\r\n activeDraggable: null, // Watch for the current active draggable\r\n\r\n spacingMode: 'default',\r\n layoutMode: 'app',\r\n\r\n MOUSE_LEFT_CLICK: 0,\r\n MOUSE_MIDDLE_CLICK: 1,\r\n MOUSE_RIGHT_CLICK: 2,\r\n\r\n MOUSE_DOUBLE_CLICK: 2,\r\n MOUSE_TRIPLE_CLICK: 3,\r\n\r\n CURVE_MOVEOUT_CLAMP: 0,\r\n CURVE_MOVEOUT_DELETE: 1,\r\n\r\n DRAGGABLE_Z_INDEX: 101\r\n };\r\n\r\n g.LX = LX;\r\n}\r\n\r\nexport { LX };\r\n"],"names":[],"mappings":";AAAA;AAEA;;;AAGG;AAEH,MAAM,CAAC,GAAG,UAAiB;AAE3B;AACA;AACA,IAAI,EAAE,GAAQ,CAAC,CAAC;AAEhB,IAAK,CAAC,EAAE,EACR;AACI,IAAA,EAAE,GAAG;AACD,QAAA,OAAO,EAAE,OAAO;AAChB,QAAA,KAAK,EAAE,KAAK;QACZ,UAAU,EAAE,EAAE;QACd,sBAAsB,EAAE,EAAE;QAC1B,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,IAAI;AAErB,QAAA,WAAW,EAAE,SAAS;AACtB,QAAA,UAAU,EAAE,KAAK;AAEjB,QAAA,gBAAgB,EAAE,CAAC;AACnB,QAAA,kBAAkB,EAAE,CAAC;AACrB,QAAA,iBAAiB,EAAE,CAAC;AAEpB,QAAA,kBAAkB,EAAE,CAAC;AACrB,QAAA,kBAAkB,EAAE,CAAC;AAErB,QAAA,mBAAmB,EAAE,CAAC;AACtB,QAAA,oBAAoB,EAAE,CAAC;AAEvB,QAAA,iBAAiB,EAAE;KACtB;AAED,IAAA,CAAC,CAAC,EAAE,GAAG,EAAE;AACb;;;;"}
@@ -1,137 +1,137 @@
1
- import { LX } from '../core/Namespace';
2
- declare const Area: any;
3
- declare const Panel: any;
4
- declare const NodeTree: any;
5
- declare const Tree: any;
6
- export type AssetViewAction = 'select' | 'dbl_click' | 'check' | 'clone' | 'move' | 'delete' | 'rename' | 'enter_folder' | 'create-folder' | 'refresh-content' | 'node-drag';
7
- export interface AssetViewItem {
8
- id: string;
9
- type: string;
10
- children: AssetViewItem[];
11
- parent?: AssetViewItem;
12
- path?: string;
13
- src?: string;
14
- dir?: AssetViewItem[];
15
- domEl?: HTMLElement;
16
- metadata: any;
17
- }
18
- interface AssetViewEvent {
19
- type: AssetViewAction;
20
- items?: AssetViewItem[];
21
- result?: AssetViewItem[];
22
- from?: AssetViewItem;
23
- to?: AssetViewItem;
24
- where?: AssetViewItem;
25
- oldName?: string;
26
- newName?: string;
27
- search?: any[];
28
- userInitiated: boolean;
29
- }
30
- /**
31
- * Signature for cancelable events.
32
- * `resolve()` MUST be called by the user to perform the UI action
33
- */
34
- export type AssetViewEventCallback = (event: AssetViewEvent, resolve?: (...args: any[]) => void) => boolean | void | Promise<void>;
35
- /**
36
- * @class AssetView
37
- * @description Asset container with Tree for file system
38
- */
39
- export declare class AssetView {
40
- static LAYOUT_GRID: number;
41
- static LAYOUT_COMPACT: number;
42
- static LAYOUT_LIST: number;
43
- static CONTENT_SORT_ASC: number;
44
- static CONTENT_SORT_DESC: number;
45
- root: HTMLElement;
46
- area: typeof Area | null;
47
- content: HTMLElement;
48
- leftPanel: typeof Panel | null;
49
- toolsPanel: any;
50
- contentPanel: any;
51
- previewPanel: any;
52
- tree: typeof NodeTree | null;
53
- prevData: AssetViewItem[];
54
- nextData: AssetViewItem[];
55
- data: AssetViewItem[];
56
- currentData: AssetViewItem[];
57
- currentFolder: AssetViewItem | undefined;
58
- rootItem: AssetViewItem;
59
- path: string[];
60
- rootPath: string;
61
- selectedItem: AssetViewItem | undefined;
62
- allowedTypes: any;
63
- searchValue: string;
64
- filter: string;
65
- gridScale: number;
66
- layout: number;
67
- sortMode: number;
68
- skipBrowser: boolean;
69
- skipPreview: boolean;
70
- useNativeTitle: boolean;
71
- onlyFolders: boolean;
72
- allowMultipleSelection: boolean;
73
- previewActions: any[];
74
- contextMenu: any[];
75
- itemContextMenuOptions: any;
76
- private _assetsPerPage;
77
- get assetsPerPage(): any;
78
- set assetsPerPage(v: any);
79
- _callbacks: Record<string, AssetViewEventCallback>;
80
- _lastSortBy: string;
81
- _paginator: typeof LX.Pagination | undefined;
82
- _scriptCodeDialog: typeof LX.Dialog | undefined;
83
- _moveItemDialog: typeof LX.Dialog | undefined;
84
- _movingItem: AssetViewItem | undefined;
85
- constructor(options?: any);
86
- /**
87
- * @method on
88
- * @description Stores an event callback for the desired action
89
- */
90
- on(eventName: string, callback: AssetViewEventCallback): void;
91
- /**
92
- * @method load
93
- * @description Loads and processes the input data
94
- */
95
- load(data: any): void;
96
- /**
97
- * @method addItem
98
- * @description Creates an item DOM element
99
- */
100
- addItem(item: AssetViewItem, childIndex: number | undefined, updateTree?: boolean): HTMLLIElement;
101
- /**
102
- * @method clear
103
- * @description Creates all AssetView container panels
104
- */
105
- clear(): void;
106
- _processData(data: any, parent?: AssetViewItem): void;
107
- _updatePath(): void;
108
- _createNavigationBar(panel: typeof Panel): void;
109
- _createTreePanel(area: typeof Area): void;
110
- _subscribeTreeEvents(tree: typeof Tree): void;
111
- _setContentLayout(layoutMode: number): void;
112
- _createContentPanel(area: typeof Area): void;
113
- _makeNameFilterFn(searchValue: string): (name: string) => boolean;
114
- _refreshContent(searchValue?: string, filter?: string, userInitiated?: boolean): void;
115
- _previewAsset(file: AssetViewItem): void;
116
- _processDrop(e: DragEvent): void;
117
- _sortData(sortBy?: string, sortMode?: number): void;
118
- _enterFolder(folderItem: AssetViewItem | undefined, storeCurrent?: boolean): Promise<void>;
119
- _removeItemFromParent(item: AssetViewItem): boolean;
120
- _requestDeleteItem(item: AssetViewItem): void;
121
- _deleteItem(item: AssetViewItem): void;
122
- _requestMoveItemToFolder(item: AssetViewItem, folder: AssetViewItem): void;
123
- _moveItemToFolder(item: AssetViewItem, folder: AssetViewItem): void;
124
- _moveItem(item: AssetViewItem, defaultFolder?: AssetViewItem | AssetViewItem[]): void;
125
- _requestCloneItem(item: AssetViewItem): false | undefined;
126
- _cloneItem(item: AssetViewItem): AssetViewItem;
127
- _getClonedName(originalName: string, siblings: any[]): string;
128
- _requestRenameItem(item: AssetViewItem, newName: string, treeEvent?: boolean): void;
129
- _renameItem(item: AssetViewItem, newName: string, data?: AssetViewItem[]): void;
130
- _renameItemPopover(item: AssetViewItem): void;
131
- _requestCreateFolder(folder?: AssetViewItem): void;
132
- _createFolder(folder?: AssetViewItem, newFolderName?: string): AssetViewItem;
133
- _openScriptInEditor(script: any): void;
134
- _setAssetsPerPage(n: number): void;
135
- _lastModifiedToStringDate(lm: number): string;
136
- }
137
- export {};
1
+ import { LX } from '../core/Namespace';
2
+ declare const Area: any;
3
+ declare const Panel: any;
4
+ declare const NodeTree: any;
5
+ declare const Tree: any;
6
+ export type AssetViewAction = 'select' | 'dbl_click' | 'check' | 'clone' | 'move' | 'delete' | 'rename' | 'enter_folder' | 'create-folder' | 'refresh-content' | 'node-drag';
7
+ export interface AssetViewItem {
8
+ id: string;
9
+ type: string;
10
+ children: AssetViewItem[];
11
+ parent?: AssetViewItem;
12
+ path?: string;
13
+ src?: string;
14
+ dir?: AssetViewItem[];
15
+ domEl?: HTMLElement;
16
+ metadata: any;
17
+ }
18
+ interface AssetViewEvent {
19
+ type: AssetViewAction;
20
+ items?: AssetViewItem[];
21
+ result?: AssetViewItem[];
22
+ from?: AssetViewItem;
23
+ to?: AssetViewItem;
24
+ where?: AssetViewItem;
25
+ oldName?: string;
26
+ newName?: string;
27
+ search?: any[];
28
+ userInitiated: boolean;
29
+ }
30
+ /**
31
+ * Signature for cancelable events.
32
+ * `resolve()` MUST be called by the user to perform the UI action
33
+ */
34
+ export type AssetViewEventCallback = (event: AssetViewEvent, resolve?: (...args: any[]) => void) => boolean | void | Promise<void>;
35
+ /**
36
+ * @class AssetView
37
+ * @description Asset container with Tree for file system
38
+ */
39
+ export declare class AssetView {
40
+ static LAYOUT_GRID: number;
41
+ static LAYOUT_COMPACT: number;
42
+ static LAYOUT_LIST: number;
43
+ static CONTENT_SORT_ASC: number;
44
+ static CONTENT_SORT_DESC: number;
45
+ root: HTMLElement;
46
+ area: typeof Area | null;
47
+ content: HTMLElement;
48
+ leftPanel: typeof Panel | null;
49
+ toolsPanel: any;
50
+ contentPanel: any;
51
+ previewPanel: any;
52
+ tree: typeof NodeTree | null;
53
+ prevData: AssetViewItem[];
54
+ nextData: AssetViewItem[];
55
+ data: AssetViewItem[];
56
+ currentData: AssetViewItem[];
57
+ currentFolder: AssetViewItem | undefined;
58
+ rootItem: AssetViewItem;
59
+ path: string[];
60
+ rootPath: string;
61
+ selectedItem: AssetViewItem | undefined;
62
+ allowedTypes: any;
63
+ searchValue: string;
64
+ filter: string;
65
+ gridScale: number;
66
+ layout: number;
67
+ sortMode: number;
68
+ skipBrowser: boolean;
69
+ skipPreview: boolean;
70
+ useNativeTitle: boolean;
71
+ onlyFolders: boolean;
72
+ allowMultipleSelection: boolean;
73
+ previewActions: any[];
74
+ contextMenu: any[];
75
+ itemContextMenuOptions: any;
76
+ private _assetsPerPage;
77
+ get assetsPerPage(): any;
78
+ set assetsPerPage(v: any);
79
+ _callbacks: Record<string, AssetViewEventCallback>;
80
+ _lastSortBy: string;
81
+ _paginator: typeof LX.Pagination | undefined;
82
+ _scriptCodeDialog: typeof LX.Dialog | undefined;
83
+ _moveItemDialog: typeof LX.Dialog | undefined;
84
+ _movingItem: AssetViewItem | undefined;
85
+ constructor(options?: any);
86
+ /**
87
+ * @method on
88
+ * @description Stores an event callback for the desired action
89
+ */
90
+ on(eventName: string, callback: AssetViewEventCallback): void;
91
+ /**
92
+ * @method load
93
+ * @description Loads and processes the input data
94
+ */
95
+ load(data: any): void;
96
+ /**
97
+ * @method addItem
98
+ * @description Creates an item DOM element
99
+ */
100
+ addItem(item: AssetViewItem, childIndex: number | undefined, updateTree?: boolean): HTMLLIElement;
101
+ /**
102
+ * @method clear
103
+ * @description Creates all AssetView container panels
104
+ */
105
+ clear(): void;
106
+ _processData(data: any, parent?: AssetViewItem): void;
107
+ _updatePath(): void;
108
+ _createNavigationBar(panel: typeof Panel): void;
109
+ _createTreePanel(area: typeof Area): void;
110
+ _subscribeTreeEvents(tree: typeof Tree): void;
111
+ _setContentLayout(layoutMode: number): void;
112
+ _createContentPanel(area: typeof Area): void;
113
+ _makeNameFilterFn(searchValue: string): (name: string) => boolean;
114
+ _refreshContent(searchValue?: string, filter?: string, userInitiated?: boolean): void;
115
+ _previewAsset(file: AssetViewItem): void;
116
+ _processDrop(e: DragEvent): void;
117
+ _sortData(sortBy?: string, sortMode?: number): void;
118
+ _enterFolder(folderItem: AssetViewItem | undefined, storeCurrent?: boolean): Promise<void>;
119
+ _removeItemFromParent(item: AssetViewItem): boolean;
120
+ _requestDeleteItem(item: AssetViewItem): void;
121
+ _deleteItem(item: AssetViewItem): void;
122
+ _requestMoveItemToFolder(item: AssetViewItem, folder: AssetViewItem): void;
123
+ _moveItemToFolder(item: AssetViewItem, folder: AssetViewItem): void;
124
+ _moveItem(item: AssetViewItem, defaultFolder?: AssetViewItem | AssetViewItem[]): void;
125
+ _requestCloneItem(item: AssetViewItem): false | undefined;
126
+ _cloneItem(item: AssetViewItem): AssetViewItem;
127
+ _getClonedName(originalName: string, siblings: any[]): string;
128
+ _requestRenameItem(item: AssetViewItem, newName: string, treeEvent?: boolean): void;
129
+ _renameItem(item: AssetViewItem, newName: string, data?: AssetViewItem[]): void;
130
+ _renameItemPopover(item: AssetViewItem): void;
131
+ _requestCreateFolder(folder?: AssetViewItem): void;
132
+ _createFolder(folder?: AssetViewItem, newFolderName?: string): AssetViewItem;
133
+ _openScriptInEditor(script: any): void;
134
+ _setAssetsPerPage(n: number): void;
135
+ _lastModifiedToStringDate(lm: number): string;
136
+ }
137
+ export {};
@@ -365,8 +365,7 @@ class AssetView {
365
365
  options.push({ name: o.name, icon: o.icon, callback: o.callback?.bind(that, item) });
366
366
  }
367
367
  }
368
- options.push(null, { name: 'Delete', icon: 'Trash2', className: 'text-destructive',
369
- callback: that._requestDeleteItem.bind(that, item) });
368
+ options.push(null, { name: 'Delete', icon: 'Trash2', className: 'destructive', callback: that._requestDeleteItem.bind(that, item) });
370
369
  LX.addClass(that.contentPanel.root, 'pointer-events-none');
371
370
  LX.addDropdownMenu(e.target, options, { side: 'right', align: 'start', event: e, onBlur: () => {
372
371
  LX.removeClass(that.contentPanel.root, 'pointer-events-none');