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,27 @@
import type { InputCounterOptions } from './types';
import type { InstanceOptions } from '../../dom/types';
import { InputCounterInterface } from './interface';
declare class InputCounter implements InputCounterInterface {
_instanceId: string;
_targetEl: HTMLInputElement | null;
_incrementEl: HTMLElement | null;
_decrementEl: HTMLElement | null;
_options: InputCounterOptions;
_initialized: boolean;
_incrementClickHandler: EventListenerOrEventListenerObject;
_decrementClickHandler: EventListenerOrEventListenerObject;
_inputHandler: EventListenerOrEventListenerObject;
constructor(targetEl?: HTMLInputElement | null, incrementEl?: HTMLElement | null, decrementEl?: HTMLElement | null, options?: InputCounterOptions, instanceOptions?: InstanceOptions);
init(): void;
destroy(): void;
removeInstance(): void;
destroyAndRemoveInstance(): void;
getCurrentValue(): number;
increment(): void;
decrement(): void;
updateOnIncrement(callback: () => void): void;
updateOnDecrement(callback: () => void): void;
}
export declare function initInputCounters(): void;
export default InputCounter;
//# sourceMappingURL=index.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/input-counter/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAepD,cAAM,YAAa,YAAW,qBAAqB;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACnC,YAAY,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,YAAY,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,YAAY,EAAE,OAAO,CAAC;IACtB,sBAAsB,EAAE,kCAAkC,CAAC;IAC3D,sBAAsB,EAAE,kCAAkC,CAAC;IAC3D,aAAa,EAAE,kCAAkC,CAAC;gBAG9C,QAAQ,GAAE,gBAAgB,GAAG,IAAW,EACxC,WAAW,GAAE,WAAW,GAAG,IAAW,EACtC,WAAW,GAAE,WAAW,GAAG,IAAW,EACtC,OAAO,GAAE,mBAA6B,EACtC,eAAe,GAAE,eAAwC;IAqB7D,IAAI;IA2DJ,OAAO;IAoBP,cAAc;IAId,wBAAwB;IAKxB,eAAe;IAIf,SAAS;IAaT,SAAS;IAaT,iBAAiB,CAAC,QAAQ,EAAE,MAAM,IAAI;IAItC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,IAAI;CAGzC;AAED,wBAAgB,iBAAiB,SAuChC;AAOD,eAAe,YAAY,CAAC"}

View File

@ -0,0 +1,159 @@
"use strict";
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);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.initInputCounters = void 0;
var instances_1 = require("../../dom/instances");
var Default = {
minValue: null,
maxValue: null,
onIncrement: function () { },
onDecrement: function () { },
};
var DefaultInstanceOptions = {
id: null,
override: true,
};
var InputCounter = /** @class */ (function () {
function InputCounter(targetEl, incrementEl, decrementEl, options, instanceOptions) {
if (targetEl === void 0) { targetEl = null; }
if (incrementEl === void 0) { incrementEl = null; }
if (decrementEl === void 0) { decrementEl = 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._incrementEl = incrementEl;
this._decrementEl = decrementEl;
this._options = __assign(__assign({}, Default), options);
this._initialized = false;
this.init();
instances_1.default.addInstance('InputCounter', this, this._instanceId, instanceOptions.override);
}
InputCounter.prototype.init = function () {
var _this = this;
if (this._targetEl && !this._initialized) {
this._inputHandler = function (event) {
{
var target = event.target;
// check if the value is numeric
if (!/^\d*$/.test(target.value)) {
// Regex to check if the value is numeric
target.value = target.value.replace(/[^\d]/g, ''); // Remove non-numeric characters
}
// check for max value
if (_this._options.maxValue !== null &&
parseInt(target.value) > _this._options.maxValue) {
target.value = _this._options.maxValue.toString();
}
// check for min value
if (_this._options.minValue !== null &&
parseInt(target.value) < _this._options.minValue) {
target.value = _this._options.minValue.toString();
}
}
};
this._incrementClickHandler = function () {
_this.increment();
};
this._decrementClickHandler = function () {
_this.decrement();
};
// Add event listener to restrict input to numeric values only
this._targetEl.addEventListener('input', this._inputHandler);
if (this._incrementEl) {
this._incrementEl.addEventListener('click', this._incrementClickHandler);
}
if (this._decrementEl) {
this._decrementEl.addEventListener('click', this._decrementClickHandler);
}
this._initialized = true;
}
};
InputCounter.prototype.destroy = function () {
if (this._targetEl && this._initialized) {
this._targetEl.removeEventListener('input', this._inputHandler);
if (this._incrementEl) {
this._incrementEl.removeEventListener('click', this._incrementClickHandler);
}
if (this._decrementEl) {
this._decrementEl.removeEventListener('click', this._decrementClickHandler);
}
this._initialized = false;
}
};
InputCounter.prototype.removeInstance = function () {
instances_1.default.removeInstance('InputCounter', this._instanceId);
};
InputCounter.prototype.destroyAndRemoveInstance = function () {
this.destroy();
this.removeInstance();
};
InputCounter.prototype.getCurrentValue = function () {
return parseInt(this._targetEl.value) || 0;
};
InputCounter.prototype.increment = function () {
// don't increment if the value is already at the maximum value
if (this._options.maxValue !== null &&
this.getCurrentValue() >= this._options.maxValue) {
return;
}
this._targetEl.value = (this.getCurrentValue() + 1).toString();
this._options.onIncrement(this);
};
InputCounter.prototype.decrement = function () {
// don't decrement if the value is already at the minimum value
if (this._options.minValue !== null &&
this.getCurrentValue() <= this._options.minValue) {
return;
}
this._targetEl.value = (this.getCurrentValue() - 1).toString();
this._options.onDecrement(this);
};
InputCounter.prototype.updateOnIncrement = function (callback) {
this._options.onIncrement = callback;
};
InputCounter.prototype.updateOnDecrement = function (callback) {
this._options.onDecrement = callback;
};
return InputCounter;
}());
function initInputCounters() {
document.querySelectorAll('[data-input-counter]').forEach(function ($targetEl) {
var targetId = $targetEl.id;
var $incrementEl = document.querySelector('[data-input-counter-increment="' + targetId + '"]');
var $decrementEl = document.querySelector('[data-input-counter-decrement="' + targetId + '"]');
var minValue = $targetEl.getAttribute('data-input-counter-min');
var maxValue = $targetEl.getAttribute('data-input-counter-max');
// check if the target element exists
if ($targetEl) {
if (!instances_1.default.instanceExists('InputCounter', $targetEl.getAttribute('id'))) {
new InputCounter($targetEl, $incrementEl ? $incrementEl : null, $decrementEl ? $decrementEl : null, {
minValue: minValue ? parseInt(minValue) : null,
maxValue: maxValue ? parseInt(maxValue) : null,
});
}
}
else {
console.error("The target element with id \"".concat(targetId, "\" does not exist. Please check the data-input-counter attribute."));
}
});
}
exports.initInputCounters = initInputCounters;
if (typeof window !== 'undefined') {
window.InputCounter = InputCounter;
window.initInputCounters = initInputCounters;
}
exports.default = InputCounter;
//# sourceMappingURL=index.js.map

View File

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

View File

@ -0,0 +1,14 @@
import { InputCounterOptions } from './types';
export declare interface InputCounterInterface {
_targetEl: HTMLElement | null;
_incrementEl: HTMLElement | null;
_decrementEl: HTMLElement | null;
_options: InputCounterOptions;
init(): void;
increment(): void;
decrement(): 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/input-counter/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE9C,MAAM,CAAC,OAAO,WAAW,qBAAqB;IAC1C,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,YAAY,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,QAAQ,EAAE,mBAAmB,CAAC;IAE9B,IAAI,IAAI,IAAI,CAAC;IACb,SAAS,IAAI,IAAI,CAAC;IAClB,SAAS,IAAI,IAAI,CAAC;IAElB,OAAO,IAAI,IAAI,CAAC;IAChB,cAAc,IAAI,IAAI,CAAC;IACvB,wBAAwB,IAAI,IAAI,CAAC;CACpC"}

View File

@ -0,0 +1,3 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=interface.js.map

View File

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

View File

@ -0,0 +1,8 @@
import { InputCounterInterface } from './interface';
export declare type InputCounterOptions = {
minValue?: number | null;
maxValue?: number | null;
onIncrement?: (InputCounter: InputCounterInterface) => void;
onDecrement?: (InputCounter: InputCounterInterface) => void;
};
//# sourceMappingURL=types.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/input-counter/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,CAAC,OAAO,MAAM,mBAAmB,GAAG;IACtC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAC5D,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,qBAAqB,KAAK,IAAI,CAAC;CAC/D,CAAC"}

View File

@ -0,0 +1,3 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=types.js.map

View File

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