Merge branch 'main' of https://github.com/Pyroxenium/Basalt2
This commit is contained in:
10267
BasaltLS.lua
10267
BasaltLS.lua
File diff suppressed because it is too large
Load Diff
820
config.lua
820
config.lua
@@ -1,401 +1,64 @@
|
||||
return {
|
||||
["metadata"] = {
|
||||
["generated"] = "Sat Nov 1 09:48:17 2025",
|
||||
["version"] = "2.0",
|
||||
},
|
||||
["categories"] = {
|
||||
["elements"] = {
|
||||
["description"] = "UI Elements",
|
||||
["files"] = {
|
||||
["ScrollBar"] = {
|
||||
["description"] = "A ScrollBar element that can be attached to other elements to control their scroll properties.",
|
||||
["default"] = true,
|
||||
["size"] = 9665,
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["path"] = "elements/ScrollBar.lua",
|
||||
},
|
||||
["Button"] = {
|
||||
["description"] = "The Button is a standard button element with click handling and state management.",
|
||||
["default"] = true,
|
||||
["size"] = 2437,
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["path"] = "elements/Button.lua",
|
||||
},
|
||||
["Container"] = {
|
||||
["description"] = "The container class. It is a visual element that can contain other elements. It is the base class for all containers",
|
||||
["default"] = true,
|
||||
["size"] = 27481,
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["path"] = "elements/Container.lua",
|
||||
},
|
||||
["LineChart"] = {
|
||||
["description"] = "",
|
||||
["default"] = false,
|
||||
["size"] = 3171,
|
||||
["requires"] = {
|
||||
},
|
||||
["path"] = "elements/LineChart.lua",
|
||||
},
|
||||
["List"] = {
|
||||
["description"] = "A scrollable list of selectable items",
|
||||
["default"] = true,
|
||||
["size"] = 15474,
|
||||
["requires"] = {
|
||||
[1] = "Collection",
|
||||
},
|
||||
["path"] = "elements/List.lua",
|
||||
},
|
||||
["ComboBox"] = {
|
||||
["description"] = "A ComboBox that combines dropdown selection with editable text input",
|
||||
["default"] = false,
|
||||
["size"] = 13613,
|
||||
["requires"] = {
|
||||
[1] = "DropDown",
|
||||
},
|
||||
["path"] = "elements/ComboBox.lua",
|
||||
},
|
||||
["VisualElement"] = {
|
||||
["description"] = "The Visual Element class which is the base class for all visual UI elements",
|
||||
["default"] = true,
|
||||
["size"] = 43389,
|
||||
["requires"] = {
|
||||
[1] = "BaseElement",
|
||||
},
|
||||
["path"] = "elements/VisualElement.lua",
|
||||
},
|
||||
["Display"] = {
|
||||
["description"] = "The Display is a special element which uses the CC Window API which you can use.",
|
||||
["default"] = false,
|
||||
["size"] = 4668,
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["path"] = "elements/Display.lua",
|
||||
},
|
||||
["ProgressBar"] = {
|
||||
["description"] = "",
|
||||
["default"] = true,
|
||||
["size"] = 3398,
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["path"] = "elements/ProgressBar.lua",
|
||||
},
|
||||
["Tree"] = {
|
||||
["description"] = "",
|
||||
["default"] = true,
|
||||
["size"] = 22144,
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["path"] = "elements/Tree.lua",
|
||||
},
|
||||
["Table"] = {
|
||||
["description"] = "",
|
||||
["default"] = true,
|
||||
["size"] = 25362,
|
||||
["requires"] = {
|
||||
[1] = "Collection",
|
||||
},
|
||||
["path"] = "elements/Table.lua",
|
||||
},
|
||||
["Input"] = {
|
||||
["description"] = "A text input field with various features",
|
||||
["default"] = true,
|
||||
["size"] = 9200,
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["path"] = "elements/Input.lua",
|
||||
},
|
||||
["Accordion"] = {
|
||||
["description"] = "An Accordion element that provides collapsible panels with headers.",
|
||||
["default"] = true,
|
||||
["size"] = 14913,
|
||||
["requires"] = {
|
||||
[1] = "Container",
|
||||
},
|
||||
["path"] = "elements/Accordion.lua",
|
||||
},
|
||||
["TabControl"] = {
|
||||
["description"] = "A TabControl element that provides tabbed interface with multiple content areas.",
|
||||
["default"] = true,
|
||||
["size"] = 20903,
|
||||
["requires"] = {
|
||||
[1] = "Container",
|
||||
},
|
||||
["path"] = "elements/TabControl.lua",
|
||||
},
|
||||
["Breadcrumb"] = {
|
||||
["description"] = "",
|
||||
["default"] = true,
|
||||
["size"] = 4314,
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["path"] = "elements/Breadcrumb.lua",
|
||||
},
|
||||
["ContextMenu"] = {
|
||||
["description"] = "A ContextMenu element that displays a menu with items and submenus.",
|
||||
["default"] = true,
|
||||
["size"] = 10636,
|
||||
["requires"] = {
|
||||
[1] = "Container",
|
||||
},
|
||||
["path"] = "elements/ContextMenu.lua",
|
||||
},
|
||||
["Program"] = {
|
||||
["description"] = "",
|
||||
["default"] = true,
|
||||
["size"] = 12730,
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["path"] = "elements/Program.lua",
|
||||
},
|
||||
["Switch"] = {
|
||||
["description"] = "The Switch is a standard Switch element with click handling and state management.",
|
||||
["default"] = true,
|
||||
["size"] = 3269,
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["path"] = "elements/Switch.lua",
|
||||
},
|
||||
["Frame"] = {
|
||||
["description"] = "A frame element that serves as a grouping container for other elements.",
|
||||
["default"] = true,
|
||||
["size"] = 6646,
|
||||
["requires"] = {
|
||||
[1] = "Container",
|
||||
},
|
||||
["path"] = "elements/Frame.lua",
|
||||
},
|
||||
["Graph"] = {
|
||||
["description"] = "A point based graph element",
|
||||
["default"] = false,
|
||||
["size"] = 6933,
|
||||
["requires"] = {
|
||||
},
|
||||
["path"] = "elements/Graph.lua",
|
||||
},
|
||||
["ScrollFrame"] = {
|
||||
["description"] = "A scrollable container that automatically displays scrollbars when content overflows.",
|
||||
["default"] = true,
|
||||
["size"] = 16330,
|
||||
["requires"] = {
|
||||
[1] = "Container",
|
||||
},
|
||||
["path"] = "elements/ScrollFrame.lua",
|
||||
},
|
||||
["TextBox"] = {
|
||||
["description"] = "A multi-line text editor component with cursor support and text manipulation features",
|
||||
["default"] = false,
|
||||
["size"] = 43530,
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["path"] = "elements/TextBox.lua",
|
||||
},
|
||||
["Timer"] = {
|
||||
["description"] = "",
|
||||
["default"] = true,
|
||||
["size"] = 2914,
|
||||
["requires"] = {
|
||||
[1] = "BaseElement",
|
||||
},
|
||||
["path"] = "elements/Timer.lua",
|
||||
},
|
||||
["BarChart"] = {
|
||||
["description"] = "",
|
||||
["default"] = true,
|
||||
["size"] = 3507,
|
||||
["requires"] = {
|
||||
},
|
||||
["path"] = "elements/BarChart.lua",
|
||||
},
|
||||
["SideNav"] = {
|
||||
["description"] = "A SideNav element that provides sidebar navigation with multiple content areas.",
|
||||
["default"] = true,
|
||||
["size"] = 22135,
|
||||
["requires"] = {
|
||||
[1] = "Container",
|
||||
},
|
||||
["path"] = "elements/SideNav.lua",
|
||||
},
|
||||
["DropDown"] = {
|
||||
["description"] = "A DropDown menu that shows a list of selectable items",
|
||||
["default"] = false,
|
||||
["size"] = 7667,
|
||||
["requires"] = {
|
||||
[1] = "List",
|
||||
},
|
||||
["path"] = "elements/DropDown.lua",
|
||||
},
|
||||
["BaseElement"] = {
|
||||
["description"] = "The base class for all UI elements in Basalt.",
|
||||
["default"] = true,
|
||||
["size"] = 13870,
|
||||
["requires"] = {
|
||||
},
|
||||
["path"] = "elements/BaseElement.lua",
|
||||
},
|
||||
["Toast"] = {
|
||||
["description"] = "A toast notification element that displays temporary messages.",
|
||||
["default"] = true,
|
||||
["size"] = 7917,
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["path"] = "elements/Toast.lua",
|
||||
},
|
||||
["CheckBox"] = {
|
||||
["description"] = "This is a checkbox. It is a visual element that can be checked.",
|
||||
["default"] = true,
|
||||
["size"] = 3700,
|
||||
["requires"] = {
|
||||
},
|
||||
["path"] = "elements/CheckBox.lua",
|
||||
},
|
||||
["Slider"] = {
|
||||
["description"] = "",
|
||||
["default"] = true,
|
||||
["size"] = 4977,
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["path"] = "elements/Slider.lua",
|
||||
},
|
||||
["Dialog"] = {
|
||||
["description"] = "A dialog overlay system with common presets (alert, confirm, prompt).",
|
||||
["default"] = true,
|
||||
["size"] = 8878,
|
||||
["requires"] = {
|
||||
[1] = "Frame",
|
||||
},
|
||||
["path"] = "elements/Dialog.lua",
|
||||
},
|
||||
["Label"] = {
|
||||
["description"] = "A simple text display element that automatically resizes its width based on the text content.",
|
||||
["default"] = true,
|
||||
["size"] = 3092,
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["path"] = "elements/Label.lua",
|
||||
},
|
||||
["Image"] = {
|
||||
["description"] = "An element that displays an image in bimg format",
|
||||
["default"] = false,
|
||||
["size"] = 15117,
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["path"] = "elements/Image.lua",
|
||||
},
|
||||
["Menu"] = {
|
||||
["description"] = "A horizontal menu bar with selectable items.",
|
||||
["default"] = true,
|
||||
["size"] = 8582,
|
||||
["requires"] = {
|
||||
[1] = "List",
|
||||
},
|
||||
["path"] = "elements/Menu.lua",
|
||||
},
|
||||
["BigFont"] = {
|
||||
["description"] = "",
|
||||
["default"] = false,
|
||||
["size"] = 21551,
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["path"] = "elements/BigFont.lua",
|
||||
},
|
||||
["BaseFrame"] = {
|
||||
["description"] = "This is the base frame class. It is the root element of all elements and the only element without a parent.",
|
||||
["default"] = true,
|
||||
["size"] = 9017,
|
||||
["requires"] = {
|
||||
[1] = "Container",
|
||||
},
|
||||
["path"] = "elements/BaseFrame.lua",
|
||||
},
|
||||
["Collection"] = {
|
||||
["description"] = "A collection of items",
|
||||
["default"] = true,
|
||||
["size"] = 7778,
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["path"] = "elements/Collection.lua",
|
||||
},
|
||||
},
|
||||
},
|
||||
["plugins"] = {
|
||||
["description"] = "Plugins",
|
||||
["files"] = {
|
||||
["benchmark"] = {
|
||||
["canvas"] = {
|
||||
["description"] = "",
|
||||
["size"] = 7873,
|
||||
["default"] = true,
|
||||
["size"] = 12581,
|
||||
["path"] = "plugins/canvas.lua",
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["path"] = "plugins/benchmark.lua",
|
||||
},
|
||||
["animation"] = {
|
||||
["description"] = "",
|
||||
["default"] = true,
|
||||
["size"] = 18421,
|
||||
["requires"] = {
|
||||
},
|
||||
["default"] = true,
|
||||
["path"] = "plugins/animation.lua",
|
||||
},
|
||||
["theme"] = {
|
||||
["description"] = "",
|
||||
["default"] = true,
|
||||
["size"] = 6775,
|
||||
["requires"] = {
|
||||
},
|
||||
["path"] = "plugins/theme.lua",
|
||||
},
|
||||
["debug"] = {
|
||||
["description"] = "",
|
||||
["default"] = true,
|
||||
["size"] = 6250,
|
||||
["requires"] = {
|
||||
},
|
||||
["path"] = "plugins/debug.lua",
|
||||
},
|
||||
["reactive"] = {
|
||||
["description"] = "",
|
||||
["default"] = true,
|
||||
["size"] = 11028,
|
||||
["requires"] = {
|
||||
},
|
||||
["path"] = "plugins/reactive.lua",
|
||||
},
|
||||
["canvas"] = {
|
||||
["description"] = "",
|
||||
["default"] = true,
|
||||
["size"] = 7873,
|
||||
["path"] = "plugins/reactive.lua",
|
||||
["requires"] = {
|
||||
},
|
||||
["path"] = "plugins/canvas.lua",
|
||||
},
|
||||
["debug"] = {
|
||||
["description"] = "",
|
||||
["size"] = 6250,
|
||||
["default"] = true,
|
||||
["path"] = "plugins/debug.lua",
|
||||
["requires"] = {
|
||||
},
|
||||
},
|
||||
["theme"] = {
|
||||
["description"] = "",
|
||||
["size"] = 6775,
|
||||
["default"] = true,
|
||||
["path"] = "plugins/theme.lua",
|
||||
["requires"] = {
|
||||
},
|
||||
},
|
||||
["benchmark"] = {
|
||||
["description"] = "",
|
||||
["size"] = 12581,
|
||||
["default"] = true,
|
||||
["path"] = "plugins/benchmark.lua",
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
},
|
||||
["xml"] = {
|
||||
["description"] = "",
|
||||
["default"] = true,
|
||||
["size"] = 14042,
|
||||
["default"] = true,
|
||||
["path"] = "plugins/xml.lua",
|
||||
["requires"] = {
|
||||
},
|
||||
["path"] = "plugins/xml.lua",
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -404,106 +67,443 @@ return {
|
||||
["files"] = {
|
||||
["utils"] = {
|
||||
["description"] = "",
|
||||
["default"] = true,
|
||||
["size"] = 2661,
|
||||
["default"] = true,
|
||||
["path"] = "libraries/utils.lua",
|
||||
["requires"] = {
|
||||
},
|
||||
["path"] = "libraries/utils.lua",
|
||||
},
|
||||
["collectionentry"] = {
|
||||
["description"] = "",
|
||||
["default"] = true,
|
||||
["size"] = 3551,
|
||||
["default"] = true,
|
||||
["path"] = "libraries/collectionentry.lua",
|
||||
["requires"] = {
|
||||
},
|
||||
["path"] = "libraries/collectionentry.lua",
|
||||
},
|
||||
["expect"] = {
|
||||
["description"] = "",
|
||||
["default"] = true,
|
||||
["size"] = 846,
|
||||
["default"] = true,
|
||||
["path"] = "libraries/expect.lua",
|
||||
["requires"] = {
|
||||
},
|
||||
["path"] = "libraries/expect.lua",
|
||||
},
|
||||
["colorHex"] = {
|
||||
["description"] = "",
|
||||
["default"] = true,
|
||||
["size"] = 132,
|
||||
["default"] = true,
|
||||
["path"] = "libraries/colorHex.lua",
|
||||
["requires"] = {
|
||||
},
|
||||
["path"] = "libraries/colorHex.lua",
|
||||
},
|
||||
},
|
||||
},
|
||||
["elements"] = {
|
||||
["description"] = "UI Elements",
|
||||
["files"] = {
|
||||
["TabControl"] = {
|
||||
["description"] = "A TabControl element that provides tabbed interface with multiple content areas.",
|
||||
["size"] = 20903,
|
||||
["default"] = true,
|
||||
["path"] = "elements/TabControl.lua",
|
||||
["requires"] = {
|
||||
[1] = "Container",
|
||||
},
|
||||
},
|
||||
["Display"] = {
|
||||
["description"] = "The Display is a special element which uses the CC Window API which you can use.",
|
||||
["size"] = 4668,
|
||||
["default"] = false,
|
||||
["path"] = "elements/Display.lua",
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
},
|
||||
["DropDown"] = {
|
||||
["description"] = "A DropDown menu that shows a list of selectable items",
|
||||
["size"] = 7887,
|
||||
["default"] = false,
|
||||
["path"] = "elements/DropDown.lua",
|
||||
["requires"] = {
|
||||
[1] = "List",
|
||||
},
|
||||
},
|
||||
["Collection"] = {
|
||||
["description"] = "A collection of items",
|
||||
["size"] = 7778,
|
||||
["default"] = true,
|
||||
["path"] = "elements/Collection.lua",
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
},
|
||||
["Table"] = {
|
||||
["description"] = "",
|
||||
["size"] = 25362,
|
||||
["default"] = true,
|
||||
["path"] = "elements/Table.lua",
|
||||
["requires"] = {
|
||||
[1] = "Collection",
|
||||
},
|
||||
},
|
||||
["Container"] = {
|
||||
["description"] = "The container class. It is a visual element that can contain other elements. It is the base class for all containers",
|
||||
["size"] = 27481,
|
||||
["default"] = true,
|
||||
["path"] = "elements/Container.lua",
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
},
|
||||
["Timer"] = {
|
||||
["description"] = "",
|
||||
["size"] = 2914,
|
||||
["default"] = true,
|
||||
["path"] = "elements/Timer.lua",
|
||||
["requires"] = {
|
||||
[1] = "BaseElement",
|
||||
},
|
||||
},
|
||||
["Menu"] = {
|
||||
["description"] = "A horizontal menu bar with selectable items.",
|
||||
["size"] = 8582,
|
||||
["default"] = true,
|
||||
["path"] = "elements/Menu.lua",
|
||||
["requires"] = {
|
||||
[1] = "List",
|
||||
},
|
||||
},
|
||||
["Breadcrumb"] = {
|
||||
["description"] = "",
|
||||
["size"] = 4314,
|
||||
["default"] = true,
|
||||
["path"] = "elements/Breadcrumb.lua",
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
},
|
||||
["Dialog"] = {
|
||||
["description"] = "A dialog overlay system with common presets (alert, confirm, prompt).",
|
||||
["size"] = 8878,
|
||||
["default"] = true,
|
||||
["path"] = "elements/Dialog.lua",
|
||||
["requires"] = {
|
||||
[1] = "Frame",
|
||||
},
|
||||
},
|
||||
["ComboBox"] = {
|
||||
["description"] = "A ComboBox that combines dropdown selection with editable text input",
|
||||
["size"] = 14752,
|
||||
["default"] = false,
|
||||
["path"] = "elements/ComboBox.lua",
|
||||
["requires"] = {
|
||||
[1] = "DropDown",
|
||||
},
|
||||
},
|
||||
["BaseElement"] = {
|
||||
["description"] = "The base class for all UI elements in Basalt.",
|
||||
["size"] = 13870,
|
||||
["default"] = true,
|
||||
["path"] = "elements/BaseElement.lua",
|
||||
["requires"] = {
|
||||
},
|
||||
},
|
||||
["LineChart"] = {
|
||||
["description"] = "",
|
||||
["size"] = 3171,
|
||||
["default"] = false,
|
||||
["path"] = "elements/LineChart.lua",
|
||||
["requires"] = {
|
||||
},
|
||||
},
|
||||
["BigFont"] = {
|
||||
["description"] = "",
|
||||
["size"] = 21551,
|
||||
["default"] = false,
|
||||
["path"] = "elements/BigFont.lua",
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
},
|
||||
["VisualElement"] = {
|
||||
["description"] = "The Visual Element class which is the base class for all visual UI elements",
|
||||
["size"] = 43389,
|
||||
["default"] = true,
|
||||
["path"] = "elements/VisualElement.lua",
|
||||
["requires"] = {
|
||||
[1] = "BaseElement",
|
||||
},
|
||||
},
|
||||
["ContextMenu"] = {
|
||||
["description"] = "A ContextMenu element that displays a menu with items and submenus.",
|
||||
["size"] = 10636,
|
||||
["default"] = true,
|
||||
["path"] = "elements/ContextMenu.lua",
|
||||
["requires"] = {
|
||||
[1] = "Container",
|
||||
},
|
||||
},
|
||||
["Accordion"] = {
|
||||
["description"] = "An Accordion element that provides collapsible panels with headers.",
|
||||
["size"] = 14913,
|
||||
["default"] = true,
|
||||
["path"] = "elements/Accordion.lua",
|
||||
["requires"] = {
|
||||
[1] = "Container",
|
||||
},
|
||||
},
|
||||
["CheckBox"] = {
|
||||
["description"] = "This is a checkbox. It is a visual element that can be checked.",
|
||||
["size"] = 3700,
|
||||
["default"] = true,
|
||||
["path"] = "elements/CheckBox.lua",
|
||||
["requires"] = {
|
||||
},
|
||||
},
|
||||
["Toast"] = {
|
||||
["description"] = "A toast notification element that displays temporary messages.",
|
||||
["size"] = 7917,
|
||||
["default"] = true,
|
||||
["path"] = "elements/Toast.lua",
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
},
|
||||
["Input"] = {
|
||||
["description"] = "A text input field with various features",
|
||||
["size"] = 9200,
|
||||
["default"] = true,
|
||||
["path"] = "elements/Input.lua",
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
},
|
||||
["Slider"] = {
|
||||
["description"] = "",
|
||||
["size"] = 4977,
|
||||
["default"] = true,
|
||||
["path"] = "elements/Slider.lua",
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
},
|
||||
["Graph"] = {
|
||||
["description"] = "A point based graph element",
|
||||
["size"] = 6933,
|
||||
["default"] = false,
|
||||
["path"] = "elements/Graph.lua",
|
||||
["requires"] = {
|
||||
},
|
||||
},
|
||||
["List"] = {
|
||||
["description"] = "A scrollable list of selectable items",
|
||||
["size"] = 15474,
|
||||
["default"] = true,
|
||||
["path"] = "elements/List.lua",
|
||||
["requires"] = {
|
||||
[1] = "Collection",
|
||||
},
|
||||
},
|
||||
["ScrollBar"] = {
|
||||
["description"] = "A ScrollBar element that can be attached to other elements to control their scroll properties.",
|
||||
["size"] = 9665,
|
||||
["default"] = true,
|
||||
["path"] = "elements/ScrollBar.lua",
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
},
|
||||
["ScrollFrame"] = {
|
||||
["description"] = "A scrollable container that automatically displays scrollbars when content overflows.",
|
||||
["size"] = 16330,
|
||||
["default"] = true,
|
||||
["path"] = "elements/ScrollFrame.lua",
|
||||
["requires"] = {
|
||||
[1] = "Container",
|
||||
},
|
||||
},
|
||||
["ProgressBar"] = {
|
||||
["description"] = "",
|
||||
["size"] = 3398,
|
||||
["default"] = true,
|
||||
["path"] = "elements/ProgressBar.lua",
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
},
|
||||
["Frame"] = {
|
||||
["description"] = "A frame element that serves as a grouping container for other elements.",
|
||||
["size"] = 6646,
|
||||
["default"] = true,
|
||||
["path"] = "elements/Frame.lua",
|
||||
["requires"] = {
|
||||
[1] = "Container",
|
||||
},
|
||||
},
|
||||
["Image"] = {
|
||||
["description"] = "An element that displays an image in bimg format",
|
||||
["size"] = 15117,
|
||||
["default"] = false,
|
||||
["path"] = "elements/Image.lua",
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
},
|
||||
["Switch"] = {
|
||||
["description"] = "The Switch is a standard Switch element with click handling and state management.",
|
||||
["size"] = 3269,
|
||||
["default"] = true,
|
||||
["path"] = "elements/Switch.lua",
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
},
|
||||
["Button"] = {
|
||||
["description"] = "The Button is a standard button element with click handling and state management.",
|
||||
["size"] = 2437,
|
||||
["default"] = true,
|
||||
["path"] = "elements/Button.lua",
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
},
|
||||
["BaseFrame"] = {
|
||||
["description"] = "This is the base frame class. It is the root element of all elements and the only element without a parent.",
|
||||
["size"] = 9017,
|
||||
["default"] = true,
|
||||
["path"] = "elements/BaseFrame.lua",
|
||||
["requires"] = {
|
||||
[1] = "Container",
|
||||
},
|
||||
},
|
||||
["Tree"] = {
|
||||
["description"] = "",
|
||||
["size"] = 22144,
|
||||
["default"] = true,
|
||||
["path"] = "elements/Tree.lua",
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
},
|
||||
["SideNav"] = {
|
||||
["description"] = "A SideNav element that provides sidebar navigation with multiple content areas.",
|
||||
["size"] = 22135,
|
||||
["default"] = true,
|
||||
["path"] = "elements/SideNav.lua",
|
||||
["requires"] = {
|
||||
[1] = "Container",
|
||||
},
|
||||
},
|
||||
["Program"] = {
|
||||
["description"] = "",
|
||||
["size"] = 12730,
|
||||
["default"] = true,
|
||||
["path"] = "elements/Program.lua",
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
},
|
||||
["BarChart"] = {
|
||||
["description"] = "",
|
||||
["size"] = 3507,
|
||||
["default"] = true,
|
||||
["path"] = "elements/BarChart.lua",
|
||||
["requires"] = {
|
||||
},
|
||||
},
|
||||
["TextBox"] = {
|
||||
["description"] = "A multi-line text editor component with cursor support and text manipulation features",
|
||||
["size"] = 43530,
|
||||
["default"] = false,
|
||||
["path"] = "elements/TextBox.lua",
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
},
|
||||
["Label"] = {
|
||||
["description"] = "A simple text display element that automatically resizes its width based on the text content.",
|
||||
["size"] = 3092,
|
||||
["default"] = true,
|
||||
["path"] = "elements/Label.lua",
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
["core"] = {
|
||||
["description"] = "Core Files",
|
||||
["files"] = {
|
||||
["propertySystem"] = {
|
||||
["main"] = {
|
||||
["description"] = "",
|
||||
["size"] = 19883,
|
||||
["default"] = true,
|
||||
["size"] = 18186,
|
||||
["path"] = "main.lua",
|
||||
["requires"] = {
|
||||
},
|
||||
["path"] = "propertySystem.lua",
|
||||
},
|
||||
["errorManager"] = {
|
||||
["description"] = "",
|
||||
["default"] = true,
|
||||
["size"] = 3789,
|
||||
["requires"] = {
|
||||
},
|
||||
["path"] = "errorManager.lua",
|
||||
},
|
||||
["log"] = {
|
||||
["description"] = "",
|
||||
["default"] = true,
|
||||
["size"] = 3142,
|
||||
["path"] = "errorManager.lua",
|
||||
["requires"] = {
|
||||
},
|
||||
},
|
||||
["propertySystem"] = {
|
||||
["description"] = "",
|
||||
["size"] = 18186,
|
||||
["default"] = true,
|
||||
["path"] = "propertySystem.lua",
|
||||
["requires"] = {
|
||||
},
|
||||
["path"] = "log.lua",
|
||||
},
|
||||
["init"] = {
|
||||
["description"] = "",
|
||||
["default"] = true,
|
||||
["size"] = 622,
|
||||
["requires"] = {
|
||||
},
|
||||
["default"] = true,
|
||||
["path"] = "init.lua",
|
||||
},
|
||||
["elementManager"] = {
|
||||
["description"] = "",
|
||||
["default"] = true,
|
||||
["size"] = 15411,
|
||||
["requires"] = {
|
||||
},
|
||||
["path"] = "elementManager.lua",
|
||||
},
|
||||
["main"] = {
|
||||
["description"] = "",
|
||||
["default"] = true,
|
||||
["size"] = 19883,
|
||||
["requires"] = {
|
||||
},
|
||||
["path"] = "main.lua",
|
||||
},
|
||||
["layoutManager"] = {
|
||||
["description"] = "",
|
||||
["default"] = true,
|
||||
["size"] = 2488,
|
||||
["default"] = true,
|
||||
["path"] = "layoutManager.lua",
|
||||
["requires"] = {
|
||||
},
|
||||
["path"] = "layoutManager.lua",
|
||||
},
|
||||
["render"] = {
|
||||
["description"] = "",
|
||||
["default"] = true,
|
||||
["size"] = 12422,
|
||||
["default"] = true,
|
||||
["path"] = "render.lua",
|
||||
["requires"] = {
|
||||
},
|
||||
},
|
||||
["log"] = {
|
||||
["description"] = "",
|
||||
["size"] = 3142,
|
||||
["default"] = true,
|
||||
["path"] = "log.lua",
|
||||
["requires"] = {
|
||||
},
|
||||
},
|
||||
["elementManager"] = {
|
||||
["description"] = "",
|
||||
["size"] = 15411,
|
||||
["default"] = true,
|
||||
["path"] = "elementManager.lua",
|
||||
["requires"] = {
|
||||
},
|
||||
["path"] = "render.lua",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
["metadata"] = {
|
||||
["version"] = "2.0",
|
||||
["generated"] = "Sun Nov 2 09:56:24 2025",
|
||||
},
|
||||
}
|
||||
@@ -488,114 +488,124 @@ local dd=cd.data[groupIndex]
|
||||
if dd then local __a=ad+ (bd-1)local a_a=(dd-cb)/ (db-cb)
|
||||
local b_a=math.floor(bb- (a_a* (bb-1)))b_a=math.max(1,math.min(b_a,bb))for barY=b_a,bb do
|
||||
self:blit(__a,barY,cd.symbol,da[cd.fgColor],da[cd.bgColor])end end end end end;return _b end
|
||||
project["elements/ComboBox.lua"] = function(...) local _a=require("elements/VisualElement")
|
||||
local aa=require("elements/DropDown")local ba=require("libraries/colorHex")
|
||||
local ca=setmetatable({},aa)ca.__index=ca
|
||||
ca.defineProperty(ca,"editable",{default=true,type="boolean",canTriggerRender=true})
|
||||
ca.defineProperty(ca,"text",{default="",type="string",canTriggerRender=true,seetter=function(da,_b)
|
||||
da.set("cursorPos",#da.get("text")+1)da:updateViewport()end})
|
||||
ca.defineProperty(ca,"cursorPos",{default=1,type="number"})
|
||||
ca.defineProperty(ca,"viewOffset",{default=0,type="number",canTriggerRender=true})
|
||||
ca.defineProperty(ca,"placeholder",{default="...",type="string"})
|
||||
ca.defineProperty(ca,"placeholderColor",{default=colors.gray,type="color"})
|
||||
ca.defineProperty(ca,"autoComplete",{default=false,type="boolean"})
|
||||
ca.defineProperty(ca,"manuallyOpened",{default=false,type="boolean"})function ca.new()local da=setmetatable({},ca):__init()
|
||||
da.class=ca;da.set("width",16)da.set("height",1)da.set("z",8)
|
||||
return da end
|
||||
function ca:init(da,_b)
|
||||
aa.init(self,da,_b)self.set("type","ComboBox")
|
||||
project["elements/ComboBox.lua"] = function(...) local aa=require("elements/VisualElement")
|
||||
local ba=require("elements/List")local ca=require("elements/DropDown")
|
||||
local da=require("libraries/colorHex")local _b=setmetatable({},ca)_b.__index=_b
|
||||
_b.defineProperty(_b,"editable",{default=true,type="boolean",canTriggerRender=true})
|
||||
_b.defineProperty(_b,"text",{default="",type="string",canTriggerRender=true,setter=function(ab,bb)ab.set("cursorPos",#bb+1)
|
||||
ab:updateViewport()return bb end})
|
||||
_b.defineProperty(_b,"cursorPos",{default=1,type="number"})
|
||||
_b.defineProperty(_b,"viewOffset",{default=0,type="number",canTriggerRender=true})
|
||||
_b.defineProperty(_b,"autoComplete",{default=false,type="boolean"})
|
||||
_b.defineProperty(_b,"manuallyOpened",{default=false,type="boolean"})function _b.new()local ab=setmetatable({},_b):__init()
|
||||
ab.class=_b;ab.set("width",16)ab.set("height",1)ab.set("z",8)
|
||||
return ab end
|
||||
function _b:init(ab,bb)
|
||||
ca.init(self,ab,bb)self.set("type","ComboBox")
|
||||
self.set("cursorPos",1)self.set("viewOffset",0)return self end
|
||||
function ca:getFilteredItems()local da=self.get("items")or{}
|
||||
local _b=self.get("text"):lower()
|
||||
if not self.get("autoComplete")or#_b==0 then return da end;local ab={}
|
||||
for bb,cb in ipairs(da)do local db=""
|
||||
if type(cb)=="string"then db=cb:lower()elseif
|
||||
type(cb)=="table"and cb.text then db=cb.text:lower()end;if db:find(_b,1,true)then table.insert(ab,cb)end end;return ab end
|
||||
function ca:updateFilteredDropdown()
|
||||
if not self.get("autoComplete")then return end;local da=self:getFilteredItems()local _b=#da>0 and
|
||||
function _b:getFilteredItems()local ab=self.get("items")or{}
|
||||
local bb=self.get("text"):lower()
|
||||
if not self.get("autoComplete")or#bb==0 then return ab end;local cb={}
|
||||
for db,_c in ipairs(ab)do local ac=""
|
||||
if type(_c)=="string"then ac=_c:lower()elseif
|
||||
type(_c)=="table"and _c.text then ac=_c.text:lower()end;if ac:find(bb,1,true)then table.insert(cb,_c)end end;return cb end
|
||||
function _b:updateFilteredDropdown()
|
||||
if not self.get("autoComplete")then return end;local ab=self:getFilteredItems()local bb=#ab>0 and
|
||||
#self.get("text")>0
|
||||
if _b then self:setState("opened")
|
||||
self.set("manuallyOpened",false)local ab=self.get("dropdownHeight")or 5
|
||||
local bb=math.min(ab,#da)self.set("height",1 +bb)else
|
||||
if bb then self:setState("opened")
|
||||
self.set("manuallyOpened",false)local cb=self.get("dropdownHeight")or 5
|
||||
local db=math.min(cb,#ab)self.set("height",1 +db)else
|
||||
self:unsetState("opened")self.set("manuallyOpened",false)
|
||||
self.set("height",1)end;self:updateRender()end
|
||||
function ca:updateViewport()local da=self.get("text")
|
||||
local _b=self.get("cursorPos")local ab=self.get("width")local bb=self.get("dropSymbol")
|
||||
local cb=ab-#bb;if cb<1 then cb=1 end;local db=self.get("viewOffset")if _b-db>cb then db=_b-cb elseif
|
||||
_b-1 <db then db=math.max(0,_b-1)end
|
||||
self.set("viewOffset",db)end
|
||||
function ca:char(da)if not self.get("editable")then return end;if not
|
||||
self:hasState("focused")then return end;local _b=self.get("text")
|
||||
local ab=self.get("cursorPos")local bb=_b:sub(1,ab-1)..da.._b:sub(ab)
|
||||
self.set("text",bb)self.set("cursorPos",ab+1)self:updateViewport()
|
||||
function _b:updateViewport()local ab=self.get("text")
|
||||
local bb=self.get("cursorPos")local cb=self.get("width")local db=self.get("dropSymbol")
|
||||
local _c=cb-#db;if _c<1 then _c=1 end;local ac=self.get("viewOffset")if bb-ac>_c then ac=bb-_c elseif
|
||||
bb-1 <ac then ac=math.max(0,bb-1)end
|
||||
self.set("viewOffset",ac)end
|
||||
function _b:char(ab)if not self.get("editable")then return end;if not
|
||||
self:hasState("focused")then return end;local bb=self.get("text")
|
||||
local cb=self.get("cursorPos")local db=bb:sub(1,cb-1)..ab..bb:sub(cb)
|
||||
self.set("text",db)self.set("cursorPos",cb+1)self:updateViewport()
|
||||
if
|
||||
self.get("autoComplete")then self:updateFilteredDropdown()else self:updateRender()end end
|
||||
function ca:key(da,_b)if not self.get("editable")then return end;if not
|
||||
self:hasState("focused")then return end;local ab=self.get("text")
|
||||
local bb=self.get("cursorPos")
|
||||
if da==keys.left then
|
||||
self.set("cursorPos",math.max(1,bb-1))self:updateViewport()elseif da==keys.right then
|
||||
self.set("cursorPos",math.min(#ab+1,bb+1))self:updateViewport()elseif da==keys.backspace then
|
||||
if bb>1 then local cb=ab:sub(1,bb-2)..
|
||||
ab:sub(bb)self.set("text",cb)
|
||||
self.set("cursorPos",bb-1)self:updateViewport()if self.get("autoComplete")then
|
||||
self:updateFilteredDropdown()else self:updateRender()end end elseif da==keys.delete then
|
||||
if bb<=#ab then
|
||||
local cb=ab:sub(1,bb-1)..ab:sub(bb+1)self.set("text",cb)self:updateViewport()
|
||||
function _b:key(ab,bb)if not self.get("editable")then return end;if not
|
||||
self:hasState("focused")then return end;local cb=self.get("text")
|
||||
local db=self.get("cursorPos")
|
||||
if ab==keys.left then
|
||||
self.set("cursorPos",math.max(1,db-1))self:updateViewport()elseif ab==keys.right then
|
||||
self.set("cursorPos",math.min(#cb+1,db+1))self:updateViewport()elseif ab==keys.backspace then
|
||||
if db>1 then local _c=cb:sub(1,db-2)..
|
||||
cb:sub(db)self.set("text",_c)
|
||||
self.set("cursorPos",db-1)self:updateViewport()if self.get("autoComplete")then
|
||||
self:updateFilteredDropdown()else self:updateRender()end end elseif ab==keys.delete then
|
||||
if db<=#cb then
|
||||
local _c=cb:sub(1,db-1)..cb:sub(db+1)self.set("text",_c)self:updateViewport()
|
||||
if
|
||||
self.get("autoComplete")then self:updateFilteredDropdown()else self:updateRender()end end elseif da==keys.home then self.set("cursorPos",1)
|
||||
self:updateViewport()elseif da==keys["end"]then self.set("cursorPos",#ab+1)
|
||||
self:updateViewport()elseif da==keys.enter then
|
||||
self.get("autoComplete")then self:updateFilteredDropdown()else self:updateRender()end end elseif ab==keys.home then self.set("cursorPos",1)
|
||||
self:updateViewport()elseif ab==keys["end"]then self.set("cursorPos",#cb+1)
|
||||
self:updateViewport()elseif ab==keys.enter then
|
||||
if self:hasState("opened")then
|
||||
self:unsetState("opened")else self:setState("opened")end;self:updateRender()end end
|
||||
function ca:mouse_click(da,_b,ab)
|
||||
if not _a.mouse_click(self,da,_b,ab)then return false end;local bb,cb=self:getRelativePosition(_b,ab)
|
||||
local db=self.get("width")local _c=self.get("dropSymbol")
|
||||
local ac=self:hasState("opened")
|
||||
if cb==1 then
|
||||
if bb>=db-#_c+1 and bb<=db then if ac then
|
||||
self:unsetState("opened")else self:setState("opened")end
|
||||
if not ac then local bc=
|
||||
self.get("items")or{}
|
||||
local cc=self.get("dropdownHeight")or 5;local dc=math.min(cc,#bc)self.set("height",1 +dc)
|
||||
self.set("manuallyOpened",true)else self.set("height",1)
|
||||
self.set("manuallyOpened",false)end;self:updateRender()return true end
|
||||
if bb<=db-#_c and self.get("editable")then
|
||||
local bc=self.get("text")local cc=self.get("viewOffset")local dc=#bc+1
|
||||
local _d=math.min(dc,cc+bb)self.set("cursorPos",_d)self:updateRender()return true end;return true elseif ac and cb>1 and self.get("selectable")then local bc=(cb-1)+
|
||||
self.get("offset")local cc=self.get("items")
|
||||
if bc<=#cc then
|
||||
local dc=cc[bc]if type(dc)=="string"then dc={text=dc}cc[bc]=dc end
|
||||
if not
|
||||
self.get("multiSelection")then for _d,ad in ipairs(cc)do
|
||||
if type(ad)=="table"then ad.selected=false end end end;dc.selected=true;if dc.text then self:setText(dc.text)end
|
||||
self:unsetState("opened")self.set("height",1)self:updateRender()return true end end;return false end
|
||||
function ca:render()_a.render(self)local da=self.getResolved("text")
|
||||
local _b=self.get("width")local ab=self.getResolved("dropSymbol")
|
||||
local bb=self:hasState("focused")local cb=self:hasState("opened")
|
||||
local db=self.get("viewOffset")local _c=self.getResolved("placeholder")
|
||||
local ac=self.getResolved("background")local bc=self.getResolved("foreground")local cc=da;local dc=_b-#ab;if
|
||||
#da==0 and not bb and#_c>0 then cc=_c
|
||||
bc=self.get("placeholderColor")end;if#cc>0 then
|
||||
cc=cc:sub(db+1,db+dc)end;cc=cc..string.rep(" ",dc-#cc)local _d=
|
||||
cc.. (cb and"\31"or"\17")
|
||||
self:blit(1,1,_d,string.rep(ba[bc],_b),string.rep(ba[ac],_b))if bb and self.get("editable")then local ad=self.get("cursorPos")
|
||||
local bd=ad-db
|
||||
if bd>=1 and bd<=dc then self:setCursor(bd,1,true,bc)end end
|
||||
if cb then
|
||||
local ad
|
||||
function _b:mouse_click(ab,bb,cb)
|
||||
if not aa.mouse_click(self,ab,bb,cb)then return false end;local db,_c=self:getRelativePosition(bb,cb)
|
||||
local ac=self.get("width")local bc=self.get("dropSymbol")
|
||||
local cc=self:hasState("opened")
|
||||
if _c==1 then
|
||||
if db>=ac-#bc+1 and db<=ac then
|
||||
if cc then
|
||||
self:unsetState("opened")self.set("height",1)
|
||||
self.set("manuallyOpened",false)else self:setState("opened")
|
||||
local dc=self.get("items")or{}local _d=self.get("dropdownHeight")or 5
|
||||
local ad=math.min(_d,#dc)self.set("height",1 +ad)
|
||||
self.set("manuallyOpened",true)end;self:updateRender()return true end
|
||||
if db<=ac-#bc and self.get("editable")then
|
||||
local dc=self.get("text")local _d=self.get("viewOffset")local ad=#dc+1
|
||||
local bd=math.min(ad,_d+db)self.set("cursorPos",bd)
|
||||
if not cc then
|
||||
self:setState("opened")local cd=self.get("items")or{}
|
||||
local dd=self.get("dropdownHeight")or 5;local __a=math.min(dd,#cd)self.set("height",1 +__a)
|
||||
self.set("manuallyOpened",true)end;self:updateRender()return true end;return true elseif cc and _c>1 then return ca.mouse_click(self,ab,bb,cb)end;return false end
|
||||
function _b:mouse_up(ab,bb,cb)
|
||||
if self:hasState("opened")then
|
||||
local db,_c=self:getRelativePosition(bb,cb)
|
||||
if
|
||||
self.get("autoComplete")and not self.get("manuallyOpened")then ad=self:getFilteredItems()else ad=self.get("items")end
|
||||
local bd=math.min(self.get("dropdownHeight"),#ad)
|
||||
if bd>0 then local cd=self.get("offset")
|
||||
for i=1,bd do local dd=i+cd
|
||||
if ad[dd]then local __a=ad[dd]
|
||||
local a_a=__a.text or""local b_a=__a.selected or false;local c_a=
|
||||
b_a and self.get("selectedBackground")or ac;local d_a=b_a and
|
||||
self.get("selectedForeground")or bc;if
|
||||
#a_a>_b then a_a=a_a:sub(1,_b)end
|
||||
a_a=a_a..string.rep(" ",_b-#a_a)
|
||||
self:blit(1,i+1,a_a,string.rep(ba[d_a],_b),string.rep(ba[c_a],_b))end end end end end;return ca end
|
||||
_c>1 and self.get("selectable")and not self._scrollBarDragging then local ac=(_c-1)+self.get("offset")local bc
|
||||
if
|
||||
self.get("autoComplete")and not self.get("manuallyOpened")then
|
||||
bc=self:getFilteredItems()else bc=self.get("items")end
|
||||
if ac<=#bc then local cc=bc[ac]
|
||||
if type(cc)=="string"then cc={text=cc}bc[ac]=cc end;if not self.get("multiSelection")then
|
||||
for dc,_d in
|
||||
ipairs(self.get("items"))do if type(_d)=="table"then _d.selected=false end end end
|
||||
cc.selected=true
|
||||
if cc.text then self.set("text",cc.text)
|
||||
self.set("cursorPos",#cc.text+1)self:updateViewport()end;if cc.callback then cc.callback(self)end
|
||||
self:fireEvent("select",ac,cc)self:unsetState("opened")
|
||||
self:unsetState("clicked")self.set("height",1)
|
||||
self.set("manuallyOpened",false)self:updateRender()return true end end;return ca.mouse_up(self,ab,bb,cb)end;return
|
||||
aa.mouse_up and aa.mouse_up(self,ab,bb,cb)or false end
|
||||
function _b:render()aa.render(self)local ab=self.get("text")
|
||||
local bb=self.get("width")local cb=self.get("dropSymbol")
|
||||
local db=self:hasState("focused")local _c=self:hasState("opened")
|
||||
local ac=self.get("viewOffset")local bc=self.getResolved("selectedText")
|
||||
local cc=self.getResolved("background")local dc=self.getResolved("foreground")local _d=ab;local ad=bb-#cb
|
||||
if
|
||||
#ab==0 and not db and#bc>0 then _d=bc;dc=colors.gray end;if#_d>0 then _d=_d:sub(ac+1,ac+ad)end;_d=_d..
|
||||
string.rep(" ",ad-#_d)
|
||||
local bd=_d.. (_c and"\31"or"\17")
|
||||
self:blit(1,1,bd,string.rep(da[dc],bb),string.rep(da[cc],bb))if db and self.get("editable")then local cd=self.get("cursorPos")
|
||||
local dd=cd-ac
|
||||
if dd>=1 and dd<=ad then self:setCursor(dd,1,true,dc)end end
|
||||
if _c then
|
||||
local cd=self.get("height")local dd=self.get("items")if self.get("autoComplete")and not
|
||||
self.get("manuallyOpened")then
|
||||
dd=self:getFilteredItems()end;local __a=math.min(self.get("dropdownHeight"),
|
||||
#dd)
|
||||
local a_a=self._values.items;self._values.items=dd;self.set("height",__a)
|
||||
ba.render(self,1)self._values.items=a_a;self.set("height",cd)
|
||||
self:blit(1,1,bd,string.rep(da[dc],bb),string.rep(da[cc],bb))if db and self.get("editable")then local b_a=self.get("cursorPos")local c_a=b_a-
|
||||
ac
|
||||
if c_a>=1 and c_a<=ad then self:setCursor(c_a,1,true,dc)end end end end;return _b end
|
||||
project["elements/ScrollFrame.lua"] = function(...) local _a=require("elementManager")
|
||||
local aa=_a.getElement("Container")local ba=require("libraries/colorHex")
|
||||
local ca=setmetatable({},aa)ca.__index=ca
|
||||
@@ -2139,10 +2149,12 @@ _a.mouse_up and _a.mouse_up(self,da,_b,ab)or false end
|
||||
function ca:render()_a.render(self)local da=self.get("selectedText")
|
||||
local _b=self:hasState("opened")local ab=self:getSelectedItems()
|
||||
if#ab>0 then local bb=ab[1]
|
||||
da=bb.text or""da=da:sub(1,self.get("width")-2)end;if _b then aa.render(self,1)end
|
||||
da=bb.text or""da=da:sub(1,self.get("width")-2)end
|
||||
if _b then local bb=self.get("height")local cb=math.min(self.get("dropdownHeight"),#
|
||||
self.get("items"))
|
||||
self.set("height",cb)aa.render(self,1)self.set("height",bb)end
|
||||
self:blit(1,1,da..
|
||||
string.rep(" ",
|
||||
self.get("width")-#da-1).. (_b and"\31"or"\17"),string.rep(ba[self.getResolved("foreground")],self.get("width")),string.rep(ba[self.getResolved("background")],self.get("width")))end;function ca:focus()_a.focus(self)self:prioritize()
|
||||
string.rep(" ",self.get("width")-#da-1).. (_b and"\31"or"\17"),string.rep(ba[self.getResolved("foreground")],self.get("width")),string.rep(ba[self.getResolved("background")],self.get("width")))end;function ca:focus()_a.focus(self)self:prioritize()
|
||||
self:setState("opened")end
|
||||
function ca:blur()_a.blur(self)
|
||||
self:unsetState("opened")self.set("height",1)self:updateRender()end;return ca end
|
||||
|
||||
Reference in New Issue
Block a user