Something went wrong on our end
Select Git revision
api-bar.mjs
-
Volker Schukai authoredVolker Schukai authored
api-bar.mjs 17.56 KiB
/**
* Copyright © schukai GmbH and all contributing authors, {{copyRightYear}}. All rights reserved.
* Node module: @schukai/monster
*
* This source code is licensed under the GNU Affero General Public License version 3 (AGPLv3).
* The full text of the license can be found at: https://www.gnu.org/licenses/agpl-3.0.en.html
*
* For those who do not wish to adhere to the AGPLv3, a commercial license is available.
* Acquiring a commercial license allows you to use this software without complying with the AGPLv3 terms.
* For more information about purchasing a commercial license, please contact schukai GmbH.
*/
import {instanceSymbol} from "../../constants.mjs";
import {addAttributeToken} from "../../dom/attributes.mjs";
import {
ATTRIBUTE_ERRORMESSAGE,
ATTRIBUTE_ROLE,
} from "../../dom/constants.mjs";
import {
assembleMethodSymbol,
registerCustomElement,
} from "../../dom/customelement.mjs";
import {isArray, isFunction, isString, isIterable, isObject, isPrimitive} from "../../types/is.mjs";
import {fireCustomEvent} from "../../dom/events.mjs";
import {ButtonBar} from "./button-bar.mjs";
import {validateString} from "../../types/validate.mjs";
import {Pathfinder} from "../../data/pathfinder.mjs";
import {buildMap} from "../../data/buildmap.mjs";
import {ApiButtonStyleSheet} from "./stylesheet/api-button.mjs";
import {Formatter} from "../../text/formatter.mjs";
import {getGlobal} from "../../types/global.mjs";
import "./button.mjs";
import "./message-state-button.mjs";
import "./state-button.mjs";
import {MessageStateButton} from "./message-state-button.mjs";
import {StateButton} from "./state-button.mjs";
export {ApiBar};
/**
* A ApiBar
*
* @fragments /fragments/components/form/api-bar/
*
* @example /examples/components/form/api-bar-simple
*
* @since 3.90.0
* @copyright schukai GmbH
* @summary A beautiful ApiBar that can make your life easier and also looks good.
*/
class ApiBar extends ButtonBar {
/**
* This method is called by the `instanceof` operator.
* @returns {symbol}
*/
static get [instanceSymbol]() {
return Symbol.for("@schukai/monster/components/form/api-bar@@instance");
}
/**
* To set the options via the HTML tag, the attribute `data-monster-options` must be used.
* @see {@link https://monsterjs.org/en/doc/#configurate-a-monster-control}
*
* The individual configuration values can be found in the table.
*
* @property {object} mapping - The mapping object.
* @property {string} mapping.selector - The selector to find the buttons in the response.