Files
flights_web_raw/node_modules/bootstrap.native/dist/components/button/button.mjs.map
T

1 line
8.1 KiB
Plaintext

{"version":3,"file":"button.mjs","names":["pkg.version"],"sources":["../../../src/strings/activeClass.ts","../../../src/strings/dataBsToggle.ts","../../../src/strings/buttonString.ts","../../../src/strings/buttonComponent.ts","../../../package.json","../../../src/version.ts","../../../src/components/base-component.ts","../../../src/util/isDisabled.ts","../../../src/components/button.ts"],"sourcesContent":["/**\n * Global namespace for most components active class.\n */\nconst activeClass = \"active\";\nexport default activeClass;\n","/**\n * Global namespace for most components `toggle` option.\n */\nconst dataBsToggle = \"data-bs-toggle\";\nexport default dataBsToggle;\n","/** @type {string} */\nconst buttonString = \"button\";\nexport default buttonString;\n","/** @type {string} */\nconst buttonComponent = \"Button\";\nexport default buttonComponent;\n","","import pkg from \"../package.json\" with { type: \"json\" };\n\nconst Version = pkg.version;\n\nexport default Version;\n","/* Native JavaScript for Bootstrap 5 | Base Component\n----------------------------------------------------- */\nimport {\n Data,\n isElement,\n isString,\n normalizeOptions,\n ObjectKeys,\n querySelector,\n} from \"@thednp/shorty\";\n\nimport type { BaseOptions } from \"~/interface/baseComponent\";\nimport Version from \"~/version\";\n\n/** Returns a new `BaseComponent` instance. */\nexport default class BaseComponent {\n declare element: Element;\n declare options?: BaseOptions;\n\n /**\n * @param target `Element` or selector string\n * @param config component instance options\n */\n constructor(target: Element | string, config?: BaseOptions) {\n let element: Element | null;\n\n try {\n if (isElement(target)) {\n element = target as Element;\n } else if (isString(target)) {\n element = querySelector(target);\n // istanbul ignore else @preserve\n if (!element) throw Error(`\"${target}\" is not a valid selector.`);\n } else {\n throw Error(`your target is not an instance of HTMLElement.`);\n }\n } catch (e) {\n throw Error(`${this.name} Error: ${(e as Error).message}`);\n }\n\n const prevInstance = Data.get<typeof this>(element, this.name);\n /* istanbul ignore else @preserve */\n if (prevInstance) {\n // remove previously attached event listeners\n // to avoid memory leaks\n prevInstance._toggleEventListeners();\n }\n\n this.element = element;\n this.options = this.defaults && ObjectKeys(this.defaults).length\n ? normalizeOptions(element, this.defaults, config || {}, \"bs\")\n : /* istanbul ignore next @preserve */ {};\n\n Data.set(element, this.name, this);\n }\n\n // istanbul ignore next @preserve\n get version() {\n return Version;\n }\n\n // istanbul ignore next @preserve\n get name() {\n return \"BaseComponent\";\n }\n\n // istanbul ignore next @preserve\n get defaults() {\n return {};\n }\n\n /** just to have something to extend from */\n // istanbul ignore next @preserve coverage wise this isn't important\n _toggleEventListeners = () => {\n // do something to please linters\n };\n\n /** Removes component from target element. */\n dispose() {\n Data.remove<typeof this>(this.element, this.name);\n ObjectKeys(this).forEach((prop) => {\n delete this[prop];\n });\n }\n}\n","import { getAttribute, hasClass } from \"@thednp/shorty\";\n\n/**\n * Check if interactive element is disabled.\n * @param target either a `<button>` or an `<a>`\n * @returns whether the target is disabled\n */\nconst isDisabled = (target: Element) => {\n return hasClass(target, \"disabled\") ||\n getAttribute(target, \"disabled\") === \"true\";\n};\n\nexport default isDisabled;\n","/* Native JavaScript for Bootstrap 5 | Button\n---------------------------------------------*/\nimport {\n addClass,\n ariaPressed,\n getInstance,\n hasClass,\n mouseclickEvent,\n PointerEvent,\n removeClass,\n setAttribute,\n} from \"@thednp/shorty\";\n\nimport { addListener, removeListener } from \"@thednp/event-listener\";\n\nimport activeClass from \"~/strings/activeClass\";\nimport dataBsToggle from \"~/strings/dataBsToggle\";\nimport buttonString from \"~/strings/buttonString\";\nimport buttonComponent from \"~/strings/buttonComponent\";\nimport BaseComponent from \"./base-component\";\nimport isDisabled from \"~/util/isDisabled\";\n\n// BUTTON PRIVATE GC\n// =================\nconst buttonSelector = `[${dataBsToggle}=\"${buttonString}\"]`;\n\n/**\n * Static method which returns an existing `Button` instance associated\n * to a target `Element`.\n */\nconst getButtonInstance = (element: Element) =>\n getInstance<Button>(element, buttonComponent);\n\n/** A `Button` initialization callback. */\nconst buttonInitCallback = (element: Element) => new Button(element);\n\n// BUTTON DEFINITION\n// =================\n/** Creates a new `Button` instance. */\nexport default class Button extends BaseComponent {\n static selector = buttonSelector;\n static init = buttonInitCallback;\n static getInstance = getButtonInstance;\n\n declare isActive: boolean;\n declare element: HTMLElement;\n\n /**\n * @param target usually a `.btn` element\n */\n constructor(target: Element | string) {\n super(target);\n\n // initialization element\n const { element } = this;\n\n // set initial state\n this.isActive = hasClass(element, activeClass);\n setAttribute(element, ariaPressed, String(!!this.isActive));\n\n // add event listener\n this._toggleEventListeners(true);\n }\n\n /**\n * Returns component name string.\n */\n get name() {\n return buttonComponent;\n }\n\n // BUTTON PUBLIC METHODS\n // =====================\n /**\n * Toggles the state of the target button.\n *\n * @param e usually `click` Event object\n */\n toggle = (e?: PointerEvent<HTMLElement>) => {\n if (e) e.preventDefault();\n\n const { element, isActive } = this;\n // istanbul ignore if @preserve\n if (isDisabled(element)) return;\n const action = isActive ? removeClass : addClass;\n action(element, activeClass);\n setAttribute(element, ariaPressed, isActive ? \"false\" : \"true\");\n this.isActive = hasClass(element, activeClass);\n };\n\n // BUTTON PRIVATE METHOD\n // =====================\n /**\n * Toggles on/off the `click` event listener.\n *\n * @param add when `true`, event listener is added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n action(this.element, mouseclickEvent, this.toggle);\n };\n\n /** Removes the `Button` component from the target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAGA,MAAM,cAAc;;;;;;ACApB,MAAM,eAAe;;;;ACFrB,MAAM,eAAe;;;;ACArB,MAAM,kBAAkB;;;AECxB,MAAM;;;;ACYN,IAAmB,gBAAnB,MAAkC;;;;;CAQhC,YAAE,QAAA,QAAA;EACF,IAAA;;AAGE,OAAI,UAAA,OAAA,CACA,WAAE;YACO,SAAQ,OAAG,EAAO;AAC3B,cAAS,cAAe,OAAG;AAE3B,QAAG,CAAA,QAAS,OAAO,MAAM,IAAA,OAAA,4BAAA;SAEzB,OAAK,MAAA,iDAAA;WAEP,GAAA;AACA,SAAM,MAAI,GAAA,KAAA,KAAA,UAAA,EAAA,UAAA;;;AAKZ,MAAG,aAGD,cAAY,uBAAO;;AAIrB,OAAK,UAAU,KAAA,YAAO,WAAA,KAAA,SAAA,CAAA,SAClB,iBAAgB,SAAU,KAAE,UAAW,UAAK,EAAS,EAAC,KAAA,GACtD,EAAA;;;CAMN,IAAG,UAAS;AACZ,SAAI;;CAIJ,IAAG,OAAQ;AACX,SAAS;;CAIT,IAAG,WAAS;AACZ,SAAI,EAAA;;;CAKJ,8BAAyB;;CAKzB,UAAI;AACJ,OAAO,OAAG,KAAA,SAAA,KAAA,KAAA;AACR,aAAW,KAAC,CAAA,SAAa,SAAK;AAC9B,UAAA,KAAW;IACT;;;;;;;;;;AC1EN,MAAM,cAAc,WAAoB;AACtC,QAAO,SAAS,QAAQ,WAAW,IACjC,aAAa,QAAQ,WAAW,KAAK;;;;ACczC,MAAM,iBAAa,IAAA,aAAA,IAAA,aAAA;;;;;AAMnB,MAAE,qBAAA,YACF,YAAM,SAAqB,gBAAmB;;AAG9C,MAAM,sBAAS,YAA0B,IAAA,OAAA,QAAA;;AAKzC,IAAmB,SAAnB,cAAoC,cAAE;CACtC,OAAO,WAAa;CAClB,OAAO,OAAA;CACP,OAAO,cAAO;;;;CAQd,YAAE,QAAA;AACF,QAAA,OAAY;EAGV,MAAG,EAAA,YAAe;AAGlB,OAAG,WAAY,SAAA,SAAA,YAAA;AACf,eAAa,SAAG,aAAkB,OAAA,CAAA,CAAA,KAAY,SAAA,CAAA;AAG9C,OAAG,sBAAU,KAAA;;;;;CAMf,IAAE,OAAA;AACF,SAAS;;;;;;;CAUT,UAAE,MAAA;AACF,MAAM,EAAG,GAAE,gBAAgB;;AAIzB,MAAG,WAAS,QAAW,CAAA;AAEvB,GADe,WAAU,cAAM,UACzB,SAAS,YAAW;AAC1B,eAAO,SAAS,aAAY,WAAA,UAAA,OAAA;AAC5B,OAAA,WAAa,SAAS,SAAY,YAAY;;;;;;;CAUhD,yBAAE,QAAA;AAEA,GADF,MAAuB,cAAQ,gBACvB,KAAM,SAAS,iBAAc,KAAA,OAAc;;;CAInD,UAAI;AACJ,OAAO,uBAAG;AACR,QAAK,SAAA"}