diff --git a/.eslintrc.json b/.eslintrc.json
deleted file mode 100644
index 39d43c5..0000000
--- a/.eslintrc.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "root": true,
- "parser": "@typescript-eslint/parser",
- "plugins": ["@typescript-eslint"],
- "extends": [
- "eslint:recommended",
- "plugin:@typescript-eslint/eslint-recommended",
- "plugin:@typescript-eslint/recommended"
- ],
- "env": {
- "browser": true
- },
- "rules": {
- "space-before-function-paren": ["error", "always"]
- }
-}
diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml
index 89a0504..837c836 100644
--- a/.github/workflows/linter.yml
+++ b/.github/workflows/linter.yml
@@ -26,6 +26,10 @@ jobs:
env:
VALIDATE_ALL_CODEBASE: true
VALIDATE_CSS: false
+ VALIDATE_JAVASCRIPT_ES: false
+ VALIDATE_JAVASCRIPT_STANDARD: false
+ VALIDATE_JSON: false
+ VALIDATE_TYPESCRIPT_ES: false
VALIDATE_TYPESCRIPT_STANDARD: false
FILTER_REGEX_EXCLUDE: .*(\.min\.|sw\.js|workbox).*
DEFAULT_BRANCH: master
diff --git a/eslint.config.js b/eslint.config.js
new file mode 100644
index 0000000..20487bc
--- /dev/null
+++ b/eslint.config.js
@@ -0,0 +1,22 @@
+// @ts-check
+
+import eslint from '@eslint/js'
+import tseslint from 'typescript-eslint'
+
+export default tseslint.config(
+ {
+ ignores: ['**/*.min.js', 'sw.js', 'workbox*.js'],
+ },
+
+ {
+ languageOptions: {
+ globals: {
+ navigator: 'readonly',
+ window: 'readonly',
+ },
+ },
+ },
+
+ eslint.configs.recommended,
+ ...tseslint.configs.recommended,
+)
diff --git a/ime/index.min.js.map b/ime/index.min.js.map
index 4596cd4..5d88230 100644
--- a/ime/index.min.js.map
+++ b/ime/index.min.js.map
@@ -1,7 +1,7 @@
{
"version": 3,
"sources": ["../ts/lib.ts", "../ts/index-ime.ts"],
- "sourcesContent": ["function getAbjad (\n input: string,\n maghribiOrder: boolean,\n ignoreHamzah: boolean,\n): [number, boolean] {\n // Strip whitespace from input\n const inputCleaned = input.replace(/\\s+/g, '')\n\n // Define a total to keep track of the abjad value\n let total = 0\n\n let unrecognizedChars = false\n\n // Here we go! Run through the cleaned input, one character at a time\n // Check for matches with Arabic-script letters\n // Add relevant abjad values to the total\n for (let i = 0; i < inputCleaned.length; i += 1) {\n if (\n inputCleaned.charAt(i) === '\u0627' ||\n inputCleaned.charAt(i) === '\u0622' ||\n inputCleaned.charAt(i) === '\u0623' ||\n inputCleaned.charAt(i) === '\u0625' ||\n inputCleaned.charAt(i) === '\u0671'\n ) {\n total += 1\n } else if (inputCleaned.charAt(i) === '\u0621') {\n if (ignoreHamzah) {\n continue\n } else {\n total += 1\n }\n } else if (\n inputCleaned.charAt(i) === '\u0628' ||\n inputCleaned.charAt(i) === '\u067E'\n ) {\n total += 2\n } else if (\n inputCleaned.charAt(i) === '\u062C' ||\n inputCleaned.charAt(i) === '\u0686'\n ) {\n total += 3\n } else if (inputCleaned.charAt(i) === '\u062F') {\n total += 4\n } else if (\n inputCleaned.charAt(i) === '\u0647' ||\n inputCleaned.charAt(i) === '\u0629' ||\n inputCleaned.charAt(i) === '\u06C0' ||\n inputCleaned.charAt(i) === '\u06C1' // U+06C1\n ) {\n total += 5\n } else if (\n inputCleaned.charAt(i) === '\u0648' ||\n inputCleaned.charAt(i) === '\u0624'\n ) {\n total += 6\n } else if (\n inputCleaned.charAt(i) === '\u0632' ||\n inputCleaned.charAt(i) === '\u0698'\n ) {\n total += 7\n } else if (inputCleaned.charAt(i) === '\u062D') {\n total += 8\n } else if (inputCleaned.charAt(i) === '\u0637') {\n total += 9\n } else if (\n inputCleaned.charAt(i) === '\u06CC' ||\n inputCleaned.charAt(i) === '\u0649' ||\n inputCleaned.charAt(i) === '\u064A' ||\n inputCleaned.charAt(i) === '\u0626'\n ) {\n total += 10\n } else if (\n inputCleaned.charAt(i) === '\u06A9' ||\n inputCleaned.charAt(i) === '\u06AF' ||\n inputCleaned.charAt(i) === '\u0643'\n ) {\n total += 20\n } else if (inputCleaned.charAt(i) === '\u0644') {\n total += 30\n } else if (inputCleaned.charAt(i) === '\u0645') {\n total += 40\n } else if (inputCleaned.charAt(i) === '\u0646') {\n total += 50\n } else if (inputCleaned.charAt(i) === '\u0633') {\n if (maghribiOrder) {\n total += 300\n } else {\n total += 60\n }\n } else if (inputCleaned.charAt(i) === '\u0639') {\n total += 70\n } else if (inputCleaned.charAt(i) === '\u0641') {\n total += 80\n } else if (inputCleaned.charAt(i) === '\u0635') {\n if (maghribiOrder) {\n total += 60\n } else {\n total += 90\n }\n } else if (inputCleaned.charAt(i) === '\u0642') {\n total += 100\n } else if (inputCleaned.charAt(i) === '\u0631') {\n total += 200\n } else if (inputCleaned.charAt(i) === '\u0634') {\n if (maghribiOrder) {\n total += 1000\n } else {\n total += 300\n }\n } else if (inputCleaned.charAt(i) === '\u062A') {\n total += 400\n } else if (inputCleaned.charAt(i) === '\u062B') {\n total += 500\n } else if (inputCleaned.charAt(i) === '\u062E') {\n total += 600\n } else if (inputCleaned.charAt(i) === '\u0630') {\n total += 700\n } else if (inputCleaned.charAt(i) === '\u0636') {\n if (maghribiOrder) {\n total += 90\n } else {\n total += 800\n }\n } else if (inputCleaned.charAt(i) === '\u0638') {\n if (maghribiOrder) {\n total += 800\n } else {\n total += 900\n }\n } else if (inputCleaned.charAt(i) === '\u063A') {\n if (maghribiOrder) {\n total += 900\n } else {\n total += 1000\n }\n } else if (inputCleaned.charAt(i) === '\\u200C') {\n continue\n } else {\n // If the character wasn't recognized, add an error message\n // Need to reimplement this somehow; set a flag?\n unrecognizedChars = true\n continue\n }\n }\n\n return [total, unrecognizedChars]\n}\n\nexport function getResult (\n inputField: HTMLInputElement,\n resultField: HTMLElement,\n maghribiCheckbox: HTMLInputElement,\n hamzahCheckbox: HTMLInputElement,\n) {\n const input = inputField.value\n const maghribiOrder = maghribiCheckbox.checked\n const ignoreHamzah = hamzahCheckbox.checked\n\n const [total, unrecognizedChars] = getAbjad(\n input,\n maghribiOrder,\n ignoreHamzah,\n )\n\n const inputForDisplay = input.replace(/\\s+/g, ' ').trim()\n\n let resultText = unrecognizedChars\n ? \"At least one of the characters entered was not recognized and has been ignored.
That said, the computed abjad value of \u00AB\" +\n inputForDisplay +\n '\u00BB is'\n : \"The total abjad value of \u00AB\" +\n inputForDisplay +\n '\u00BB is'\n\n resultText += ' ' + total + '.'\n\n resultField.innerHTML = resultText\n inputField.blur()\n}\n", "import { getResult } from './lib'\n\n//\n// MAIN DOM ELEMENTS\n//\n\n// Input and result fields\nconst inputField = document.getElementById('hand-input') as HTMLInputElement\nconst resultField = document.getElementById('result') as HTMLElement\n\n// Checkboxes\nconst maghribiCheckbox = document.getElementById(\n 'maghribi-check',\n) as HTMLInputElement\nconst hamzahCheckbox = document.getElementById(\n 'hamzah-check',\n) as HTMLInputElement\n\n// Submit button\nconst goButton = document.getElementById('go-btn') as HTMLButtonElement\n\n//\n// BUTTONS!\n//\n\n// Primary letter buttons row 1\ndocument.getElementById('alif-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0627')\n})\ndocument.getElementById('ba-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0628')\n})\ndocument.getElementById('jim-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u062C')\n})\ndocument.getElementById('dal-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u062F')\n})\ndocument.getElementById('ha-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0647')\n})\ndocument.getElementById('waw-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0648')\n})\ndocument.getElementById('za-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0632')\n})\n\n// Primary letter buttons row 2\ndocument.getElementById('5a-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u062D')\n})\ndocument.getElementById('taw-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0637')\n})\ndocument.getElementById('ya-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u064A')\n})\ndocument.getElementById('kaf-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0643')\n})\ndocument.getElementById('lam-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0644')\n})\ndocument.getElementById('mim-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0645')\n})\ndocument.getElementById('nun-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0646')\n})\n\n// Primary letter buttons row 3\ndocument.getElementById('sin-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0633')\n})\ndocument.getElementById('ayn-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0639')\n})\ndocument.getElementById('fa-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0641')\n})\ndocument.getElementById('sad-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0635')\n})\ndocument.getElementById('qaf-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0642')\n})\ndocument.getElementById('ra-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0631')\n})\ndocument.getElementById('shin-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0634')\n})\ndocument.getElementById('ta-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u062A')\n})\n\n// Primary letter buttons row 4\ndocument.getElementById('tha-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u062B')\n})\ndocument.getElementById('kha-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u062E')\n})\ndocument.getElementById('dhal-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0630')\n})\ndocument.getElementById('dad-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0636')\n})\ndocument.getElementById('zaw-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0638')\n})\ndocument.getElementById('ghayn-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u063A')\n})\n\n// Secondary letter buttons\ndocument.getElementById('top-ham-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0623')\n})\ndocument.getElementById('bottom-ham-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0625')\n})\ndocument.getElementById('maddah-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0622')\n})\ndocument.getElementById('hamzah-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0621')\n})\ndocument.getElementById('marbutah-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0629')\n})\ndocument.getElementById('waw-ham-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0624')\n})\ndocument.getElementById('maqsurah-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0649')\n})\ndocument.getElementById('ya-ham-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0626')\n})\n\n// Persian letter buttons\ndocument.getElementById('pe-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u067E')\n})\ndocument.getElementById('che-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0686')\n})\ndocument.getElementById('ha-izafah-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u06C0')\n})\ndocument.getElementById('zhe-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0698')\n})\ndocument.getElementById('pers-ya-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u06CC')\n})\ndocument.getElementById('pers-kaf-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u06A9')\n})\ndocument.getElementById('gaf-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u06AF')\n})\n\n// Control buttons\ndocument.getElementById('reset-btn')?.addEventListener('click', () => {\n resultField.innerHTML = 'The total abjad value of \u2026 is \u2026'\n})\ndocument.getElementById('space-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat(' ')\n})\ndocument.getElementById('back-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.slice(0, -1)\n})\n\n//\n// SUBMISSION HANDLING\n//\n\nfunction submitOnEnter (e: KeyboardEvent) {\n if (e.key === 'Enter' && !e.shiftKey) {\n getResult(inputField, resultField, maghribiCheckbox, hamzahCheckbox)\n e.preventDefault()\n }\n}\n\ninputField.addEventListener('keydown', submitOnEnter)\n\ngoButton.addEventListener('click', () => {\n getResult(inputField, resultField, maghribiCheckbox, hamzahCheckbox)\n})\n"],
- "mappings": "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",
+ "sourcesContent": ["function getAbjad(\n input: string,\n maghribiOrder: boolean,\n ignoreHamzah: boolean,\n): [number, boolean] {\n // Strip whitespace from input\n const inputCleaned = input.replace(/\\s+/g, '')\n\n // Define a total to keep track of the abjad value\n let total = 0\n\n let unrecognizedChars = false\n\n // Here we go! Run through the cleaned input, one character at a time\n // Check for matches with Arabic-script letters\n // Add relevant abjad values to the total\n for (let i = 0; i < inputCleaned.length; i += 1) {\n if (\n inputCleaned.charAt(i) === '\u0627' ||\n inputCleaned.charAt(i) === '\u0622' ||\n inputCleaned.charAt(i) === '\u0623' ||\n inputCleaned.charAt(i) === '\u0625' ||\n inputCleaned.charAt(i) === '\u0671'\n ) {\n total += 1\n } else if (inputCleaned.charAt(i) === '\u0621') {\n if (ignoreHamzah) {\n continue\n } else {\n total += 1\n }\n } else if (\n inputCleaned.charAt(i) === '\u0628' ||\n inputCleaned.charAt(i) === '\u067E'\n ) {\n total += 2\n } else if (\n inputCleaned.charAt(i) === '\u062C' ||\n inputCleaned.charAt(i) === '\u0686'\n ) {\n total += 3\n } else if (inputCleaned.charAt(i) === '\u062F') {\n total += 4\n } else if (\n inputCleaned.charAt(i) === '\u0647' ||\n inputCleaned.charAt(i) === '\u0629' ||\n inputCleaned.charAt(i) === '\u06C0' ||\n inputCleaned.charAt(i) === '\u06C1' // U+06C1\n ) {\n total += 5\n } else if (\n inputCleaned.charAt(i) === '\u0648' ||\n inputCleaned.charAt(i) === '\u0624'\n ) {\n total += 6\n } else if (\n inputCleaned.charAt(i) === '\u0632' ||\n inputCleaned.charAt(i) === '\u0698'\n ) {\n total += 7\n } else if (inputCleaned.charAt(i) === '\u062D') {\n total += 8\n } else if (inputCleaned.charAt(i) === '\u0637') {\n total += 9\n } else if (\n inputCleaned.charAt(i) === '\u06CC' ||\n inputCleaned.charAt(i) === '\u0649' ||\n inputCleaned.charAt(i) === '\u064A' ||\n inputCleaned.charAt(i) === '\u0626'\n ) {\n total += 10\n } else if (\n inputCleaned.charAt(i) === '\u06A9' ||\n inputCleaned.charAt(i) === '\u06AF' ||\n inputCleaned.charAt(i) === '\u0643'\n ) {\n total += 20\n } else if (inputCleaned.charAt(i) === '\u0644') {\n total += 30\n } else if (inputCleaned.charAt(i) === '\u0645') {\n total += 40\n } else if (inputCleaned.charAt(i) === '\u0646') {\n total += 50\n } else if (inputCleaned.charAt(i) === '\u0633') {\n if (maghribiOrder) {\n total += 300\n } else {\n total += 60\n }\n } else if (inputCleaned.charAt(i) === '\u0639') {\n total += 70\n } else if (inputCleaned.charAt(i) === '\u0641') {\n total += 80\n } else if (inputCleaned.charAt(i) === '\u0635') {\n if (maghribiOrder) {\n total += 60\n } else {\n total += 90\n }\n } else if (inputCleaned.charAt(i) === '\u0642') {\n total += 100\n } else if (inputCleaned.charAt(i) === '\u0631') {\n total += 200\n } else if (inputCleaned.charAt(i) === '\u0634') {\n if (maghribiOrder) {\n total += 1000\n } else {\n total += 300\n }\n } else if (inputCleaned.charAt(i) === '\u062A') {\n total += 400\n } else if (inputCleaned.charAt(i) === '\u062B') {\n total += 500\n } else if (inputCleaned.charAt(i) === '\u062E') {\n total += 600\n } else if (inputCleaned.charAt(i) === '\u0630') {\n total += 700\n } else if (inputCleaned.charAt(i) === '\u0636') {\n if (maghribiOrder) {\n total += 90\n } else {\n total += 800\n }\n } else if (inputCleaned.charAt(i) === '\u0638') {\n if (maghribiOrder) {\n total += 800\n } else {\n total += 900\n }\n } else if (inputCleaned.charAt(i) === '\u063A') {\n if (maghribiOrder) {\n total += 900\n } else {\n total += 1000\n }\n } else if (inputCleaned.charAt(i) === '\\u200C') {\n continue\n } else {\n // If the character wasn't recognized, add an error message\n // Need to reimplement this somehow; set a flag?\n unrecognizedChars = true\n continue\n }\n }\n\n return [total, unrecognizedChars]\n}\n\nexport function getResult(\n inputField: HTMLInputElement,\n resultField: HTMLElement,\n maghribiCheckbox: HTMLInputElement,\n hamzahCheckbox: HTMLInputElement,\n) {\n const input = inputField.value\n const maghribiOrder = maghribiCheckbox.checked\n const ignoreHamzah = hamzahCheckbox.checked\n\n const [total, unrecognizedChars] = getAbjad(\n input,\n maghribiOrder,\n ignoreHamzah,\n )\n\n const inputForDisplay = input.replace(/\\s+/g, ' ').trim()\n\n let resultText = unrecognizedChars\n ? \"At least one of the characters entered was not recognized and has been ignored.
That said, the computed abjad value of \u00AB\" +\n inputForDisplay +\n '\u00BB is'\n : \"The total abjad value of \u00AB\" +\n inputForDisplay +\n '\u00BB is'\n\n resultText += ' ' + total + '.'\n\n resultField.innerHTML = resultText\n inputField.blur()\n}\n", "import { getResult } from './lib'\n\n//\n// MAIN DOM ELEMENTS\n//\n\n// Input and result fields\nconst inputField = document.getElementById('hand-input') as HTMLInputElement\nconst resultField = document.getElementById('result') as HTMLElement\n\n// Checkboxes\nconst maghribiCheckbox = document.getElementById(\n 'maghribi-check',\n) as HTMLInputElement\nconst hamzahCheckbox = document.getElementById(\n 'hamzah-check',\n) as HTMLInputElement\n\n// Submit button\nconst goButton = document.getElementById('go-btn') as HTMLButtonElement\n\n//\n// BUTTONS!\n//\n\n// Primary letter buttons row 1\ndocument.getElementById('alif-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0627')\n})\ndocument.getElementById('ba-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0628')\n})\ndocument.getElementById('jim-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u062C')\n})\ndocument.getElementById('dal-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u062F')\n})\ndocument.getElementById('ha-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0647')\n})\ndocument.getElementById('waw-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0648')\n})\ndocument.getElementById('za-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0632')\n})\n\n// Primary letter buttons row 2\ndocument.getElementById('5a-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u062D')\n})\ndocument.getElementById('taw-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0637')\n})\ndocument.getElementById('ya-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u064A')\n})\ndocument.getElementById('kaf-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0643')\n})\ndocument.getElementById('lam-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0644')\n})\ndocument.getElementById('mim-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0645')\n})\ndocument.getElementById('nun-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0646')\n})\n\n// Primary letter buttons row 3\ndocument.getElementById('sin-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0633')\n})\ndocument.getElementById('ayn-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0639')\n})\ndocument.getElementById('fa-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0641')\n})\ndocument.getElementById('sad-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0635')\n})\ndocument.getElementById('qaf-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0642')\n})\ndocument.getElementById('ra-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0631')\n})\ndocument.getElementById('shin-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0634')\n})\ndocument.getElementById('ta-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u062A')\n})\n\n// Primary letter buttons row 4\ndocument.getElementById('tha-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u062B')\n})\ndocument.getElementById('kha-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u062E')\n})\ndocument.getElementById('dhal-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0630')\n})\ndocument.getElementById('dad-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0636')\n})\ndocument.getElementById('zaw-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0638')\n})\ndocument.getElementById('ghayn-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u063A')\n})\n\n// Secondary letter buttons\ndocument.getElementById('top-ham-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0623')\n})\ndocument.getElementById('bottom-ham-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0625')\n})\ndocument.getElementById('maddah-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0622')\n})\ndocument.getElementById('hamzah-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0621')\n})\ndocument.getElementById('marbutah-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0629')\n})\ndocument.getElementById('waw-ham-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0624')\n})\ndocument.getElementById('maqsurah-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0649')\n})\ndocument.getElementById('ya-ham-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0626')\n})\n\n// Persian letter buttons\ndocument.getElementById('pe-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u067E')\n})\ndocument.getElementById('che-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0686')\n})\ndocument.getElementById('ha-izafah-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u06C0')\n})\ndocument.getElementById('zhe-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u0698')\n})\ndocument.getElementById('pers-ya-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u06CC')\n})\ndocument.getElementById('pers-kaf-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u06A9')\n})\ndocument.getElementById('gaf-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat('\u06AF')\n})\n\n// Control buttons\ndocument.getElementById('reset-btn')?.addEventListener('click', () => {\n resultField.innerHTML = 'The total abjad value of \u2026 is \u2026'\n})\ndocument.getElementById('space-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.concat(' ')\n})\ndocument.getElementById('back-btn')?.addEventListener('click', () => {\n inputField.value = inputField.value.slice(0, -1)\n})\n\n//\n// SUBMISSION HANDLING\n//\n\nfunction submitOnEnter(e: KeyboardEvent) {\n if (e.key === 'Enter' && !e.shiftKey) {\n getResult(inputField, resultField, maghribiCheckbox, hamzahCheckbox)\n e.preventDefault()\n }\n}\n\ninputField.addEventListener('keydown', submitOnEnter)\n\ngoButton.addEventListener('click', () => {\n getResult(inputField, resultField, maghribiCheckbox, hamzahCheckbox)\n})\n"],
+ "mappings": "mBAAA,SAASA,EACPC,EACAC,EACAC,EACmB,CAEnB,IAAMC,EAAeH,EAAM,QAAQ,OAAQ,EAAE,EAGzCI,EAAQ,EAERC,EAAoB,GAKxB,QAASC,EAAI,EAAGA,EAAIH,EAAa,OAAQG,GAAK,EAC5C,GACEH,EAAa,OAAOG,CAAC,IAAM,UAC3BH,EAAa,OAAOG,CAAC,IAAM,UAC3BH,EAAa,OAAOG,CAAC,IAAM,UAC3BH,EAAa,OAAOG,CAAC,IAAM,UAC3BH,EAAa,OAAOG,CAAC,IAAM,SAE3BF,GAAS,UACAD,EAAa,OAAOG,CAAC,IAAM,SAAK,CACzC,GAAIJ,EACF,SAEAE,GAAS,CAEb,SACED,EAAa,OAAOG,CAAC,IAAM,UAC3BH,EAAa,OAAOG,CAAC,IAAM,SAE3BF,GAAS,UAETD,EAAa,OAAOG,CAAC,IAAM,UAC3BH,EAAa,OAAOG,CAAC,IAAM,SAE3BF,GAAS,UACAD,EAAa,OAAOG,CAAC,IAAM,SACpCF,GAAS,UAETD,EAAa,OAAOG,CAAC,IAAM,UAC3BH,EAAa,OAAOG,CAAC,IAAM,UAC3BH,EAAa,OAAOG,CAAC,IAAM,UAC3BH,EAAa,OAAOG,CAAC,IAAM,SAE3BF,GAAS,UAETD,EAAa,OAAOG,CAAC,IAAM,UAC3BH,EAAa,OAAOG,CAAC,IAAM,SAE3BF,GAAS,UAETD,EAAa,OAAOG,CAAC,IAAM,UAC3BH,EAAa,OAAOG,CAAC,IAAM,SAE3BF,GAAS,UACAD,EAAa,OAAOG,CAAC,IAAM,SACpCF,GAAS,UACAD,EAAa,OAAOG,CAAC,IAAM,SACpCF,GAAS,UAETD,EAAa,OAAOG,CAAC,IAAM,UAC3BH,EAAa,OAAOG,CAAC,IAAM,UAC3BH,EAAa,OAAOG,CAAC,IAAM,UAC3BH,EAAa,OAAOG,CAAC,IAAM,SAE3BF,GAAS,WAETD,EAAa,OAAOG,CAAC,IAAM,UAC3BH,EAAa,OAAOG,CAAC,IAAM,UAC3BH,EAAa,OAAOG,CAAC,IAAM,SAE3BF,GAAS,WACAD,EAAa,OAAOG,CAAC,IAAM,SACpCF,GAAS,WACAD,EAAa,OAAOG,CAAC,IAAM,SACpCF,GAAS,WACAD,EAAa,OAAOG,CAAC,IAAM,SACpCF,GAAS,WACAD,EAAa,OAAOG,CAAC,IAAM,SAChCL,EACFG,GAAS,IAETA,GAAS,WAEFD,EAAa,OAAOG,CAAC,IAAM,SACpCF,GAAS,WACAD,EAAa,OAAOG,CAAC,IAAM,SACpCF,GAAS,WACAD,EAAa,OAAOG,CAAC,IAAM,SAChCL,EACFG,GAAS,GAETA,GAAS,WAEFD,EAAa,OAAOG,CAAC,IAAM,SACpCF,GAAS,YACAD,EAAa,OAAOG,CAAC,IAAM,SACpCF,GAAS,YACAD,EAAa,OAAOG,CAAC,IAAM,SAChCL,EACFG,GAAS,IAETA,GAAS,YAEFD,EAAa,OAAOG,CAAC,IAAM,SACpCF,GAAS,YACAD,EAAa,OAAOG,CAAC,IAAM,SACpCF,GAAS,YACAD,EAAa,OAAOG,CAAC,IAAM,SACpCF,GAAS,YACAD,EAAa,OAAOG,CAAC,IAAM,SACpCF,GAAS,YACAD,EAAa,OAAOG,CAAC,IAAM,SAChCL,EACFG,GAAS,GAETA,GAAS,YAEFD,EAAa,OAAOG,CAAC,IAAM,SAChCL,EACFG,GAAS,IAETA,GAAS,YAEFD,EAAa,OAAOG,CAAC,IAAM,SAChCL,EACFG,GAAS,IAETA,GAAS,QAEN,IAAID,EAAa,OAAOG,CAAC,IAAM,SACpC,SAIAD,EAAoB,GACpB,SAIJ,MAAO,CAACD,EAAOC,CAAiB,CAClC,CAEO,SAASE,EACdC,EACAC,EACAC,EACAC,EACA,CACA,IAAMX,EAAQQ,EAAW,MACnBP,EAAgBS,EAAiB,QACjCR,EAAeS,EAAe,QAE9B,CAACP,EAAOC,CAAiB,EAAIN,EACjCC,EACAC,EACAC,CACF,EAEMU,EAAkBZ,EAAM,QAAQ,OAAQ,GAAG,EAAE,KAAK,EAEpDa,EAAaR,EACb,yLACAO,EACA,iBACA,wFACAA,EACA,iBAEJC,GAAc,IAAMT,EAAQ,IAE5BK,EAAY,UAAYI,EACxBL,EAAW,KAAK,CAClB,CC3KA,IAAMM,EAAa,SAAS,eAAe,YAAY,EACjDC,EAAc,SAAS,eAAe,QAAQ,EAG9CC,EAAmB,SAAS,eAChC,gBACF,EACMC,EAAiB,SAAS,eAC9B,cACF,EAGMC,EAAW,SAAS,eAAe,QAAQ,EAOjD,SAAS,eAAe,UAAU,GAAG,iBAAiB,QAAS,IAAM,CACnEJ,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EACD,SAAS,eAAe,QAAQ,GAAG,iBAAiB,QAAS,IAAM,CACjEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EACD,SAAS,eAAe,SAAS,GAAG,iBAAiB,QAAS,IAAM,CAClEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EACD,SAAS,eAAe,SAAS,GAAG,iBAAiB,QAAS,IAAM,CAClEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EACD,SAAS,eAAe,QAAQ,GAAG,iBAAiB,QAAS,IAAM,CACjEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EACD,SAAS,eAAe,SAAS,GAAG,iBAAiB,QAAS,IAAM,CAClEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EACD,SAAS,eAAe,QAAQ,GAAG,iBAAiB,QAAS,IAAM,CACjEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EAGD,SAAS,eAAe,QAAQ,GAAG,iBAAiB,QAAS,IAAM,CACjEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EACD,SAAS,eAAe,SAAS,GAAG,iBAAiB,QAAS,IAAM,CAClEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EACD,SAAS,eAAe,QAAQ,GAAG,iBAAiB,QAAS,IAAM,CACjEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EACD,SAAS,eAAe,SAAS,GAAG,iBAAiB,QAAS,IAAM,CAClEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EACD,SAAS,eAAe,SAAS,GAAG,iBAAiB,QAAS,IAAM,CAClEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EACD,SAAS,eAAe,SAAS,GAAG,iBAAiB,QAAS,IAAM,CAClEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EACD,SAAS,eAAe,SAAS,GAAG,iBAAiB,QAAS,IAAM,CAClEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EAGD,SAAS,eAAe,SAAS,GAAG,iBAAiB,QAAS,IAAM,CAClEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EACD,SAAS,eAAe,SAAS,GAAG,iBAAiB,QAAS,IAAM,CAClEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EACD,SAAS,eAAe,QAAQ,GAAG,iBAAiB,QAAS,IAAM,CACjEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EACD,SAAS,eAAe,SAAS,GAAG,iBAAiB,QAAS,IAAM,CAClEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EACD,SAAS,eAAe,SAAS,GAAG,iBAAiB,QAAS,IAAM,CAClEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EACD,SAAS,eAAe,QAAQ,GAAG,iBAAiB,QAAS,IAAM,CACjEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EACD,SAAS,eAAe,UAAU,GAAG,iBAAiB,QAAS,IAAM,CACnEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EACD,SAAS,eAAe,QAAQ,GAAG,iBAAiB,QAAS,IAAM,CACjEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EAGD,SAAS,eAAe,SAAS,GAAG,iBAAiB,QAAS,IAAM,CAClEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EACD,SAAS,eAAe,SAAS,GAAG,iBAAiB,QAAS,IAAM,CAClEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EACD,SAAS,eAAe,UAAU,GAAG,iBAAiB,QAAS,IAAM,CACnEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EACD,SAAS,eAAe,SAAS,GAAG,iBAAiB,QAAS,IAAM,CAClEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EACD,SAAS,eAAe,SAAS,GAAG,iBAAiB,QAAS,IAAM,CAClEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EACD,SAAS,eAAe,WAAW,GAAG,iBAAiB,QAAS,IAAM,CACpEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EAGD,SAAS,eAAe,aAAa,GAAG,iBAAiB,QAAS,IAAM,CACtEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EACD,SAAS,eAAe,gBAAgB,GAAG,iBAAiB,QAAS,IAAM,CACzEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EACD,SAAS,eAAe,YAAY,GAAG,iBAAiB,QAAS,IAAM,CACrEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EACD,SAAS,eAAe,YAAY,GAAG,iBAAiB,QAAS,IAAM,CACrEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EACD,SAAS,eAAe,cAAc,GAAG,iBAAiB,QAAS,IAAM,CACvEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EACD,SAAS,eAAe,aAAa,GAAG,iBAAiB,QAAS,IAAM,CACtEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EACD,SAAS,eAAe,cAAc,GAAG,iBAAiB,QAAS,IAAM,CACvEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EACD,SAAS,eAAe,YAAY,GAAG,iBAAiB,QAAS,IAAM,CACrEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EAGD,SAAS,eAAe,QAAQ,GAAG,iBAAiB,QAAS,IAAM,CACjEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EACD,SAAS,eAAe,SAAS,GAAG,iBAAiB,QAAS,IAAM,CAClEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EACD,SAAS,eAAe,eAAe,GAAG,iBAAiB,QAAS,IAAM,CACxEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EACD,SAAS,eAAe,SAAS,GAAG,iBAAiB,QAAS,IAAM,CAClEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EACD,SAAS,eAAe,aAAa,GAAG,iBAAiB,QAAS,IAAM,CACtEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EACD,SAAS,eAAe,cAAc,GAAG,iBAAiB,QAAS,IAAM,CACvEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EACD,SAAS,eAAe,SAAS,GAAG,iBAAiB,QAAS,IAAM,CAClEA,EAAW,MAAQA,EAAW,MAAM,OAAO,QAAG,CAChD,CAAC,EAGD,SAAS,eAAe,WAAW,GAAG,iBAAiB,QAAS,IAAM,CACpEC,EAAY,UAAY,oDAC1B,CAAC,EACD,SAAS,eAAe,WAAW,GAAG,iBAAiB,QAAS,IAAM,CACpED,EAAW,MAAQA,EAAW,MAAM,OAAO,GAAG,CAChD,CAAC,EACD,SAAS,eAAe,UAAU,GAAG,iBAAiB,QAAS,IAAM,CACnEA,EAAW,MAAQA,EAAW,MAAM,MAAM,EAAG,EAAE,CACjD,CAAC,EAMD,SAASK,EAAcC,EAAkB,CACnCA,EAAE,MAAQ,SAAW,CAACA,EAAE,WAC1BC,EAAUP,EAAYC,EAAaC,EAAkBC,CAAc,EACnEG,EAAE,eAAe,EAErB,CAEAN,EAAW,iBAAiB,UAAWK,CAAa,EAEpDD,EAAS,iBAAiB,QAAS,IAAM,CACvCG,EAAUP,EAAYC,EAAaC,EAAkBC,CAAc,CACrE,CAAC",
"names": ["getAbjad", "input", "maghribiOrder", "ignoreHamzah", "inputCleaned", "total", "unrecognizedChars", "i", "getResult", "inputField", "resultField", "maghribiCheckbox", "hamzahCheckbox", "inputForDisplay", "resultText", "inputField", "resultField", "maghribiCheckbox", "hamzahCheckbox", "goButton", "submitOnEnter", "e", "getResult"]
}
diff --git a/js/index.min.js.map b/js/index.min.js.map
index 2536c8e..fad049b 100644
--- a/js/index.min.js.map
+++ b/js/index.min.js.map
@@ -1,7 +1,7 @@
{
"version": 3,
"sources": ["../ts/lib.ts", "../ts/index-main.ts"],
- "sourcesContent": ["function getAbjad (\n input: string,\n maghribiOrder: boolean,\n ignoreHamzah: boolean,\n): [number, boolean] {\n // Strip whitespace from input\n const inputCleaned = input.replace(/\\s+/g, '')\n\n // Define a total to keep track of the abjad value\n let total = 0\n\n let unrecognizedChars = false\n\n // Here we go! Run through the cleaned input, one character at a time\n // Check for matches with Arabic-script letters\n // Add relevant abjad values to the total\n for (let i = 0; i < inputCleaned.length; i += 1) {\n if (\n inputCleaned.charAt(i) === '\u0627' ||\n inputCleaned.charAt(i) === '\u0622' ||\n inputCleaned.charAt(i) === '\u0623' ||\n inputCleaned.charAt(i) === '\u0625' ||\n inputCleaned.charAt(i) === '\u0671'\n ) {\n total += 1\n } else if (inputCleaned.charAt(i) === '\u0621') {\n if (ignoreHamzah) {\n continue\n } else {\n total += 1\n }\n } else if (\n inputCleaned.charAt(i) === '\u0628' ||\n inputCleaned.charAt(i) === '\u067E'\n ) {\n total += 2\n } else if (\n inputCleaned.charAt(i) === '\u062C' ||\n inputCleaned.charAt(i) === '\u0686'\n ) {\n total += 3\n } else if (inputCleaned.charAt(i) === '\u062F') {\n total += 4\n } else if (\n inputCleaned.charAt(i) === '\u0647' ||\n inputCleaned.charAt(i) === '\u0629' ||\n inputCleaned.charAt(i) === '\u06C0' ||\n inputCleaned.charAt(i) === '\u06C1' // U+06C1\n ) {\n total += 5\n } else if (\n inputCleaned.charAt(i) === '\u0648' ||\n inputCleaned.charAt(i) === '\u0624'\n ) {\n total += 6\n } else if (\n inputCleaned.charAt(i) === '\u0632' ||\n inputCleaned.charAt(i) === '\u0698'\n ) {\n total += 7\n } else if (inputCleaned.charAt(i) === '\u062D') {\n total += 8\n } else if (inputCleaned.charAt(i) === '\u0637') {\n total += 9\n } else if (\n inputCleaned.charAt(i) === '\u06CC' ||\n inputCleaned.charAt(i) === '\u0649' ||\n inputCleaned.charAt(i) === '\u064A' ||\n inputCleaned.charAt(i) === '\u0626'\n ) {\n total += 10\n } else if (\n inputCleaned.charAt(i) === '\u06A9' ||\n inputCleaned.charAt(i) === '\u06AF' ||\n inputCleaned.charAt(i) === '\u0643'\n ) {\n total += 20\n } else if (inputCleaned.charAt(i) === '\u0644') {\n total += 30\n } else if (inputCleaned.charAt(i) === '\u0645') {\n total += 40\n } else if (inputCleaned.charAt(i) === '\u0646') {\n total += 50\n } else if (inputCleaned.charAt(i) === '\u0633') {\n if (maghribiOrder) {\n total += 300\n } else {\n total += 60\n }\n } else if (inputCleaned.charAt(i) === '\u0639') {\n total += 70\n } else if (inputCleaned.charAt(i) === '\u0641') {\n total += 80\n } else if (inputCleaned.charAt(i) === '\u0635') {\n if (maghribiOrder) {\n total += 60\n } else {\n total += 90\n }\n } else if (inputCleaned.charAt(i) === '\u0642') {\n total += 100\n } else if (inputCleaned.charAt(i) === '\u0631') {\n total += 200\n } else if (inputCleaned.charAt(i) === '\u0634') {\n if (maghribiOrder) {\n total += 1000\n } else {\n total += 300\n }\n } else if (inputCleaned.charAt(i) === '\u062A') {\n total += 400\n } else if (inputCleaned.charAt(i) === '\u062B') {\n total += 500\n } else if (inputCleaned.charAt(i) === '\u062E') {\n total += 600\n } else if (inputCleaned.charAt(i) === '\u0630') {\n total += 700\n } else if (inputCleaned.charAt(i) === '\u0636') {\n if (maghribiOrder) {\n total += 90\n } else {\n total += 800\n }\n } else if (inputCleaned.charAt(i) === '\u0638') {\n if (maghribiOrder) {\n total += 800\n } else {\n total += 900\n }\n } else if (inputCleaned.charAt(i) === '\u063A') {\n if (maghribiOrder) {\n total += 900\n } else {\n total += 1000\n }\n } else if (inputCleaned.charAt(i) === '\\u200C') {\n continue\n } else {\n // If the character wasn't recognized, add an error message\n // Need to reimplement this somehow; set a flag?\n unrecognizedChars = true\n continue\n }\n }\n\n return [total, unrecognizedChars]\n}\n\nexport function getResult (\n inputField: HTMLInputElement,\n resultField: HTMLElement,\n maghribiCheckbox: HTMLInputElement,\n hamzahCheckbox: HTMLInputElement,\n) {\n const input = inputField.value\n const maghribiOrder = maghribiCheckbox.checked\n const ignoreHamzah = hamzahCheckbox.checked\n\n const [total, unrecognizedChars] = getAbjad(\n input,\n maghribiOrder,\n ignoreHamzah,\n )\n\n const inputForDisplay = input.replace(/\\s+/g, ' ').trim()\n\n let resultText = unrecognizedChars\n ? \"At least one of the characters entered was not recognized and has been ignored.
That said, the computed abjad value of \u00AB\" +\n inputForDisplay +\n '\u00BB is'\n : \"The total abjad value of \u00AB\" +\n inputForDisplay +\n '\u00BB is'\n\n resultText += ' ' + total + '.'\n\n resultField.innerHTML = resultText\n inputField.blur()\n}\n", "import { getResult } from './lib'\n\n//\n// DOM ELEMENTS\n//\n\n// Input and result fields\nconst inputField = document.getElementById('abjad-text') as HTMLInputElement\nconst resultField = document.getElementById('result') as HTMLElement\n\n// Checkboxes\nconst maghribiCheckbox = document.getElementById(\n 'maghribi-check',\n) as HTMLInputElement\nconst hamzahCheckbox = document.getElementById(\n 'hamzah-check',\n) as HTMLInputElement\n\n// Buttons\nconst submitButton = document.getElementById(\n 'submit-button',\n) as HTMLButtonElement\nconst resetButton = document.getElementById('reset-button') as HTMLButtonElement\n\n//\n// EVENT HANDLING\n//\n\n// Submit\n\nfunction submitOnEnter (e: KeyboardEvent) {\n if (e.key === 'Enter' && !e.shiftKey) {\n getResult(inputField, resultField, maghribiCheckbox, hamzahCheckbox)\n e.preventDefault()\n }\n}\n\ninputField.addEventListener('keydown', submitOnEnter)\n\nsubmitButton.addEventListener('click', () => {\n getResult(inputField, resultField, maghribiCheckbox, hamzahCheckbox)\n})\n\n// Reset\n\nresetButton.addEventListener('click', () => {\n resultField.innerHTML = 'The total abjad value of \u2026 is \u2026'\n})\n"],
- "mappings": "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",
+ "sourcesContent": ["function getAbjad(\n input: string,\n maghribiOrder: boolean,\n ignoreHamzah: boolean,\n): [number, boolean] {\n // Strip whitespace from input\n const inputCleaned = input.replace(/\\s+/g, '')\n\n // Define a total to keep track of the abjad value\n let total = 0\n\n let unrecognizedChars = false\n\n // Here we go! Run through the cleaned input, one character at a time\n // Check for matches with Arabic-script letters\n // Add relevant abjad values to the total\n for (let i = 0; i < inputCleaned.length; i += 1) {\n if (\n inputCleaned.charAt(i) === '\u0627' ||\n inputCleaned.charAt(i) === '\u0622' ||\n inputCleaned.charAt(i) === '\u0623' ||\n inputCleaned.charAt(i) === '\u0625' ||\n inputCleaned.charAt(i) === '\u0671'\n ) {\n total += 1\n } else if (inputCleaned.charAt(i) === '\u0621') {\n if (ignoreHamzah) {\n continue\n } else {\n total += 1\n }\n } else if (\n inputCleaned.charAt(i) === '\u0628' ||\n inputCleaned.charAt(i) === '\u067E'\n ) {\n total += 2\n } else if (\n inputCleaned.charAt(i) === '\u062C' ||\n inputCleaned.charAt(i) === '\u0686'\n ) {\n total += 3\n } else if (inputCleaned.charAt(i) === '\u062F') {\n total += 4\n } else if (\n inputCleaned.charAt(i) === '\u0647' ||\n inputCleaned.charAt(i) === '\u0629' ||\n inputCleaned.charAt(i) === '\u06C0' ||\n inputCleaned.charAt(i) === '\u06C1' // U+06C1\n ) {\n total += 5\n } else if (\n inputCleaned.charAt(i) === '\u0648' ||\n inputCleaned.charAt(i) === '\u0624'\n ) {\n total += 6\n } else if (\n inputCleaned.charAt(i) === '\u0632' ||\n inputCleaned.charAt(i) === '\u0698'\n ) {\n total += 7\n } else if (inputCleaned.charAt(i) === '\u062D') {\n total += 8\n } else if (inputCleaned.charAt(i) === '\u0637') {\n total += 9\n } else if (\n inputCleaned.charAt(i) === '\u06CC' ||\n inputCleaned.charAt(i) === '\u0649' ||\n inputCleaned.charAt(i) === '\u064A' ||\n inputCleaned.charAt(i) === '\u0626'\n ) {\n total += 10\n } else if (\n inputCleaned.charAt(i) === '\u06A9' ||\n inputCleaned.charAt(i) === '\u06AF' ||\n inputCleaned.charAt(i) === '\u0643'\n ) {\n total += 20\n } else if (inputCleaned.charAt(i) === '\u0644') {\n total += 30\n } else if (inputCleaned.charAt(i) === '\u0645') {\n total += 40\n } else if (inputCleaned.charAt(i) === '\u0646') {\n total += 50\n } else if (inputCleaned.charAt(i) === '\u0633') {\n if (maghribiOrder) {\n total += 300\n } else {\n total += 60\n }\n } else if (inputCleaned.charAt(i) === '\u0639') {\n total += 70\n } else if (inputCleaned.charAt(i) === '\u0641') {\n total += 80\n } else if (inputCleaned.charAt(i) === '\u0635') {\n if (maghribiOrder) {\n total += 60\n } else {\n total += 90\n }\n } else if (inputCleaned.charAt(i) === '\u0642') {\n total += 100\n } else if (inputCleaned.charAt(i) === '\u0631') {\n total += 200\n } else if (inputCleaned.charAt(i) === '\u0634') {\n if (maghribiOrder) {\n total += 1000\n } else {\n total += 300\n }\n } else if (inputCleaned.charAt(i) === '\u062A') {\n total += 400\n } else if (inputCleaned.charAt(i) === '\u062B') {\n total += 500\n } else if (inputCleaned.charAt(i) === '\u062E') {\n total += 600\n } else if (inputCleaned.charAt(i) === '\u0630') {\n total += 700\n } else if (inputCleaned.charAt(i) === '\u0636') {\n if (maghribiOrder) {\n total += 90\n } else {\n total += 800\n }\n } else if (inputCleaned.charAt(i) === '\u0638') {\n if (maghribiOrder) {\n total += 800\n } else {\n total += 900\n }\n } else if (inputCleaned.charAt(i) === '\u063A') {\n if (maghribiOrder) {\n total += 900\n } else {\n total += 1000\n }\n } else if (inputCleaned.charAt(i) === '\\u200C') {\n continue\n } else {\n // If the character wasn't recognized, add an error message\n // Need to reimplement this somehow; set a flag?\n unrecognizedChars = true\n continue\n }\n }\n\n return [total, unrecognizedChars]\n}\n\nexport function getResult(\n inputField: HTMLInputElement,\n resultField: HTMLElement,\n maghribiCheckbox: HTMLInputElement,\n hamzahCheckbox: HTMLInputElement,\n) {\n const input = inputField.value\n const maghribiOrder = maghribiCheckbox.checked\n const ignoreHamzah = hamzahCheckbox.checked\n\n const [total, unrecognizedChars] = getAbjad(\n input,\n maghribiOrder,\n ignoreHamzah,\n )\n\n const inputForDisplay = input.replace(/\\s+/g, ' ').trim()\n\n let resultText = unrecognizedChars\n ? \"At least one of the characters entered was not recognized and has been ignored.
That said, the computed abjad value of \u00AB\" +\n inputForDisplay +\n '\u00BB is'\n : \"The total abjad value of \u00AB\" +\n inputForDisplay +\n '\u00BB is'\n\n resultText += ' ' + total + '.'\n\n resultField.innerHTML = resultText\n inputField.blur()\n}\n", "import { getResult } from './lib'\n\n//\n// DOM ELEMENTS\n//\n\n// Input and result fields\nconst inputField = document.getElementById('abjad-text') as HTMLInputElement\nconst resultField = document.getElementById('result') as HTMLElement\n\n// Checkboxes\nconst maghribiCheckbox = document.getElementById(\n 'maghribi-check',\n) as HTMLInputElement\nconst hamzahCheckbox = document.getElementById(\n 'hamzah-check',\n) as HTMLInputElement\n\n// Buttons\nconst submitButton = document.getElementById(\n 'submit-button',\n) as HTMLButtonElement\nconst resetButton = document.getElementById('reset-button') as HTMLButtonElement\n\n//\n// EVENT HANDLING\n//\n\n// Submit\n\nfunction submitOnEnter(e: KeyboardEvent) {\n if (e.key === 'Enter' && !e.shiftKey) {\n getResult(inputField, resultField, maghribiCheckbox, hamzahCheckbox)\n e.preventDefault()\n }\n}\n\ninputField.addEventListener('keydown', submitOnEnter)\n\nsubmitButton.addEventListener('click', () => {\n getResult(inputField, resultField, maghribiCheckbox, hamzahCheckbox)\n})\n\n// Reset\n\nresetButton.addEventListener('click', () => {\n resultField.innerHTML = 'The total abjad value of \u2026 is \u2026'\n})\n"],
+ "mappings": "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",
"names": ["getAbjad", "input", "maghribiOrder", "ignoreHamzah", "inputCleaned", "total", "unrecognizedChars", "i", "getResult", "inputField", "resultField", "maghribiCheckbox", "hamzahCheckbox", "inputForDisplay", "resultText", "inputField", "resultField", "maghribiCheckbox", "hamzahCheckbox", "submitButton", "resetButton", "submitOnEnter", "e", "getResult"]
}
diff --git a/package.json b/package.json
index 85aaff4..31afe6e 100644
--- a/package.json
+++ b/package.json
@@ -12,23 +12,25 @@
},
"license": "MIT",
"author": "Theo Beers",
+ "type": "module",
"main": "index.html",
"scripts": {
"check": "tsc",
"compile-ime": "esbuild ts/index-ime.ts --bundle --minify --sourcemap --outfile=ime/index.min.js",
"compile-main": "esbuild ts/index-main.ts --bundle --minify --sourcemap --outfile=js/index.min.js",
"format": "prettier --write .",
- "lint": "eslint --fix --ignore-path .prettierignore . && stylelint --fix css/styles-*.css",
+ "lint": "eslint --fix . && stylelint --fix css/styles-*.css",
"test": "echo \"Error: no test specified\" && exit 1"
},
"devDependencies": {
- "@typescript-eslint/eslint-plugin": "^7.15.0",
- "@typescript-eslint/parser": "^7.15.0",
- "esbuild": "^0.23.0",
- "eslint": "^8.57.0",
- "prettier": "3.3.2",
- "stylelint": "^16.6.1",
+ "@eslint/js": "^9.9.1",
+ "@types/eslint__js": "^8.42.3",
+ "esbuild": "^0.23.1",
+ "eslint": "^9.9.1",
+ "prettier": "3.3.3",
+ "stylelint": "^16.8.2",
"stylelint-config-standard": "^36.0.1",
- "typescript": "^5.5.3"
+ "typescript": "^5.5.4",
+ "typescript-eslint": "^8.3.0"
}
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index ad6fa9e..4ecf1c8 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -8,30 +8,33 @@ importers:
.:
devDependencies:
- '@typescript-eslint/eslint-plugin':
- specifier: ^7.15.0
- version: 7.15.0(@typescript-eslint/parser@7.15.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3)
- '@typescript-eslint/parser':
- specifier: ^7.15.0
- version: 7.15.0(eslint@8.57.0)(typescript@5.5.3)
+ '@eslint/js':
+ specifier: ^9.9.1
+ version: 9.9.1
+ '@types/eslint__js':
+ specifier: ^8.42.3
+ version: 8.42.3
esbuild:
- specifier: ^0.23.0
- version: 0.23.0
+ specifier: ^0.23.1
+ version: 0.23.1
eslint:
- specifier: ^8.57.0
- version: 8.57.0
+ specifier: ^9.9.1
+ version: 9.9.1
prettier:
- specifier: 3.3.2
- version: 3.3.2
+ specifier: 3.3.3
+ version: 3.3.3
stylelint:
- specifier: ^16.6.1
- version: 16.6.1(typescript@5.5.3)
+ specifier: ^16.8.2
+ version: 16.8.2(typescript@5.5.4)
stylelint-config-standard:
specifier: ^36.0.1
- version: 36.0.1(stylelint@16.6.1(typescript@5.5.3))
+ version: 36.0.1(stylelint@16.8.2(typescript@5.5.4))
typescript:
- specifier: ^5.5.3
- version: 5.5.3
+ specifier: ^5.5.4
+ version: 5.5.4
+ typescript-eslint:
+ specifier: ^8.3.0
+ version: 8.3.0(eslint@9.9.1)(typescript@5.5.4)
packages:
@@ -47,172 +50,172 @@ packages:
resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==}
engines: {node: '>=6.9.0'}
- '@csstools/css-parser-algorithms@2.7.1':
- resolution: {integrity: sha512-2SJS42gxmACHgikc1WGesXLIT8d/q2l0UFM7TaEeIzdFCE/FPMtTiizcPGGJtlPo2xuQzY09OhrLTzRxqJqwGw==}
- engines: {node: ^14 || ^16 || >=18}
+ '@csstools/css-parser-algorithms@3.0.1':
+ resolution: {integrity: sha512-lSquqZCHxDfuTg/Sk2hiS0mcSFCEBuj49JfzPHJogDBT0mGCyY5A1AQzBWngitrp7i1/HAZpIgzF/VjhOEIJIg==}
+ engines: {node: '>=18'}
peerDependencies:
- '@csstools/css-tokenizer': ^2.4.1
+ '@csstools/css-tokenizer': ^3.0.1
- '@csstools/css-tokenizer@2.4.1':
- resolution: {integrity: sha512-eQ9DIktFJBhGjioABJRtUucoWR2mwllurfnM8LuNGAqX3ViZXaUchqk+1s7jjtkFiT9ySdACsFEA3etErkALUg==}
- engines: {node: ^14 || ^16 || >=18}
+ '@csstools/css-tokenizer@3.0.1':
+ resolution: {integrity: sha512-UBqaiu7kU0lfvaP982/o3khfXccVlHPWp0/vwwiIgDF0GmqqqxoiXC/6FCjlS9u92f7CoEz6nXKQnrn1kIAkOw==}
+ engines: {node: '>=18'}
- '@csstools/media-query-list-parser@2.1.13':
- resolution: {integrity: sha512-XaHr+16KRU9Gf8XLi3q8kDlI18d5vzKSKCY510Vrtc9iNR0NJzbY9hhTmwhzYZj/ZwGL4VmB3TA9hJW0Um2qFA==}
- engines: {node: ^14 || ^16 || >=18}
+ '@csstools/media-query-list-parser@3.0.1':
+ resolution: {integrity: sha512-HNo8gGD02kHmcbX6PvCoUuOQvn4szyB9ca63vZHKX5A81QytgDG4oxG4IaEfHTlEZSZ6MjPEMWIVU+zF2PZcgw==}
+ engines: {node: '>=18'}
peerDependencies:
- '@csstools/css-parser-algorithms': ^2.7.1
- '@csstools/css-tokenizer': ^2.4.1
+ '@csstools/css-parser-algorithms': ^3.0.1
+ '@csstools/css-tokenizer': ^3.0.1
- '@csstools/selector-specificity@3.1.1':
- resolution: {integrity: sha512-a7cxGcJ2wIlMFLlh8z2ONm+715QkPHiyJcxwQlKOz/03GPw1COpfhcmC9wm4xlZfp//jWHNNMwzjtqHXVWU9KA==}
- engines: {node: ^14 || ^16 || >=18}
+ '@csstools/selector-specificity@4.0.0':
+ resolution: {integrity: sha512-189nelqtPd8++phaHNwYovKZI0FOzH1vQEE3QhHHkNIGrg5fSs9CbYP3RvfEH5geztnIA9Jwq91wyOIwAW5JIQ==}
+ engines: {node: '>=18'}
peerDependencies:
- postcss-selector-parser: ^6.0.13
+ postcss-selector-parser: ^6.1.0
'@dual-bundle/import-meta-resolve@4.1.0':
resolution: {integrity: sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg==}
- '@esbuild/aix-ppc64@0.23.0':
- resolution: {integrity: sha512-3sG8Zwa5fMcA9bgqB8AfWPQ+HFke6uD3h1s3RIwUNK8EG7a4buxvuFTs3j1IMs2NXAk9F30C/FF4vxRgQCcmoQ==}
+ '@esbuild/aix-ppc64@0.23.1':
+ resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==}
engines: {node: '>=18'}
cpu: [ppc64]
os: [aix]
- '@esbuild/android-arm64@0.23.0':
- resolution: {integrity: sha512-EuHFUYkAVfU4qBdyivULuu03FhJO4IJN9PGuABGrFy4vUuzk91P2d+npxHcFdpUnfYKy0PuV+n6bKIpHOB3prQ==}
+ '@esbuild/android-arm64@0.23.1':
+ resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==}
engines: {node: '>=18'}
cpu: [arm64]
os: [android]
- '@esbuild/android-arm@0.23.0':
- resolution: {integrity: sha512-+KuOHTKKyIKgEEqKbGTK8W7mPp+hKinbMBeEnNzjJGyFcWsfrXjSTNluJHCY1RqhxFurdD8uNXQDei7qDlR6+g==}
+ '@esbuild/android-arm@0.23.1':
+ resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==}
engines: {node: '>=18'}
cpu: [arm]
os: [android]
- '@esbuild/android-x64@0.23.0':
- resolution: {integrity: sha512-WRrmKidLoKDl56LsbBMhzTTBxrsVwTKdNbKDalbEZr0tcsBgCLbEtoNthOW6PX942YiYq8HzEnb4yWQMLQuipQ==}
+ '@esbuild/android-x64@0.23.1':
+ resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==}
engines: {node: '>=18'}
cpu: [x64]
os: [android]
- '@esbuild/darwin-arm64@0.23.0':
- resolution: {integrity: sha512-YLntie/IdS31H54Ogdn+v50NuoWF5BDkEUFpiOChVa9UnKpftgwzZRrI4J132ETIi+D8n6xh9IviFV3eXdxfow==}
+ '@esbuild/darwin-arm64@0.23.1':
+ resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==}
engines: {node: '>=18'}
cpu: [arm64]
os: [darwin]
- '@esbuild/darwin-x64@0.23.0':
- resolution: {integrity: sha512-IMQ6eme4AfznElesHUPDZ+teuGwoRmVuuixu7sv92ZkdQcPbsNHzutd+rAfaBKo8YK3IrBEi9SLLKWJdEvJniQ==}
+ '@esbuild/darwin-x64@0.23.1':
+ resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==}
engines: {node: '>=18'}
cpu: [x64]
os: [darwin]
- '@esbuild/freebsd-arm64@0.23.0':
- resolution: {integrity: sha512-0muYWCng5vqaxobq6LB3YNtevDFSAZGlgtLoAc81PjUfiFz36n4KMpwhtAd4he8ToSI3TGyuhyx5xmiWNYZFyw==}
+ '@esbuild/freebsd-arm64@0.23.1':
+ resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==}
engines: {node: '>=18'}
cpu: [arm64]
os: [freebsd]
- '@esbuild/freebsd-x64@0.23.0':
- resolution: {integrity: sha512-XKDVu8IsD0/q3foBzsXGt/KjD/yTKBCIwOHE1XwiXmrRwrX6Hbnd5Eqn/WvDekddK21tfszBSrE/WMaZh+1buQ==}
+ '@esbuild/freebsd-x64@0.23.1':
+ resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==}
engines: {node: '>=18'}
cpu: [x64]
os: [freebsd]
- '@esbuild/linux-arm64@0.23.0':
- resolution: {integrity: sha512-j1t5iG8jE7BhonbsEg5d9qOYcVZv/Rv6tghaXM/Ug9xahM0nX/H2gfu6X6z11QRTMT6+aywOMA8TDkhPo8aCGw==}
+ '@esbuild/linux-arm64@0.23.1':
+ resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==}
engines: {node: '>=18'}
cpu: [arm64]
os: [linux]
- '@esbuild/linux-arm@0.23.0':
- resolution: {integrity: sha512-SEELSTEtOFu5LPykzA395Mc+54RMg1EUgXP+iw2SJ72+ooMwVsgfuwXo5Fn0wXNgWZsTVHwY2cg4Vi/bOD88qw==}
+ '@esbuild/linux-arm@0.23.1':
+ resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==}
engines: {node: '>=18'}
cpu: [arm]
os: [linux]
- '@esbuild/linux-ia32@0.23.0':
- resolution: {integrity: sha512-P7O5Tkh2NbgIm2R6x1zGJJsnacDzTFcRWZyTTMgFdVit6E98LTxO+v8LCCLWRvPrjdzXHx9FEOA8oAZPyApWUA==}
+ '@esbuild/linux-ia32@0.23.1':
+ resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==}
engines: {node: '>=18'}
cpu: [ia32]
os: [linux]
- '@esbuild/linux-loong64@0.23.0':
- resolution: {integrity: sha512-InQwepswq6urikQiIC/kkx412fqUZudBO4SYKu0N+tGhXRWUqAx+Q+341tFV6QdBifpjYgUndV1hhMq3WeJi7A==}
+ '@esbuild/linux-loong64@0.23.1':
+ resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==}
engines: {node: '>=18'}
cpu: [loong64]
os: [linux]
- '@esbuild/linux-mips64el@0.23.0':
- resolution: {integrity: sha512-J9rflLtqdYrxHv2FqXE2i1ELgNjT+JFURt/uDMoPQLcjWQA5wDKgQA4t/dTqGa88ZVECKaD0TctwsUfHbVoi4w==}
+ '@esbuild/linux-mips64el@0.23.1':
+ resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==}
engines: {node: '>=18'}
cpu: [mips64el]
os: [linux]
- '@esbuild/linux-ppc64@0.23.0':
- resolution: {integrity: sha512-cShCXtEOVc5GxU0fM+dsFD10qZ5UpcQ8AM22bYj0u/yaAykWnqXJDpd77ublcX6vdDsWLuweeuSNZk4yUxZwtw==}
+ '@esbuild/linux-ppc64@0.23.1':
+ resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==}
engines: {node: '>=18'}
cpu: [ppc64]
os: [linux]
- '@esbuild/linux-riscv64@0.23.0':
- resolution: {integrity: sha512-HEtaN7Y5UB4tZPeQmgz/UhzoEyYftbMXrBCUjINGjh3uil+rB/QzzpMshz3cNUxqXN7Vr93zzVtpIDL99t9aRw==}
+ '@esbuild/linux-riscv64@0.23.1':
+ resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==}
engines: {node: '>=18'}
cpu: [riscv64]
os: [linux]
- '@esbuild/linux-s390x@0.23.0':
- resolution: {integrity: sha512-WDi3+NVAuyjg/Wxi+o5KPqRbZY0QhI9TjrEEm+8dmpY9Xir8+HE/HNx2JoLckhKbFopW0RdO2D72w8trZOV+Wg==}
+ '@esbuild/linux-s390x@0.23.1':
+ resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==}
engines: {node: '>=18'}
cpu: [s390x]
os: [linux]
- '@esbuild/linux-x64@0.23.0':
- resolution: {integrity: sha512-a3pMQhUEJkITgAw6e0bWA+F+vFtCciMjW/LPtoj99MhVt+Mfb6bbL9hu2wmTZgNd994qTAEw+U/r6k3qHWWaOQ==}
+ '@esbuild/linux-x64@0.23.1':
+ resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==}
engines: {node: '>=18'}
cpu: [x64]
os: [linux]
- '@esbuild/netbsd-x64@0.23.0':
- resolution: {integrity: sha512-cRK+YDem7lFTs2Q5nEv/HHc4LnrfBCbH5+JHu6wm2eP+d8OZNoSMYgPZJq78vqQ9g+9+nMuIsAO7skzphRXHyw==}
+ '@esbuild/netbsd-x64@0.23.1':
+ resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==}
engines: {node: '>=18'}
cpu: [x64]
os: [netbsd]
- '@esbuild/openbsd-arm64@0.23.0':
- resolution: {integrity: sha512-suXjq53gERueVWu0OKxzWqk7NxiUWSUlrxoZK7usiF50C6ipColGR5qie2496iKGYNLhDZkPxBI3erbnYkU0rQ==}
+ '@esbuild/openbsd-arm64@0.23.1':
+ resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==}
engines: {node: '>=18'}
cpu: [arm64]
os: [openbsd]
- '@esbuild/openbsd-x64@0.23.0':
- resolution: {integrity: sha512-6p3nHpby0DM/v15IFKMjAaayFhqnXV52aEmv1whZHX56pdkK+MEaLoQWj+H42ssFarP1PcomVhbsR4pkz09qBg==}
+ '@esbuild/openbsd-x64@0.23.1':
+ resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==}
engines: {node: '>=18'}
cpu: [x64]
os: [openbsd]
- '@esbuild/sunos-x64@0.23.0':
- resolution: {integrity: sha512-BFelBGfrBwk6LVrmFzCq1u1dZbG4zy/Kp93w2+y83Q5UGYF1d8sCzeLI9NXjKyujjBBniQa8R8PzLFAUrSM9OA==}
+ '@esbuild/sunos-x64@0.23.1':
+ resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==}
engines: {node: '>=18'}
cpu: [x64]
os: [sunos]
- '@esbuild/win32-arm64@0.23.0':
- resolution: {integrity: sha512-lY6AC8p4Cnb7xYHuIxQ6iYPe6MfO2CC43XXKo9nBXDb35krYt7KGhQnOkRGar5psxYkircpCqfbNDB4uJbS2jQ==}
+ '@esbuild/win32-arm64@0.23.1':
+ resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==}
engines: {node: '>=18'}
cpu: [arm64]
os: [win32]
- '@esbuild/win32-ia32@0.23.0':
- resolution: {integrity: sha512-7L1bHlOTcO4ByvI7OXVI5pNN6HSu6pUQq9yodga8izeuB1KcT2UkHaH6118QJwopExPn0rMHIseCTx1CRo/uNA==}
+ '@esbuild/win32-ia32@0.23.1':
+ resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==}
engines: {node: '>=18'}
cpu: [ia32]
os: [win32]
- '@esbuild/win32-x64@0.23.0':
- resolution: {integrity: sha512-Arm+WgUFLUATuoxCJcahGuk6Yj9Pzxd6l11Zb/2aAuv5kWWvvfhLFo2fni4uSK5vzlUdCGZ/BdV5tH8klj8p8g==}
+ '@esbuild/win32-x64@0.23.1':
+ resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==}
engines: {node: '>=18'}
cpu: [x64]
os: [win32]
@@ -227,26 +230,29 @@ packages:
resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
- '@eslint/eslintrc@2.1.4':
- resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ '@eslint/config-array@0.18.0':
+ resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/js@8.57.0':
- resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ '@eslint/eslintrc@3.1.0':
+ resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@humanwhocodes/config-array@0.11.14':
- resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==}
- engines: {node: '>=10.10.0'}
- deprecated: Use @eslint/config-array instead
+ '@eslint/js@9.9.1':
+ resolution: {integrity: sha512-xIDQRsfg5hNBqHz04H1R3scSVwmI+KUbqjsQKHKQ1DAUSaUjYPReZZmS/5PNiKu1fUvzDd6H7DEDKACSEhu+TQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/object-schema@2.1.4':
+ resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@humanwhocodes/module-importer@1.0.1':
resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
engines: {node: '>=12.22'}
- '@humanwhocodes/object-schema@2.0.3':
- resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==}
- deprecated: Use @eslint/object-schema instead
+ '@humanwhocodes/retry@0.3.0':
+ resolution: {integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==}
+ engines: {node: '>=18.18'}
'@nodelib/fs.scandir@2.1.5':
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
@@ -260,66 +266,74 @@ packages:
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
engines: {node: '>= 8'}
- '@typescript-eslint/eslint-plugin@7.15.0':
- resolution: {integrity: sha512-uiNHpyjZtFrLwLDpHnzaDlP3Tt6sGMqTCiqmxaN4n4RP0EfYZDODJyddiFDF44Hjwxr5xAcaYxVKm9QKQFJFLA==}
- engines: {node: ^18.18.0 || >=20.0.0}
+ '@types/eslint@9.6.1':
+ resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==}
+
+ '@types/eslint__js@8.42.3':
+ resolution: {integrity: sha512-alfG737uhmPdnvkrLdZLcEKJ/B8s9Y4hrZ+YAdzUeoArBlSUERA2E87ROfOaS4jd/C45fzOoZzidLc1IPwLqOw==}
+
+ '@types/estree@1.0.5':
+ resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
+
+ '@types/json-schema@7.0.15':
+ resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
+
+ '@typescript-eslint/eslint-plugin@8.3.0':
+ resolution: {integrity: sha512-FLAIn63G5KH+adZosDYiutqkOkYEx0nvcwNNfJAf+c7Ae/H35qWwTYvPZUKFj5AS+WfHG/WJJfWnDnyNUlp8UA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- '@typescript-eslint/parser': ^7.0.0
- eslint: ^8.56.0
+ '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0
+ eslint: ^8.57.0 || ^9.0.0
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
- '@typescript-eslint/parser@7.15.0':
- resolution: {integrity: sha512-k9fYuQNnypLFcqORNClRykkGOMOj+pV6V91R4GO/l1FDGwpqmSwoOQrOHo3cGaH63e+D3ZiCAOsuS/D2c99j/A==}
- engines: {node: ^18.18.0 || >=20.0.0}
+ '@typescript-eslint/parser@8.3.0':
+ resolution: {integrity: sha512-h53RhVyLu6AtpUzVCYLPhZGL5jzTD9fZL+SYf/+hYOx2bDkyQXztXSc4tbvKYHzfMXExMLiL9CWqJmVz6+78IQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- eslint: ^8.56.0
+ eslint: ^8.57.0 || ^9.0.0
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
- '@typescript-eslint/scope-manager@7.15.0':
- resolution: {integrity: sha512-Q/1yrF/XbxOTvttNVPihxh1b9fxamjEoz2Os/Pe38OHwxC24CyCqXxGTOdpb4lt6HYtqw9HetA/Rf6gDGaMPlw==}
- engines: {node: ^18.18.0 || >=20.0.0}
+ '@typescript-eslint/scope-manager@8.3.0':
+ resolution: {integrity: sha512-mz2X8WcN2nVu5Hodku+IR8GgCOl4C0G/Z1ruaWN4dgec64kDBabuXyPAr+/RgJtumv8EEkqIzf3X2U5DUKB2eg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/type-utils@7.15.0':
- resolution: {integrity: sha512-SkgriaeV6PDvpA6253PDVep0qCqgbO1IOBiycjnXsszNTVQe5flN5wR5jiczoEoDEnAqYFSFFc9al9BSGVltkg==}
- engines: {node: ^18.18.0 || >=20.0.0}
+ '@typescript-eslint/type-utils@8.3.0':
+ resolution: {integrity: sha512-wrV6qh//nLbfXZQoj32EXKmwHf4b7L+xXLrP3FZ0GOUU72gSvLjeWUl5J5Ue5IwRxIV1TfF73j/eaBapxx99Lg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- eslint: ^8.56.0
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
- '@typescript-eslint/types@7.15.0':
- resolution: {integrity: sha512-aV1+B1+ySXbQH0pLK0rx66I3IkiZNidYobyfn0WFsdGhSXw+P3YOqeTq5GED458SfB24tg+ux3S+9g118hjlTw==}
- engines: {node: ^18.18.0 || >=20.0.0}
+ '@typescript-eslint/types@8.3.0':
+ resolution: {integrity: sha512-y6sSEeK+facMaAyixM36dQ5NVXTnKWunfD1Ft4xraYqxP0lC0POJmIaL/mw72CUMqjY9qfyVfXafMeaUj0noWw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/typescript-estree@7.15.0':
- resolution: {integrity: sha512-gjyB/rHAopL/XxfmYThQbXbzRMGhZzGw6KpcMbfe8Q3nNQKStpxnUKeXb0KiN/fFDR42Z43szs6rY7eHk0zdGQ==}
- engines: {node: ^18.18.0 || >=20.0.0}
+ '@typescript-eslint/typescript-estree@8.3.0':
+ resolution: {integrity: sha512-Mq7FTHl0R36EmWlCJWojIC1qn/ZWo2YiWYc1XVtasJ7FIgjo0MVv9rZWXEE7IK2CGrtwe1dVOxWwqXUdNgfRCA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
- '@typescript-eslint/utils@7.15.0':
- resolution: {integrity: sha512-hfDMDqaqOqsUVGiEPSMLR/AjTSCsmJwjpKkYQRo1FNbmW4tBwBspYDwO9eh7sKSTwMQgBw9/T4DHudPaqshRWA==}
- engines: {node: ^18.18.0 || >=20.0.0}
+ '@typescript-eslint/utils@8.3.0':
+ resolution: {integrity: sha512-F77WwqxIi/qGkIGOGXNBLV7nykwfjLsdauRB/DOFPdv6LTF3BHHkBpq81/b5iMPSF055oO2BiivDJV4ChvNtXA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- eslint: ^8.56.0
+ eslint: ^8.57.0 || ^9.0.0
- '@typescript-eslint/visitor-keys@7.15.0':
- resolution: {integrity: sha512-Hqgy/ETgpt2L5xueA/zHHIl4fJI2O4XUE9l4+OIfbJIRSnTJb/QscncdqqZzofQegIJugRIF57OJea1khw2SDw==}
- engines: {node: ^18.18.0 || >=20.0.0}
-
- '@ungap/structured-clone@1.2.0':
- resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
+ '@typescript-eslint/visitor-keys@8.3.0':
+ resolution: {integrity: sha512-RmZwrTbQ9QveF15m/Cl28n0LXD6ea2CjkhH5rQ55ewz3H24w+AMCJHPVYaZ8/0HoG8Z3cLLFFycRXxeO2tz9FA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
acorn-jsx@5.3.2:
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
@@ -334,8 +348,8 @@ packages:
ajv@6.12.6:
resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
- ajv@8.16.0:
- resolution: {integrity: sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==}
+ ajv@8.17.1:
+ resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==}
ansi-regex@5.0.1:
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
@@ -437,8 +451,8 @@ packages:
engines: {node: '>=4'}
hasBin: true
- debug@4.3.5:
- resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==}
+ debug@4.3.6:
+ resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==}
engines: {node: '>=6.0'}
peerDependencies:
supports-color: '*'
@@ -453,10 +467,6 @@ packages:
resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
engines: {node: '>=8'}
- doctrine@3.0.0:
- resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
- engines: {node: '>=6.0.0'}
-
emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
@@ -467,8 +477,8 @@ packages:
error-ex@1.3.2:
resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
- esbuild@0.23.0:
- resolution: {integrity: sha512-1lvV17H2bMYda/WaFb2jLPeHU3zml2k4/yagNMG8Q/YtfMjCwEUZa2eXXMgZTVSL5q1n4H7sQ0X6CdJDqqeCFA==}
+ esbuild@0.23.1:
+ resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==}
engines: {node: '>=18'}
hasBin: true
@@ -480,25 +490,34 @@ packages:
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
engines: {node: '>=10'}
- eslint-scope@7.2.2:
- resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ eslint-scope@8.0.2:
+ resolution: {integrity: sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
eslint-visitor-keys@3.4.3:
resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- eslint@8.57.0:
- resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ eslint-visitor-keys@4.0.0:
+ resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ eslint@9.9.1:
+ resolution: {integrity: sha512-dHvhrbfr4xFQ9/dq+jcVneZMyRYLjggWjk6RVsIiHsP8Rz6yZ8LvZ//iU4TrZF+SXWG+JkNF2OyiZRvzgRDqMg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
hasBin: true
+ peerDependencies:
+ jiti: '*'
+ peerDependenciesMeta:
+ jiti:
+ optional: true
- espree@9.6.1:
- resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ espree@10.1.0:
+ resolution: {integrity: sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- esquery@1.5.0:
- resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
+ esquery@1.6.0:
+ resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
engines: {node: '>=0.10'}
esrecurse@4.3.0:
@@ -526,6 +545,9 @@ packages:
fast-levenshtein@2.0.6:
resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
+ fast-uri@3.0.1:
+ resolution: {integrity: sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==}
+
fastest-levenshtein@1.0.16:
resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==}
engines: {node: '>= 4.9.1'}
@@ -533,9 +555,9 @@ packages:
fastq@1.17.1:
resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
- file-entry-cache@6.0.1:
- resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
- engines: {node: ^10.12.0 || >=12.0.0}
+ file-entry-cache@8.0.0:
+ resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
+ engines: {node: '>=16.0.0'}
file-entry-cache@9.0.0:
resolution: {integrity: sha512-6MgEugi8p2tiUhqO7GnPsmbCCzj0YRCwwaTbpGRyKZesjRSzkqkAE9fPp7V2yMs5hwfgbQLgdvSSkGNg1s5Uvw==}
@@ -549,9 +571,9 @@ packages:
resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
engines: {node: '>=10'}
- flat-cache@3.2.0:
- resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
- engines: {node: ^10.12.0 || >=12.0.0}
+ flat-cache@4.0.1:
+ resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
+ engines: {node: '>=16'}
flat-cache@5.0.0:
resolution: {integrity: sha512-JrqFmyUl2PnPi1OvLyTVHnQvwQ0S+e6lGSwu8OkAZlSaNIZciTY2H/cOOROxsBA1m/LZNHDsqAgDZt6akWcjsQ==}
@@ -560,9 +582,6 @@ packages:
flatted@3.3.1:
resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
- fs.realpath@1.0.0:
- resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
-
glob-parent@5.1.2:
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
engines: {node: '>= 6'}
@@ -571,10 +590,6 @@ packages:
resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
engines: {node: '>=10.13.0'}
- glob@7.2.3:
- resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
- deprecated: Glob versions prior to v9 are no longer supported
-
global-modules@2.0.0:
resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==}
engines: {node: '>=6'}
@@ -583,9 +598,9 @@ packages:
resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==}
engines: {node: '>=6'}
- globals@13.24.0:
- resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
- engines: {node: '>=8'}
+ globals@14.0.0:
+ resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
+ engines: {node: '>=18'}
globby@11.1.0:
resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
@@ -609,8 +624,8 @@ packages:
resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==}
engines: {node: '>=8'}
- ignore@5.3.1:
- resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
+ ignore@5.3.2:
+ resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
engines: {node: '>= 4'}
import-fresh@3.3.0:
@@ -621,13 +636,6 @@ packages:
resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
engines: {node: '>=0.8.19'}
- inflight@1.0.6:
- resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
- deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
-
- inherits@2.0.4:
- resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
-
ini@1.3.8:
resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
@@ -690,8 +698,8 @@ packages:
resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
engines: {node: '>=0.10.0'}
- known-css-properties@0.31.0:
- resolution: {integrity: sha512-sBPIUGTNF0czz0mwGGUoKKJC8Q7On1GPbCSFPfyEsfHb2DyBG0Y4QtV+EVWpINSaiGKZblDNuF5AezxSgOhesQ==}
+ known-css-properties@0.34.0:
+ resolution: {integrity: sha512-tBECoUqNFbyAY4RrbqsBQqDFpGXAEbdD5QKr8kACx3+rnArmuuR22nKQWKazvp07N9yjTyDZaw/20UIH8tL9DQ==}
levn@0.4.1:
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
@@ -724,8 +732,8 @@ packages:
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
engines: {node: '>= 8'}
- micromatch@4.0.7:
- resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==}
+ micromatch@4.0.8:
+ resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
engines: {node: '>=8.6'}
minimatch@3.1.2:
@@ -750,9 +758,6 @@ packages:
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
engines: {node: '>=0.10.0'}
- once@1.4.0:
- resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
-
optionator@0.9.4:
resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
engines: {node: '>= 0.8.0'}
@@ -777,10 +782,6 @@ packages:
resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
engines: {node: '>=8'}
- path-is-absolute@1.0.1:
- resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
- engines: {node: '>=0.10.0'}
-
path-key@3.1.1:
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
engines: {node: '>=8'}
@@ -796,8 +797,8 @@ packages:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
engines: {node: '>=8.6'}
- postcss-resolve-nested-selector@0.1.1:
- resolution: {integrity: sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==}
+ postcss-resolve-nested-selector@0.1.6:
+ resolution: {integrity: sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==}
postcss-safe-parser@7.0.0:
resolution: {integrity: sha512-ovehqRNVCpuFzbXoTb4qLtyzK3xn3t/CUBxOs8LsnQjQrShaB4lKiHoVqY8ANaC0hBMHq5QVWk77rwGklFUDrg==}
@@ -805,23 +806,23 @@ packages:
peerDependencies:
postcss: ^8.4.31
- postcss-selector-parser@6.1.0:
- resolution: {integrity: sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==}
+ postcss-selector-parser@6.1.2:
+ resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
engines: {node: '>=4'}
postcss-value-parser@4.2.0:
resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
- postcss@8.4.39:
- resolution: {integrity: sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==}
+ postcss@8.4.41:
+ resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==}
engines: {node: ^10 || ^12 || >=14}
prelude-ls@1.2.1:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
- prettier@3.3.2:
- resolution: {integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==}
+ prettier@3.3.3:
+ resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==}
engines: {node: '>=14'}
hasBin: true
@@ -848,16 +849,11 @@ packages:
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
- rimraf@3.0.2:
- resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
- deprecated: Rimraf versions prior to v4 are no longer supported
- hasBin: true
-
run-parallel@1.2.0:
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
- semver@7.6.2:
- resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==}
+ semver@7.6.3:
+ resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==}
engines: {node: '>=10'}
hasBin: true
@@ -913,8 +909,8 @@ packages:
peerDependencies:
stylelint: ^16.1.0
- stylelint@16.6.1:
- resolution: {integrity: sha512-yNgz2PqWLkhH2hw6X9AweV9YvoafbAD5ZsFdKN9BvSDVwGvPh+AUIrn7lYwy1S7IHmtFin75LLfX1m0D2tHu8Q==}
+ stylelint@16.8.2:
+ resolution: {integrity: sha512-fInKATippQhcSm7AB+T32GpI+626yohrg33GkFT/5jzliUw5qhlwZq2UQQwgl3HsHrf09oeARi0ZwgY/UWEv9A==}
engines: {node: '>=18.12.0'}
hasBin: true
@@ -926,8 +922,8 @@ packages:
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
engines: {node: '>=8'}
- supports-hyperlinks@3.0.0:
- resolution: {integrity: sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==}
+ supports-hyperlinks@3.1.0:
+ resolution: {integrity: sha512-2rn0BZ+/f7puLOHZm1HOJfwBggfaHXUpPUSSG/SWM4TWp5KCfmNYwnC3hruy2rZlMnmWZ+QAGpZfchu3f3695A==}
engines: {node: '>=14.18'}
svg-tags@1.0.0:
@@ -954,12 +950,17 @@ packages:
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
engines: {node: '>= 0.8.0'}
- type-fest@0.20.2:
- resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
- engines: {node: '>=10'}
+ typescript-eslint@8.3.0:
+ resolution: {integrity: sha512-EvWjwWLwwKDIJuBjk2I6UkV8KEQcwZ0VM10nR1rIunRDIP67QJTZAHBXTX0HW/oI1H10YESF8yWie8fRQxjvFA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
- typescript@5.5.3:
- resolution: {integrity: sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==}
+ typescript@5.5.4:
+ resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==}
engines: {node: '>=14.17'}
hasBin: true
@@ -982,9 +983,6 @@ packages:
resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
engines: {node: '>=0.10.0'}
- wrappy@1.0.2:
- resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
-
write-file-atomic@5.0.1:
resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
@@ -1009,109 +1007,117 @@ snapshots:
js-tokens: 4.0.0
picocolors: 1.0.1
- '@csstools/css-parser-algorithms@2.7.1(@csstools/css-tokenizer@2.4.1)':
+ '@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1)':
dependencies:
- '@csstools/css-tokenizer': 2.4.1
+ '@csstools/css-tokenizer': 3.0.1
- '@csstools/css-tokenizer@2.4.1': {}
+ '@csstools/css-tokenizer@3.0.1': {}
- '@csstools/media-query-list-parser@2.1.13(@csstools/css-parser-algorithms@2.7.1(@csstools/css-tokenizer@2.4.1))(@csstools/css-tokenizer@2.4.1)':
+ '@csstools/media-query-list-parser@3.0.1(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1)':
dependencies:
- '@csstools/css-parser-algorithms': 2.7.1(@csstools/css-tokenizer@2.4.1)
- '@csstools/css-tokenizer': 2.4.1
+ '@csstools/css-parser-algorithms': 3.0.1(@csstools/css-tokenizer@3.0.1)
+ '@csstools/css-tokenizer': 3.0.1
- '@csstools/selector-specificity@3.1.1(postcss-selector-parser@6.1.0)':
+ '@csstools/selector-specificity@4.0.0(postcss-selector-parser@6.1.2)':
dependencies:
- postcss-selector-parser: 6.1.0
+ postcss-selector-parser: 6.1.2
'@dual-bundle/import-meta-resolve@4.1.0': {}
- '@esbuild/aix-ppc64@0.23.0':
+ '@esbuild/aix-ppc64@0.23.1':
optional: true
- '@esbuild/android-arm64@0.23.0':
+ '@esbuild/android-arm64@0.23.1':
optional: true
- '@esbuild/android-arm@0.23.0':
+ '@esbuild/android-arm@0.23.1':
optional: true
- '@esbuild/android-x64@0.23.0':
+ '@esbuild/android-x64@0.23.1':
optional: true
- '@esbuild/darwin-arm64@0.23.0':
+ '@esbuild/darwin-arm64@0.23.1':
optional: true
- '@esbuild/darwin-x64@0.23.0':
+ '@esbuild/darwin-x64@0.23.1':
optional: true
- '@esbuild/freebsd-arm64@0.23.0':
+ '@esbuild/freebsd-arm64@0.23.1':
optional: true
- '@esbuild/freebsd-x64@0.23.0':
+ '@esbuild/freebsd-x64@0.23.1':
optional: true
- '@esbuild/linux-arm64@0.23.0':
+ '@esbuild/linux-arm64@0.23.1':
optional: true
- '@esbuild/linux-arm@0.23.0':
+ '@esbuild/linux-arm@0.23.1':
optional: true
- '@esbuild/linux-ia32@0.23.0':
+ '@esbuild/linux-ia32@0.23.1':
optional: true
- '@esbuild/linux-loong64@0.23.0':
+ '@esbuild/linux-loong64@0.23.1':
optional: true
- '@esbuild/linux-mips64el@0.23.0':
+ '@esbuild/linux-mips64el@0.23.1':
optional: true
- '@esbuild/linux-ppc64@0.23.0':
+ '@esbuild/linux-ppc64@0.23.1':
optional: true
- '@esbuild/linux-riscv64@0.23.0':
+ '@esbuild/linux-riscv64@0.23.1':
optional: true
- '@esbuild/linux-s390x@0.23.0':
+ '@esbuild/linux-s390x@0.23.1':
optional: true
- '@esbuild/linux-x64@0.23.0':
+ '@esbuild/linux-x64@0.23.1':
optional: true
- '@esbuild/netbsd-x64@0.23.0':
+ '@esbuild/netbsd-x64@0.23.1':
optional: true
- '@esbuild/openbsd-arm64@0.23.0':
+ '@esbuild/openbsd-arm64@0.23.1':
optional: true
- '@esbuild/openbsd-x64@0.23.0':
+ '@esbuild/openbsd-x64@0.23.1':
optional: true
- '@esbuild/sunos-x64@0.23.0':
+ '@esbuild/sunos-x64@0.23.1':
optional: true
- '@esbuild/win32-arm64@0.23.0':
+ '@esbuild/win32-arm64@0.23.1':
optional: true
- '@esbuild/win32-ia32@0.23.0':
+ '@esbuild/win32-ia32@0.23.1':
optional: true
- '@esbuild/win32-x64@0.23.0':
+ '@esbuild/win32-x64@0.23.1':
optional: true
- '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)':
+ '@eslint-community/eslint-utils@4.4.0(eslint@9.9.1)':
dependencies:
- eslint: 8.57.0
+ eslint: 9.9.1
eslint-visitor-keys: 3.4.3
'@eslint-community/regexpp@4.11.0': {}
- '@eslint/eslintrc@2.1.4':
+ '@eslint/config-array@0.18.0':
+ dependencies:
+ '@eslint/object-schema': 2.1.4
+ debug: 4.3.6
+ minimatch: 3.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ '@eslint/eslintrc@3.1.0':
dependencies:
ajv: 6.12.6
- debug: 4.3.5
- espree: 9.6.1
- globals: 13.24.0
- ignore: 5.3.1
+ debug: 4.3.6
+ espree: 10.1.0
+ globals: 14.0.0
+ ignore: 5.3.2
import-fresh: 3.3.0
js-yaml: 4.1.0
minimatch: 3.1.2
@@ -1119,19 +1125,13 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@eslint/js@8.57.0': {}
+ '@eslint/js@9.9.1': {}
- '@humanwhocodes/config-array@0.11.14':
- dependencies:
- '@humanwhocodes/object-schema': 2.0.3
- debug: 4.3.5
- minimatch: 3.1.2
- transitivePeerDependencies:
- - supports-color
+ '@eslint/object-schema@2.1.4': {}
'@humanwhocodes/module-importer@1.0.1': {}
- '@humanwhocodes/object-schema@2.0.3': {}
+ '@humanwhocodes/retry@0.3.0': {}
'@nodelib/fs.scandir@2.1.5':
dependencies:
@@ -1145,89 +1145,100 @@ snapshots:
'@nodelib/fs.scandir': 2.1.5
fastq: 1.17.1
- '@typescript-eslint/eslint-plugin@7.15.0(@typescript-eslint/parser@7.15.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3)':
+ '@types/eslint@9.6.1':
+ dependencies:
+ '@types/estree': 1.0.5
+ '@types/json-schema': 7.0.15
+
+ '@types/eslint__js@8.42.3':
+ dependencies:
+ '@types/eslint': 9.6.1
+
+ '@types/estree@1.0.5': {}
+
+ '@types/json-schema@7.0.15': {}
+
+ '@typescript-eslint/eslint-plugin@8.3.0(@typescript-eslint/parser@8.3.0(eslint@9.9.1)(typescript@5.5.4))(eslint@9.9.1)(typescript@5.5.4)':
dependencies:
'@eslint-community/regexpp': 4.11.0
- '@typescript-eslint/parser': 7.15.0(eslint@8.57.0)(typescript@5.5.3)
- '@typescript-eslint/scope-manager': 7.15.0
- '@typescript-eslint/type-utils': 7.15.0(eslint@8.57.0)(typescript@5.5.3)
- '@typescript-eslint/utils': 7.15.0(eslint@8.57.0)(typescript@5.5.3)
- '@typescript-eslint/visitor-keys': 7.15.0
- eslint: 8.57.0
+ '@typescript-eslint/parser': 8.3.0(eslint@9.9.1)(typescript@5.5.4)
+ '@typescript-eslint/scope-manager': 8.3.0
+ '@typescript-eslint/type-utils': 8.3.0(eslint@9.9.1)(typescript@5.5.4)
+ '@typescript-eslint/utils': 8.3.0(eslint@9.9.1)(typescript@5.5.4)
+ '@typescript-eslint/visitor-keys': 8.3.0
+ eslint: 9.9.1
graphemer: 1.4.0
- ignore: 5.3.1
+ ignore: 5.3.2
natural-compare: 1.4.0
- ts-api-utils: 1.3.0(typescript@5.5.3)
+ ts-api-utils: 1.3.0(typescript@5.5.4)
optionalDependencies:
- typescript: 5.5.3
+ typescript: 5.5.4
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@7.15.0(eslint@8.57.0)(typescript@5.5.3)':
+ '@typescript-eslint/parser@8.3.0(eslint@9.9.1)(typescript@5.5.4)':
dependencies:
- '@typescript-eslint/scope-manager': 7.15.0
- '@typescript-eslint/types': 7.15.0
- '@typescript-eslint/typescript-estree': 7.15.0(typescript@5.5.3)
- '@typescript-eslint/visitor-keys': 7.15.0
- debug: 4.3.5
- eslint: 8.57.0
+ '@typescript-eslint/scope-manager': 8.3.0
+ '@typescript-eslint/types': 8.3.0
+ '@typescript-eslint/typescript-estree': 8.3.0(typescript@5.5.4)
+ '@typescript-eslint/visitor-keys': 8.3.0
+ debug: 4.3.6
+ eslint: 9.9.1
optionalDependencies:
- typescript: 5.5.3
+ typescript: 5.5.4
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/scope-manager@7.15.0':
+ '@typescript-eslint/scope-manager@8.3.0':
dependencies:
- '@typescript-eslint/types': 7.15.0
- '@typescript-eslint/visitor-keys': 7.15.0
+ '@typescript-eslint/types': 8.3.0
+ '@typescript-eslint/visitor-keys': 8.3.0
- '@typescript-eslint/type-utils@7.15.0(eslint@8.57.0)(typescript@5.5.3)':
+ '@typescript-eslint/type-utils@8.3.0(eslint@9.9.1)(typescript@5.5.4)':
dependencies:
- '@typescript-eslint/typescript-estree': 7.15.0(typescript@5.5.3)
- '@typescript-eslint/utils': 7.15.0(eslint@8.57.0)(typescript@5.5.3)
- debug: 4.3.5
- eslint: 8.57.0
- ts-api-utils: 1.3.0(typescript@5.5.3)
+ '@typescript-eslint/typescript-estree': 8.3.0(typescript@5.5.4)
+ '@typescript-eslint/utils': 8.3.0(eslint@9.9.1)(typescript@5.5.4)
+ debug: 4.3.6
+ ts-api-utils: 1.3.0(typescript@5.5.4)
optionalDependencies:
- typescript: 5.5.3
+ typescript: 5.5.4
transitivePeerDependencies:
+ - eslint
- supports-color
- '@typescript-eslint/types@7.15.0': {}
+ '@typescript-eslint/types@8.3.0': {}
- '@typescript-eslint/typescript-estree@7.15.0(typescript@5.5.3)':
+ '@typescript-eslint/typescript-estree@8.3.0(typescript@5.5.4)':
dependencies:
- '@typescript-eslint/types': 7.15.0
- '@typescript-eslint/visitor-keys': 7.15.0
- debug: 4.3.5
- globby: 11.1.0
+ '@typescript-eslint/types': 8.3.0
+ '@typescript-eslint/visitor-keys': 8.3.0
+ debug: 4.3.6
+ fast-glob: 3.3.2
is-glob: 4.0.3
minimatch: 9.0.5
- semver: 7.6.2
- ts-api-utils: 1.3.0(typescript@5.5.3)
+ semver: 7.6.3
+ ts-api-utils: 1.3.0(typescript@5.5.4)
optionalDependencies:
- typescript: 5.5.3
+ typescript: 5.5.4
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@7.15.0(eslint@8.57.0)(typescript@5.5.3)':
+ '@typescript-eslint/utils@8.3.0(eslint@9.9.1)(typescript@5.5.4)':
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
- '@typescript-eslint/scope-manager': 7.15.0
- '@typescript-eslint/types': 7.15.0
- '@typescript-eslint/typescript-estree': 7.15.0(typescript@5.5.3)
- eslint: 8.57.0
+ '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.1)
+ '@typescript-eslint/scope-manager': 8.3.0
+ '@typescript-eslint/types': 8.3.0
+ '@typescript-eslint/typescript-estree': 8.3.0(typescript@5.5.4)
+ eslint: 9.9.1
transitivePeerDependencies:
- supports-color
- typescript
- '@typescript-eslint/visitor-keys@7.15.0':
+ '@typescript-eslint/visitor-keys@8.3.0':
dependencies:
- '@typescript-eslint/types': 7.15.0
+ '@typescript-eslint/types': 8.3.0
eslint-visitor-keys: 3.4.3
- '@ungap/structured-clone@1.2.0': {}
-
acorn-jsx@5.3.2(acorn@8.12.1):
dependencies:
acorn: 8.12.1
@@ -1241,12 +1252,12 @@ snapshots:
json-schema-traverse: 0.4.1
uri-js: 4.4.1
- ajv@8.16.0:
+ ajv@8.17.1:
dependencies:
fast-deep-equal: 3.1.3
+ fast-uri: 3.0.1
json-schema-traverse: 1.0.0
require-from-string: 2.0.2
- uri-js: 4.4.1
ansi-regex@5.0.1: {}
@@ -1312,14 +1323,14 @@ snapshots:
concat-map@0.0.1: {}
- cosmiconfig@9.0.0(typescript@5.5.3):
+ cosmiconfig@9.0.0(typescript@5.5.4):
dependencies:
env-paths: 2.2.1
import-fresh: 3.3.0
js-yaml: 4.1.0
parse-json: 5.2.0
optionalDependencies:
- typescript: 5.5.3
+ typescript: 5.5.4
cross-spawn@7.0.3:
dependencies:
@@ -1336,7 +1347,7 @@ snapshots:
cssesc@3.0.0: {}
- debug@4.3.5:
+ debug@4.3.6:
dependencies:
ms: 2.1.2
@@ -1346,10 +1357,6 @@ snapshots:
dependencies:
path-type: 4.0.0
- doctrine@3.0.0:
- dependencies:
- esutils: 2.0.3
-
emoji-regex@8.0.0: {}
env-paths@2.2.1: {}
@@ -1358,76 +1365,74 @@ snapshots:
dependencies:
is-arrayish: 0.2.1
- esbuild@0.23.0:
+ esbuild@0.23.1:
optionalDependencies:
- '@esbuild/aix-ppc64': 0.23.0
- '@esbuild/android-arm': 0.23.0
- '@esbuild/android-arm64': 0.23.0
- '@esbuild/android-x64': 0.23.0
- '@esbuild/darwin-arm64': 0.23.0
- '@esbuild/darwin-x64': 0.23.0
- '@esbuild/freebsd-arm64': 0.23.0
- '@esbuild/freebsd-x64': 0.23.0
- '@esbuild/linux-arm': 0.23.0
- '@esbuild/linux-arm64': 0.23.0
- '@esbuild/linux-ia32': 0.23.0
- '@esbuild/linux-loong64': 0.23.0
- '@esbuild/linux-mips64el': 0.23.0
- '@esbuild/linux-ppc64': 0.23.0
- '@esbuild/linux-riscv64': 0.23.0
- '@esbuild/linux-s390x': 0.23.0
- '@esbuild/linux-x64': 0.23.0
- '@esbuild/netbsd-x64': 0.23.0
- '@esbuild/openbsd-arm64': 0.23.0
- '@esbuild/openbsd-x64': 0.23.0
- '@esbuild/sunos-x64': 0.23.0
- '@esbuild/win32-arm64': 0.23.0
- '@esbuild/win32-ia32': 0.23.0
- '@esbuild/win32-x64': 0.23.0
+ '@esbuild/aix-ppc64': 0.23.1
+ '@esbuild/android-arm': 0.23.1
+ '@esbuild/android-arm64': 0.23.1
+ '@esbuild/android-x64': 0.23.1
+ '@esbuild/darwin-arm64': 0.23.1
+ '@esbuild/darwin-x64': 0.23.1
+ '@esbuild/freebsd-arm64': 0.23.1
+ '@esbuild/freebsd-x64': 0.23.1
+ '@esbuild/linux-arm': 0.23.1
+ '@esbuild/linux-arm64': 0.23.1
+ '@esbuild/linux-ia32': 0.23.1
+ '@esbuild/linux-loong64': 0.23.1
+ '@esbuild/linux-mips64el': 0.23.1
+ '@esbuild/linux-ppc64': 0.23.1
+ '@esbuild/linux-riscv64': 0.23.1
+ '@esbuild/linux-s390x': 0.23.1
+ '@esbuild/linux-x64': 0.23.1
+ '@esbuild/netbsd-x64': 0.23.1
+ '@esbuild/openbsd-arm64': 0.23.1
+ '@esbuild/openbsd-x64': 0.23.1
+ '@esbuild/sunos-x64': 0.23.1
+ '@esbuild/win32-arm64': 0.23.1
+ '@esbuild/win32-ia32': 0.23.1
+ '@esbuild/win32-x64': 0.23.1
escape-string-regexp@1.0.5: {}
escape-string-regexp@4.0.0: {}
- eslint-scope@7.2.2:
+ eslint-scope@8.0.2:
dependencies:
esrecurse: 4.3.0
estraverse: 5.3.0
eslint-visitor-keys@3.4.3: {}
- eslint@8.57.0:
+ eslint-visitor-keys@4.0.0: {}
+
+ eslint@9.9.1:
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
+ '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.1)
'@eslint-community/regexpp': 4.11.0
- '@eslint/eslintrc': 2.1.4
- '@eslint/js': 8.57.0
- '@humanwhocodes/config-array': 0.11.14
+ '@eslint/config-array': 0.18.0
+ '@eslint/eslintrc': 3.1.0
+ '@eslint/js': 9.9.1
'@humanwhocodes/module-importer': 1.0.1
+ '@humanwhocodes/retry': 0.3.0
'@nodelib/fs.walk': 1.2.8
- '@ungap/structured-clone': 1.2.0
ajv: 6.12.6
chalk: 4.1.2
cross-spawn: 7.0.3
- debug: 4.3.5
- doctrine: 3.0.0
+ debug: 4.3.6
escape-string-regexp: 4.0.0
- eslint-scope: 7.2.2
- eslint-visitor-keys: 3.4.3
- espree: 9.6.1
- esquery: 1.5.0
+ eslint-scope: 8.0.2
+ eslint-visitor-keys: 4.0.0
+ espree: 10.1.0
+ esquery: 1.6.0
esutils: 2.0.3
fast-deep-equal: 3.1.3
- file-entry-cache: 6.0.1
+ file-entry-cache: 8.0.0
find-up: 5.0.0
glob-parent: 6.0.2
- globals: 13.24.0
- graphemer: 1.4.0
- ignore: 5.3.1
+ ignore: 5.3.2
imurmurhash: 0.1.4
is-glob: 4.0.3
is-path-inside: 3.0.3
- js-yaml: 4.1.0
json-stable-stringify-without-jsonify: 1.0.1
levn: 0.4.1
lodash.merge: 4.6.2
@@ -1439,13 +1444,13 @@ snapshots:
transitivePeerDependencies:
- supports-color
- espree@9.6.1:
+ espree@10.1.0:
dependencies:
acorn: 8.12.1
acorn-jsx: 5.3.2(acorn@8.12.1)
- eslint-visitor-keys: 3.4.3
+ eslint-visitor-keys: 4.0.0
- esquery@1.5.0:
+ esquery@1.6.0:
dependencies:
estraverse: 5.3.0
@@ -1465,21 +1470,23 @@ snapshots:
'@nodelib/fs.walk': 1.2.8
glob-parent: 5.1.2
merge2: 1.4.1
- micromatch: 4.0.7
+ micromatch: 4.0.8
fast-json-stable-stringify@2.1.0: {}
fast-levenshtein@2.0.6: {}
+ fast-uri@3.0.1: {}
+
fastest-levenshtein@1.0.16: {}
fastq@1.17.1:
dependencies:
reusify: 1.0.4
- file-entry-cache@6.0.1:
+ file-entry-cache@8.0.0:
dependencies:
- flat-cache: 3.2.0
+ flat-cache: 4.0.1
file-entry-cache@9.0.0:
dependencies:
@@ -1494,11 +1501,10 @@ snapshots:
locate-path: 6.0.0
path-exists: 4.0.0
- flat-cache@3.2.0:
+ flat-cache@4.0.1:
dependencies:
flatted: 3.3.1
keyv: 4.5.4
- rimraf: 3.0.2
flat-cache@5.0.0:
dependencies:
@@ -1507,8 +1513,6 @@ snapshots:
flatted@3.3.1: {}
- fs.realpath@1.0.0: {}
-
glob-parent@5.1.2:
dependencies:
is-glob: 4.0.3
@@ -1517,15 +1521,6 @@ snapshots:
dependencies:
is-glob: 4.0.3
- glob@7.2.3:
- dependencies:
- fs.realpath: 1.0.0
- inflight: 1.0.6
- inherits: 2.0.4
- minimatch: 3.1.2
- once: 1.4.0
- path-is-absolute: 1.0.1
-
global-modules@2.0.0:
dependencies:
global-prefix: 3.0.0
@@ -1536,16 +1531,14 @@ snapshots:
kind-of: 6.0.3
which: 1.3.1
- globals@13.24.0:
- dependencies:
- type-fest: 0.20.2
+ globals@14.0.0: {}
globby@11.1.0:
dependencies:
array-union: 2.1.0
dir-glob: 3.0.1
fast-glob: 3.3.2
- ignore: 5.3.1
+ ignore: 5.3.2
merge2: 1.4.1
slash: 3.0.0
@@ -1559,7 +1552,7 @@ snapshots:
html-tags@3.3.1: {}
- ignore@5.3.1: {}
+ ignore@5.3.2: {}
import-fresh@3.3.0:
dependencies:
@@ -1568,13 +1561,6 @@ snapshots:
imurmurhash@0.1.4: {}
- inflight@1.0.6:
- dependencies:
- once: 1.4.0
- wrappy: 1.0.2
-
- inherits@2.0.4: {}
-
ini@1.3.8: {}
is-arrayish@0.2.1: {}
@@ -1617,7 +1603,7 @@ snapshots:
kind-of@6.0.3: {}
- known-css-properties@0.31.0: {}
+ known-css-properties@0.34.0: {}
levn@0.4.1:
dependencies:
@@ -1642,7 +1628,7 @@ snapshots:
merge2@1.4.1: {}
- micromatch@4.0.7:
+ micromatch@4.0.8:
dependencies:
braces: 3.0.3
picomatch: 2.3.1
@@ -1663,10 +1649,6 @@ snapshots:
normalize-path@3.0.0: {}
- once@1.4.0:
- dependencies:
- wrappy: 1.0.2
-
optionator@0.9.4:
dependencies:
deep-is: 0.1.4
@@ -1697,8 +1679,6 @@ snapshots:
path-exists@4.0.0: {}
- path-is-absolute@1.0.1: {}
-
path-key@3.1.1: {}
path-type@4.0.0: {}
@@ -1707,20 +1687,20 @@ snapshots:
picomatch@2.3.1: {}
- postcss-resolve-nested-selector@0.1.1: {}
+ postcss-resolve-nested-selector@0.1.6: {}
- postcss-safe-parser@7.0.0(postcss@8.4.39):
+ postcss-safe-parser@7.0.0(postcss@8.4.41):
dependencies:
- postcss: 8.4.39
+ postcss: 8.4.41
- postcss-selector-parser@6.1.0:
+ postcss-selector-parser@6.1.2:
dependencies:
cssesc: 3.0.0
util-deprecate: 1.0.2
postcss-value-parser@4.2.0: {}
- postcss@8.4.39:
+ postcss@8.4.41:
dependencies:
nanoid: 3.3.7
picocolors: 1.0.1
@@ -1728,7 +1708,7 @@ snapshots:
prelude-ls@1.2.1: {}
- prettier@3.3.2: {}
+ prettier@3.3.3: {}
punycode@2.3.1: {}
@@ -1742,15 +1722,11 @@ snapshots:
reusify@1.0.4: {}
- rimraf@3.0.2:
- dependencies:
- glob: 7.2.3
-
run-parallel@1.2.0:
dependencies:
queue-microtask: 1.2.3
- semver@7.6.2: {}
+ semver@7.6.3: {}
shebang-command@2.0.0:
dependencies:
@@ -1786,28 +1762,28 @@ snapshots:
strip-json-comments@3.1.1: {}
- stylelint-config-recommended@14.0.1(stylelint@16.6.1(typescript@5.5.3)):
+ stylelint-config-recommended@14.0.1(stylelint@16.8.2(typescript@5.5.4)):
dependencies:
- stylelint: 16.6.1(typescript@5.5.3)
+ stylelint: 16.8.2(typescript@5.5.4)
- stylelint-config-standard@36.0.1(stylelint@16.6.1(typescript@5.5.3)):
+ stylelint-config-standard@36.0.1(stylelint@16.8.2(typescript@5.5.4)):
dependencies:
- stylelint: 16.6.1(typescript@5.5.3)
- stylelint-config-recommended: 14.0.1(stylelint@16.6.1(typescript@5.5.3))
+ stylelint: 16.8.2(typescript@5.5.4)
+ stylelint-config-recommended: 14.0.1(stylelint@16.8.2(typescript@5.5.4))
- stylelint@16.6.1(typescript@5.5.3):
+ stylelint@16.8.2(typescript@5.5.4):
dependencies:
- '@csstools/css-parser-algorithms': 2.7.1(@csstools/css-tokenizer@2.4.1)
- '@csstools/css-tokenizer': 2.4.1
- '@csstools/media-query-list-parser': 2.1.13(@csstools/css-parser-algorithms@2.7.1(@csstools/css-tokenizer@2.4.1))(@csstools/css-tokenizer@2.4.1)
- '@csstools/selector-specificity': 3.1.1(postcss-selector-parser@6.1.0)
+ '@csstools/css-parser-algorithms': 3.0.1(@csstools/css-tokenizer@3.0.1)
+ '@csstools/css-tokenizer': 3.0.1
+ '@csstools/media-query-list-parser': 3.0.1(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1)
+ '@csstools/selector-specificity': 4.0.0(postcss-selector-parser@6.1.2)
'@dual-bundle/import-meta-resolve': 4.1.0
balanced-match: 2.0.0
colord: 2.9.3
- cosmiconfig: 9.0.0(typescript@5.5.3)
+ cosmiconfig: 9.0.0(typescript@5.5.4)
css-functions-list: 3.2.2
css-tree: 2.3.1
- debug: 4.3.5
+ debug: 4.3.6
fast-glob: 3.3.2
fastest-levenshtein: 1.0.16
file-entry-cache: 9.0.0
@@ -1815,24 +1791,24 @@ snapshots:
globby: 11.1.0
globjoin: 0.1.4
html-tags: 3.3.1
- ignore: 5.3.1
+ ignore: 5.3.2
imurmurhash: 0.1.4
is-plain-object: 5.0.0
- known-css-properties: 0.31.0
+ known-css-properties: 0.34.0
mathml-tag-names: 2.1.3
meow: 13.2.0
- micromatch: 4.0.7
+ micromatch: 4.0.8
normalize-path: 3.0.0
picocolors: 1.0.1
- postcss: 8.4.39
- postcss-resolve-nested-selector: 0.1.1
- postcss-safe-parser: 7.0.0(postcss@8.4.39)
- postcss-selector-parser: 6.1.0
+ postcss: 8.4.41
+ postcss-resolve-nested-selector: 0.1.6
+ postcss-safe-parser: 7.0.0(postcss@8.4.41)
+ postcss-selector-parser: 6.1.2
postcss-value-parser: 4.2.0
resolve-from: 5.0.0
string-width: 4.2.3
strip-ansi: 7.1.0
- supports-hyperlinks: 3.0.0
+ supports-hyperlinks: 3.1.0
svg-tags: 1.0.0
table: 6.8.2
write-file-atomic: 5.0.1
@@ -1848,7 +1824,7 @@ snapshots:
dependencies:
has-flag: 4.0.0
- supports-hyperlinks@3.0.0:
+ supports-hyperlinks@3.1.0:
dependencies:
has-flag: 4.0.0
supports-color: 7.2.0
@@ -1857,7 +1833,7 @@ snapshots:
table@6.8.2:
dependencies:
- ajv: 8.16.0
+ ajv: 8.17.1
lodash.truncate: 4.4.2
slice-ansi: 4.0.0
string-width: 4.2.3
@@ -1869,17 +1845,26 @@ snapshots:
dependencies:
is-number: 7.0.0
- ts-api-utils@1.3.0(typescript@5.5.3):
+ ts-api-utils@1.3.0(typescript@5.5.4):
dependencies:
- typescript: 5.5.3
+ typescript: 5.5.4
type-check@0.4.0:
dependencies:
prelude-ls: 1.2.1
- type-fest@0.20.2: {}
+ typescript-eslint@8.3.0(eslint@9.9.1)(typescript@5.5.4):
+ dependencies:
+ '@typescript-eslint/eslint-plugin': 8.3.0(@typescript-eslint/parser@8.3.0(eslint@9.9.1)(typescript@5.5.4))(eslint@9.9.1)(typescript@5.5.4)
+ '@typescript-eslint/parser': 8.3.0(eslint@9.9.1)(typescript@5.5.4)
+ '@typescript-eslint/utils': 8.3.0(eslint@9.9.1)(typescript@5.5.4)
+ optionalDependencies:
+ typescript: 5.5.4
+ transitivePeerDependencies:
+ - eslint
+ - supports-color
- typescript@5.5.3: {}
+ typescript@5.5.4: {}
uri-js@4.4.1:
dependencies:
@@ -1897,8 +1882,6 @@ snapshots:
word-wrap@1.2.5: {}
- wrappy@1.0.2: {}
-
write-file-atomic@5.0.1:
dependencies:
imurmurhash: 0.1.4
diff --git a/sw.js b/sw.js
index 349b91a..5e8f3cb 100644
--- a/sw.js
+++ b/sw.js
@@ -1,2 +1,2 @@
-if(!self.define){let e,s={};const i=(i,r)=>(i=new URL(i+".js",r).href,s[i]||new Promise((s=>{if("document"in self){const e=document.createElement("script");e.src=i,e.onload=s,document.head.appendChild(e)}else e=i,importScripts(i),s()})).then((()=>{let e=s[i];if(!e)throw new Error(`Module ${i} didn’t register its module`);return e})));self.define=(r,c)=>{const n=e||("document"in self?document.currentScript.src:"")||location.href;if(s[n])return;let a={};const o=e=>i(e,n),d={module:{uri:n},exports:a,require:o};s[n]=Promise.all(r.map((e=>d[e]||o(e)))).then((e=>(c(...e),a)))}}define(["./workbox-edadad33"],(function(e){"use strict";self.addEventListener("message",(e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()})),e.precacheAndRoute([{url:"404.html",revision:"8d70c898a27e22811e126259085e0115"},{url:"css/bootstrap.min.css",revision:"e451b87914db6243b6afa3c5e484ec16"},{url:"css/styles-ime.css",revision:"3a729975204293c9f2ea39593a9a12cc"},{url:"css/styles-main.css",revision:"2da08eab60a20f3c591cccf0638205a6"},{url:"css/styles-shared.css",revision:"943aae4a88c5dabc8f00e7ec840bdacf"},{url:"css/styles-table.css",revision:"94da60280947939c61c2249cafe8552f"},{url:"ime/index.html",revision:"4847eec1c969ff0238a0c3f829be9f7c"},{url:"ime/index.min.js",revision:"f078b4cc04460a778729884d45b29b10"},{url:"ime/registerSW.js",revision:"014e730f93650d140e7c8b0d568d6a87"},{url:"img/apple-touch-icon.png",revision:"bd041186b20fe2f084dc15b255097dda"},{url:"img/icon-192.png",revision:"e395941e4114071adaa6b1a5ad1a2a08"},{url:"img/icon-512.png",revision:"13150e41d1f52f224a046f1d4b444099"},{url:"img/icon.svg",revision:"2f2e3f12531bf600c7b1a8a507dbcef1"},{url:"index.html",revision:"f9fa3c45da58a235628fd29703b570a1"},{url:"js/bootstrap.bundle.min.js",revision:"715756e65b9ff107f4cf927e3e8bbf76"},{url:"js/index.min.js",revision:"e4397fcda049c5901ec4383599496d87"},{url:"js/registerSW.js",revision:"403035ad56ee65583062726f12f55a08"},{url:"table/index.html",revision:"7e3809554c6faa52fe5d9a7bd612f61e"},{url:"table/registerSW.js",revision:"014e730f93650d140e7c8b0d568d6a87"}],{ignoreURLParametersMatching:[/^utm_/,/^fbclid$/]})}));
+if(!self.define){let e,i={};const s=(s,c)=>(s=new URL(s+".js",c).href,i[s]||new Promise((i=>{if("document"in self){const e=document.createElement("script");e.src=s,e.onload=i,document.head.appendChild(e)}else e=s,importScripts(s),i()})).then((()=>{let e=i[s];if(!e)throw new Error(`Module ${s} didn’t register its module`);return e})));self.define=(c,r)=>{const n=e||("document"in self?document.currentScript.src:"")||location.href;if(i[n])return;let a={};const d=e=>s(e,n),f={module:{uri:n},exports:a,require:d};i[n]=Promise.all(c.map((e=>f[e]||d(e)))).then((e=>(r(...e),a)))}}define(["./workbox-edadad33"],(function(e){"use strict";self.addEventListener("message",(e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()})),e.precacheAndRoute([{url:"404.html",revision:"8d70c898a27e22811e126259085e0115"},{url:"css/bootstrap.min.css",revision:"e451b87914db6243b6afa3c5e484ec16"},{url:"css/styles-ime.css",revision:"3a729975204293c9f2ea39593a9a12cc"},{url:"css/styles-main.css",revision:"2da08eab60a20f3c591cccf0638205a6"},{url:"css/styles-shared.css",revision:"943aae4a88c5dabc8f00e7ec840bdacf"},{url:"css/styles-table.css",revision:"94da60280947939c61c2249cafe8552f"},{url:"eslint.config.js",revision:"6c1343cfccc567444fdc1a9ad7dc8d14"},{url:"ime/index.html",revision:"4847eec1c969ff0238a0c3f829be9f7c"},{url:"ime/index.min.js",revision:"f078b4cc04460a778729884d45b29b10"},{url:"ime/registerSW.js",revision:"014e730f93650d140e7c8b0d568d6a87"},{url:"img/apple-touch-icon.png",revision:"bd041186b20fe2f084dc15b255097dda"},{url:"img/icon-192.png",revision:"e395941e4114071adaa6b1a5ad1a2a08"},{url:"img/icon-512.png",revision:"13150e41d1f52f224a046f1d4b444099"},{url:"img/icon.svg",revision:"2f2e3f12531bf600c7b1a8a507dbcef1"},{url:"index.html",revision:"f9fa3c45da58a235628fd29703b570a1"},{url:"js/bootstrap.bundle.min.js",revision:"715756e65b9ff107f4cf927e3e8bbf76"},{url:"js/index.min.js",revision:"e4397fcda049c5901ec4383599496d87"},{url:"js/registerSW.js",revision:"403035ad56ee65583062726f12f55a08"},{url:"table/index.html",revision:"7e3809554c6faa52fe5d9a7bd612f61e"},{url:"table/registerSW.js",revision:"014e730f93650d140e7c8b0d568d6a87"}],{ignoreURLParametersMatching:[/^utm_/,/^fbclid$/]})}));
//# sourceMappingURL=sw.js.map
diff --git a/sw.js.map b/sw.js.map
index 5032998..41a124d 100644
--- a/sw.js.map
+++ b/sw.js.map
@@ -1 +1 @@
-{"version":3,"file":"sw.js","sources":["../../../../private/var/folders/5m/fn2nrr3n1k94l5hqxk4rj5d40000gn/T/b7226b1d58d563d251dcc1f62d79a863/sw.js"],"sourcesContent":["import {precacheAndRoute as workbox_precaching_precacheAndRoute} from '/Users/theo/.volta/tools/image/packages/workbox-cli/lib/node_modules/workbox-cli/node_modules/workbox-precaching/precacheAndRoute.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\n\n\n\n\n\n\nself.addEventListener('message', (event) => {\n if (event.data && event.data.type === 'SKIP_WAITING') {\n self.skipWaiting();\n }\n});\n\n\n\n\n/**\n * The precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nworkbox_precaching_precacheAndRoute([\n {\n \"url\": \"404.html\",\n \"revision\": \"8d70c898a27e22811e126259085e0115\"\n },\n {\n \"url\": \"css/bootstrap.min.css\",\n \"revision\": \"e451b87914db6243b6afa3c5e484ec16\"\n },\n {\n \"url\": \"css/styles-ime.css\",\n \"revision\": \"3a729975204293c9f2ea39593a9a12cc\"\n },\n {\n \"url\": \"css/styles-main.css\",\n \"revision\": \"2da08eab60a20f3c591cccf0638205a6\"\n },\n {\n \"url\": \"css/styles-shared.css\",\n \"revision\": \"943aae4a88c5dabc8f00e7ec840bdacf\"\n },\n {\n \"url\": \"css/styles-table.css\",\n \"revision\": \"94da60280947939c61c2249cafe8552f\"\n },\n {\n \"url\": \"ime/index.html\",\n \"revision\": \"4847eec1c969ff0238a0c3f829be9f7c\"\n },\n {\n \"url\": \"ime/index.min.js\",\n \"revision\": \"f078b4cc04460a778729884d45b29b10\"\n },\n {\n \"url\": \"ime/registerSW.js\",\n \"revision\": \"014e730f93650d140e7c8b0d568d6a87\"\n },\n {\n \"url\": \"img/apple-touch-icon.png\",\n \"revision\": \"bd041186b20fe2f084dc15b255097dda\"\n },\n {\n \"url\": \"img/icon-192.png\",\n \"revision\": \"e395941e4114071adaa6b1a5ad1a2a08\"\n },\n {\n \"url\": \"img/icon-512.png\",\n \"revision\": \"13150e41d1f52f224a046f1d4b444099\"\n },\n {\n \"url\": \"img/icon.svg\",\n \"revision\": \"2f2e3f12531bf600c7b1a8a507dbcef1\"\n },\n {\n \"url\": \"index.html\",\n \"revision\": \"f9fa3c45da58a235628fd29703b570a1\"\n },\n {\n \"url\": \"js/bootstrap.bundle.min.js\",\n \"revision\": \"715756e65b9ff107f4cf927e3e8bbf76\"\n },\n {\n \"url\": \"js/index.min.js\",\n \"revision\": \"e4397fcda049c5901ec4383599496d87\"\n },\n {\n \"url\": \"js/registerSW.js\",\n \"revision\": \"403035ad56ee65583062726f12f55a08\"\n },\n {\n \"url\": \"table/index.html\",\n \"revision\": \"7e3809554c6faa52fe5d9a7bd612f61e\"\n },\n {\n \"url\": \"table/registerSW.js\",\n \"revision\": \"014e730f93650d140e7c8b0d568d6a87\"\n }\n], {\n \"ignoreURLParametersMatching\": [/^utm_/, /^fbclid$/]\n});\n\n\n\n\n\n\n\n\n"],"names":["self","addEventListener","event","data","type","skipWaiting","workbox_precaching_precacheAndRoute","url","revision","ignoreURLParametersMatching"],"mappings":"0nBAmBAA,KAAKC,iBAAiB,WAAYC,IAC5BA,EAAMC,MAA4B,iBAApBD,EAAMC,KAAKC,MAC3BJ,KAAKK,aACP,IAWFC,EAAAA,iBAAoC,CAClC,CACEC,IAAO,WACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,iBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,oBACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,eACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,qCAEb,CACDC,4BAA+B,CAAC,QAAS"}
\ No newline at end of file
+{"version":3,"file":"sw.js","sources":["../../../../private/var/folders/5m/fn2nrr3n1k94l5hqxk4rj5d40000gn/T/341058c01b1dcb654df56dc3e59b85d1/sw.js"],"sourcesContent":["import {precacheAndRoute as workbox_precaching_precacheAndRoute} from '/Users/theo/.volta/tools/image/packages/workbox-cli/lib/node_modules/workbox-cli/node_modules/workbox-precaching/precacheAndRoute.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\n\n\n\n\n\n\nself.addEventListener('message', (event) => {\n if (event.data && event.data.type === 'SKIP_WAITING') {\n self.skipWaiting();\n }\n});\n\n\n\n\n/**\n * The precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nworkbox_precaching_precacheAndRoute([\n {\n \"url\": \"404.html\",\n \"revision\": \"8d70c898a27e22811e126259085e0115\"\n },\n {\n \"url\": \"css/bootstrap.min.css\",\n \"revision\": \"e451b87914db6243b6afa3c5e484ec16\"\n },\n {\n \"url\": \"css/styles-ime.css\",\n \"revision\": \"3a729975204293c9f2ea39593a9a12cc\"\n },\n {\n \"url\": \"css/styles-main.css\",\n \"revision\": \"2da08eab60a20f3c591cccf0638205a6\"\n },\n {\n \"url\": \"css/styles-shared.css\",\n \"revision\": \"943aae4a88c5dabc8f00e7ec840bdacf\"\n },\n {\n \"url\": \"css/styles-table.css\",\n \"revision\": \"94da60280947939c61c2249cafe8552f\"\n },\n {\n \"url\": \"eslint.config.js\",\n \"revision\": \"6c1343cfccc567444fdc1a9ad7dc8d14\"\n },\n {\n \"url\": \"ime/index.html\",\n \"revision\": \"4847eec1c969ff0238a0c3f829be9f7c\"\n },\n {\n \"url\": \"ime/index.min.js\",\n \"revision\": \"f078b4cc04460a778729884d45b29b10\"\n },\n {\n \"url\": \"ime/registerSW.js\",\n \"revision\": \"014e730f93650d140e7c8b0d568d6a87\"\n },\n {\n \"url\": \"img/apple-touch-icon.png\",\n \"revision\": \"bd041186b20fe2f084dc15b255097dda\"\n },\n {\n \"url\": \"img/icon-192.png\",\n \"revision\": \"e395941e4114071adaa6b1a5ad1a2a08\"\n },\n {\n \"url\": \"img/icon-512.png\",\n \"revision\": \"13150e41d1f52f224a046f1d4b444099\"\n },\n {\n \"url\": \"img/icon.svg\",\n \"revision\": \"2f2e3f12531bf600c7b1a8a507dbcef1\"\n },\n {\n \"url\": \"index.html\",\n \"revision\": \"f9fa3c45da58a235628fd29703b570a1\"\n },\n {\n \"url\": \"js/bootstrap.bundle.min.js\",\n \"revision\": \"715756e65b9ff107f4cf927e3e8bbf76\"\n },\n {\n \"url\": \"js/index.min.js\",\n \"revision\": \"e4397fcda049c5901ec4383599496d87\"\n },\n {\n \"url\": \"js/registerSW.js\",\n \"revision\": \"403035ad56ee65583062726f12f55a08\"\n },\n {\n \"url\": \"table/index.html\",\n \"revision\": \"7e3809554c6faa52fe5d9a7bd612f61e\"\n },\n {\n \"url\": \"table/registerSW.js\",\n \"revision\": \"014e730f93650d140e7c8b0d568d6a87\"\n }\n], {\n \"ignoreURLParametersMatching\": [/^utm_/, /^fbclid$/]\n});\n\n\n\n\n\n\n\n\n"],"names":["self","addEventListener","event","data","type","skipWaiting","workbox_precaching_precacheAndRoute","url","revision","ignoreURLParametersMatching"],"mappings":"0nBAmBAA,KAAKC,iBAAiB,WAAYC,IAC5BA,EAAMC,MAA4B,iBAApBD,EAAMC,KAAKC,MAC3BJ,KAAKK,aACP,IAWFC,EAAAA,iBAAoC,CAClC,CACEC,IAAO,WACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,iBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,oBACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,eACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,qCAEb,CACDC,4BAA+B,CAAC,QAAS"}
\ No newline at end of file
diff --git a/ts/index-ime.ts b/ts/index-ime.ts
index 842fa79..28657e1 100644
--- a/ts/index-ime.ts
+++ b/ts/index-ime.ts
@@ -179,7 +179,7 @@ document.getElementById('back-btn')?.addEventListener('click', () => {
// SUBMISSION HANDLING
//
-function submitOnEnter (e: KeyboardEvent) {
+function submitOnEnter(e: KeyboardEvent) {
if (e.key === 'Enter' && !e.shiftKey) {
getResult(inputField, resultField, maghribiCheckbox, hamzahCheckbox)
e.preventDefault()
diff --git a/ts/index-main.ts b/ts/index-main.ts
index 3cccc3a..feeeb6f 100644
--- a/ts/index-main.ts
+++ b/ts/index-main.ts
@@ -28,7 +28,7 @@ const resetButton = document.getElementById('reset-button') as HTMLButtonElement
// Submit
-function submitOnEnter (e: KeyboardEvent) {
+function submitOnEnter(e: KeyboardEvent) {
if (e.key === 'Enter' && !e.shiftKey) {
getResult(inputField, resultField, maghribiCheckbox, hamzahCheckbox)
e.preventDefault()
diff --git a/ts/lib.ts b/ts/lib.ts
index a762a5a..f361cf8 100644
--- a/ts/lib.ts
+++ b/ts/lib.ts
@@ -1,4 +1,4 @@
-function getAbjad (
+function getAbjad(
input: string,
maghribiOrder: boolean,
ignoreHamzah: boolean,
@@ -146,7 +146,7 @@ function getAbjad (
return [total, unrecognizedChars]
}
-export function getResult (
+export function getResult(
inputField: HTMLInputElement,
resultField: HTMLElement,
maghribiCheckbox: HTMLInputElement,