second commit

This commit is contained in:
2024-12-27 22:31:23 +09:00
parent 2353324570
commit 10a0f110ca
8819 changed files with 1307198 additions and 28 deletions

View File

@ -0,0 +1,26 @@
import type { CollapseOptions } from './types';
import type { InstanceOptions } from '../../dom/types';
import { CollapseInterface } from './interface';
declare class Collapse implements CollapseInterface {
_instanceId: string;
_targetEl: HTMLElement | null;
_triggerEl: HTMLElement | null;
_options: CollapseOptions;
_visible: boolean;
_initialized: boolean;
_clickHandler: EventListenerOrEventListenerObject;
constructor(targetEl?: HTMLElement | null, triggerEl?: HTMLElement | null, options?: CollapseOptions, instanceOptions?: InstanceOptions);
init(): void;
destroy(): void;
removeInstance(): void;
destroyAndRemoveInstance(): void;
collapse(): void;
expand(): void;
toggle(): void;
updateOnCollapse(callback: () => void): void;
updateOnExpand(callback: () => void): void;
updateOnToggle(callback: () => void): void;
}
export declare function initCollapses(): void;
export default Collapse;
//# sourceMappingURL=index.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/collapse/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAchD,cAAM,QAAS,YAAW,iBAAiB;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC;IAC9B,UAAU,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,eAAe,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,kCAAkC,CAAC;gBAG9C,QAAQ,GAAE,WAAW,GAAG,IAAW,EACnC,SAAS,GAAE,WAAW,GAAG,IAAW,EACpC,OAAO,GAAE,eAAyB,EAClC,eAAe,GAAE,eAAwC;IAmB7D,IAAI;IAmBJ,OAAO;IAOP,cAAc;IAId,wBAAwB;IAKxB,QAAQ;IAWR,MAAM;IAWN,MAAM;IAUN,gBAAgB,CAAC,QAAQ,EAAE,MAAM,IAAI;IAIrC,cAAc,CAAC,QAAQ,EAAE,MAAM,IAAI;IAInC,cAAc,CAAC,QAAQ,EAAE,MAAM,IAAI;CAGtC;AAED,wBAAgB,aAAa,SAuC5B;AAOD,eAAe,QAAQ,CAAC"}

View File

@ -0,0 +1,139 @@
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
import instances from '../../dom/instances';
var Default = {
onCollapse: function () { },
onExpand: function () { },
onToggle: function () { },
};
var DefaultInstanceOptions = {
id: null,
override: true,
};
var Collapse = /** @class */ (function () {
function Collapse(targetEl, triggerEl, options, instanceOptions) {
if (targetEl === void 0) { targetEl = null; }
if (triggerEl === void 0) { triggerEl = null; }
if (options === void 0) { options = Default; }
if (instanceOptions === void 0) { instanceOptions = DefaultInstanceOptions; }
this._instanceId = instanceOptions.id
? instanceOptions.id
: targetEl.id;
this._targetEl = targetEl;
this._triggerEl = triggerEl;
this._options = __assign(__assign({}, Default), options);
this._visible = false;
this._initialized = false;
this.init();
instances.addInstance('Collapse', this, this._instanceId, instanceOptions.override);
}
Collapse.prototype.init = function () {
var _this = this;
if (this._triggerEl && this._targetEl && !this._initialized) {
if (this._triggerEl.hasAttribute('aria-expanded')) {
this._visible =
this._triggerEl.getAttribute('aria-expanded') === 'true';
}
else {
// fix until v2 not to break previous single collapses which became dismiss
this._visible = !this._targetEl.classList.contains('hidden');
}
this._clickHandler = function () {
_this.toggle();
};
this._triggerEl.addEventListener('click', this._clickHandler);
this._initialized = true;
}
};
Collapse.prototype.destroy = function () {
if (this._triggerEl && this._initialized) {
this._triggerEl.removeEventListener('click', this._clickHandler);
this._initialized = false;
}
};
Collapse.prototype.removeInstance = function () {
instances.removeInstance('Collapse', this._instanceId);
};
Collapse.prototype.destroyAndRemoveInstance = function () {
this.destroy();
this.removeInstance();
};
Collapse.prototype.collapse = function () {
this._targetEl.classList.add('hidden');
if (this._triggerEl) {
this._triggerEl.setAttribute('aria-expanded', 'false');
}
this._visible = false;
// callback function
this._options.onCollapse(this);
};
Collapse.prototype.expand = function () {
this._targetEl.classList.remove('hidden');
if (this._triggerEl) {
this._triggerEl.setAttribute('aria-expanded', 'true');
}
this._visible = true;
// callback function
this._options.onExpand(this);
};
Collapse.prototype.toggle = function () {
if (this._visible) {
this.collapse();
}
else {
this.expand();
}
// callback function
this._options.onToggle(this);
};
Collapse.prototype.updateOnCollapse = function (callback) {
this._options.onCollapse = callback;
};
Collapse.prototype.updateOnExpand = function (callback) {
this._options.onExpand = callback;
};
Collapse.prototype.updateOnToggle = function (callback) {
this._options.onToggle = callback;
};
return Collapse;
}());
export function initCollapses() {
document
.querySelectorAll('[data-collapse-toggle]')
.forEach(function ($triggerEl) {
var targetId = $triggerEl.getAttribute('data-collapse-toggle');
var $targetEl = document.getElementById(targetId);
// check if the target element exists
if ($targetEl) {
if (!instances.instanceExists('Collapse', $targetEl.getAttribute('id'))) {
new Collapse($targetEl, $triggerEl);
}
else {
// if instance exists already for the same target element then create a new one with a different trigger element
new Collapse($targetEl, $triggerEl, {}, {
id: $targetEl.getAttribute('id') +
'_' +
instances._generateRandomId(),
});
}
}
else {
console.error("The target element with id \"".concat(targetId, "\" does not exist. Please check the data-collapse-toggle attribute."));
}
});
}
if (typeof window !== 'undefined') {
window.Collapse = Collapse;
window.initCollapses = initCollapses;
}
export default Collapse;
//# sourceMappingURL=index.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/collapse/index.ts"],"names":[],"mappings":"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"}

View File

@ -0,0 +1,15 @@
import { CollapseOptions } from './types';
export declare interface CollapseInterface {
_targetEl: HTMLElement | null;
_triggerEl: HTMLElement | null;
_options: CollapseOptions;
_visible: boolean;
init(): void;
collapse(): void;
expand(): void;
toggle(): void;
destroy(): void;
removeInstance(): void;
destroyAndRemoveInstance(): void;
}
//# sourceMappingURL=interface.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../../src/components/collapse/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,MAAM,CAAC,OAAO,WAAW,iBAAiB;IACtC,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC;IAC9B,UAAU,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,eAAe,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAElB,IAAI,IAAI,IAAI,CAAC;IACb,QAAQ,IAAI,IAAI,CAAC;IACjB,MAAM,IAAI,IAAI,CAAC;IACf,MAAM,IAAI,IAAI,CAAC;IAEf,OAAO,IAAI,IAAI,CAAC;IAChB,cAAc,IAAI,IAAI,CAAC;IACvB,wBAAwB,IAAI,IAAI,CAAC;CACpC"}

View File

@ -0,0 +1,2 @@
export {};
//# sourceMappingURL=interface.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../../src/components/collapse/interface.ts"],"names":[],"mappings":""}

View File

@ -0,0 +1,7 @@
import { CollapseInterface } from './interface';
export declare type CollapseOptions = {
onCollapse?: (collapse: CollapseInterface) => void;
onExpand?: (collapse: CollapseInterface) => void;
onToggle?: (collapse: CollapseInterface) => void;
};
//# sourceMappingURL=types.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/collapse/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,CAAC,OAAO,MAAM,eAAe,GAAG;IAClC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACnD,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACjD,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,KAAK,IAAI,CAAC;CACpD,CAAC"}

View File

@ -0,0 +1,2 @@
export {};
//# sourceMappingURL=types.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/components/collapse/types.ts"],"names":[],"mappings":""}