@@ -30,26 +30,82 @@ import { isInTable } from '@helpers/isInTable.js';
3030
3131/**
3232 * @typedef {Object } ToolbarItem
33+ * @property {Object } id - The unique ID of the toolbar item
34+ * @property {string } id.value - The value of the ID
3335 * @property {Object } name - The name of the toolbar item
3436 * @property {string } name.value - The value of the name
37+ * @property {string } type - The type of toolbar item (button, options, separator, dropdown, overflow)
3538 * @property {Object } group - The group the item belongs to
3639 * @property {string } group.value - The value of the group
37- * @property {Object } selectedValue - The selected value for the item
38- * @property {* } selectedValue.value - The value of the selected value
40+ * @property {string } command - The command to execute
41+ * @property {string } [noArgumentCommand] - The command to execute when no argument is provided
42+ * @property {Object } icon - The icon for the item
43+ * @property {* } icon.value - The value of the icon
44+ * @property {Object } tooltip - The tooltip for the item
45+ * @property {* } tooltip.value - The value of the tooltip
46+ * @property {Object } attributes - Additional attributes for the item
47+ * @property {Object } attributes.value - The value of the attributes
3948 * @property {Object } disabled - Whether the item is disabled
4049 * @property {boolean } disabled.value - The value of disabled
41- * @property {Object } allowWithoutEditor - Whether the item can be used without an editor
42- * @property {boolean } allowWithoutEditor .value - The value of allowWithoutEditor
43- * @property {Object } defaultLabel - The default label for the item
44- * @property {* } defaultLabel .value - The value of the default label
50+ * @property {Object } active - Whether the item is active
51+ * @property {boolean } active .value - The value of active
52+ * @property {Object } expand - Whether the item is expanded
53+ * @property {boolean } expand .value - The value of expand
4554 * @property {Object } nestedOptions - Nested options for the item
4655 * @property {Array } nestedOptions.value - The array of nested options
47- * @property {string } command - The command to execute
48- * @property {string } [noArgumentCommand] - The command to execute when no argument is provided
56+ * @property {Object } style - Custom style for the item
57+ * @property {* } style.value - The value of the style
58+ * @property {Object } isNarrow - Whether the item has narrow styling
59+ * @property {boolean } isNarrow.value - The value of isNarrow
60+ * @property {Object } isWide - Whether the item has wide styling
61+ * @property {boolean } isWide.value - The value of isWide
62+ * @property {Object } minWidth - Minimum width of the item
63+ * @property {* } minWidth.value - The value of minWidth
64+ * @property {Object } argument - The argument to pass to the command
65+ * @property {* } argument.value - The value of the argument
66+ * @property {Object } parentItem - The parent of this item if nested
67+ * @property {* } parentItem.value - The value of parentItem
68+ * @property {Object } childItem - The child of this item if it has one
69+ * @property {* } childItem.value - The value of childItem
70+ * @property {Object } iconColor - The color of the icon
71+ * @property {* } iconColor.value - The value of iconColor
72+ * @property {Object } hasCaret - Whether the item has a dropdown caret
73+ * @property {boolean } hasCaret.value - The value of hasCaret
74+ * @property {Object } dropdownStyles - Custom styles for dropdown
75+ * @property {* } dropdownStyles.value - The value of dropdownStyles
76+ * @property {Object } tooltipVisible - Whether the tooltip is visible
77+ * @property {boolean } tooltipVisible.value - The value of tooltipVisible
78+ * @property {Object } tooltipTimeout - Timeout for the tooltip
79+ * @property {* } tooltipTimeout.value - The value of tooltipTimeout
80+ * @property {Object } defaultLabel - The default label for the item
81+ * @property {* } defaultLabel.value - The value of the default label
82+ * @property {Object } label - The label for the item
83+ * @property {* } label.value - The value of the label
84+ * @property {Object } hideLabel - Whether to hide the label
85+ * @property {boolean } hideLabel.value - The value of hideLabel
86+ * @property {Object } inlineTextInputVisible - Whether inline text input is visible
87+ * @property {boolean } inlineTextInputVisible.value - The value of inlineTextInputVisible
88+ * @property {Object } hasInlineTextInput - Whether the item has inline text input
89+ * @property {boolean } hasInlineTextInput.value - The value of hasInlineTextInput
90+ * @property {Object } markName - The name of the mark
91+ * @property {* } markName.value - The value of markName
92+ * @property {Object } labelAttr - The attribute for the label
93+ * @property {* } labelAttr.value - The value of labelAttr
94+ * @property {Object } allowWithoutEditor - Whether the item can be used without an editor
95+ * @property {boolean } allowWithoutEditor.value - The value of allowWithoutEditor
96+ * @property {Object } dropdownValueKey - The key for dropdown value
97+ * @property {* } dropdownValueKey.value - The value of dropdownValueKey
98+ * @property {Object } selectedValue - The selected value for the item
99+ * @property {* } selectedValue.value - The value of the selected value
100+ * @property {Object } inputRef - Reference to an input element
101+ * @property {* } inputRef.value - The value of inputRef
102+ * @property {Function } unref - Function to get unreferenced values
49103 * @property {Function } activate - Function to activate the item
50104 * @property {Function } deactivate - Function to deactivate the item
51105 * @property {Function } setDisabled - Function to set the disabled state
52106 * @property {Function } resetDisabled - Function to reset the disabled state
107+ * @property {Function } onActivate - Function called when the item is activated
108+ * @property {Function } onDeactivate - Function called when the item is deactivated
53109 */
54110
55111/**
0 commit comments