From aa683866671d14c0b9a11b09c74eb132673e5547 Mon Sep 17 00:00:00 2001 From: Yassine Doghri Date: Sat, 1 Jul 2023 13:46:03 +0000 Subject: [PATCH] fix(audio-clipper): init segment position on firstUpdate + improve UX by adding ghost handle - clean web components and js modules - update js dependencies to latest fixes #351 --- app/Resources/js/modules/Clipboard.ts | 1 - app/Resources/js/modules/MultiSelect.ts | 1 + app/Resources/js/modules/Select.ts | 1 + app/Resources/js/modules/audio-clipper.ts | 125 +++++-- app/Resources/js/modules/markdown-preview.ts | 6 +- .../js/modules/markdown-write-preview.ts | 18 +- app/Resources/js/modules/permalink-edit.ts | 9 +- .../js/modules/play-episode-button.ts | 10 +- app/Resources/js/modules/play-soundbite.ts | 5 - .../js/modules/video-clip-previewer.ts | 7 +- package.json | 18 +- pnpm-lock.yaml | 311 +++++++++--------- themes/cp_admin/episode/soundbites_new.php | 4 +- themes/cp_admin/episode/video_clips_new.php | 2 +- 14 files changed, 289 insertions(+), 229 deletions(-) diff --git a/app/Resources/js/modules/Clipboard.ts b/app/Resources/js/modules/Clipboard.ts index 7a344a86..defb176a 100644 --- a/app/Resources/js/modules/Clipboard.ts +++ b/app/Resources/js/modules/Clipboard.ts @@ -10,7 +10,6 @@ const Clipboard = (): void => { ); if (element) { button.addEventListener("click", () => { - console.log(element); element.select(); element.setSelectionRange(0, element.value.length); document.execCommand("copy"); diff --git a/app/Resources/js/modules/MultiSelect.ts b/app/Resources/js/modules/MultiSelect.ts index 34a12592..94a87f16 100644 --- a/app/Resources/js/modules/MultiSelect.ts +++ b/app/Resources/js/modules/MultiSelect.ts @@ -9,6 +9,7 @@ const MultiSelect = (): void => { const multiSelect = multiSelects[i]; new Choices(multiSelect, { + allowHTML: false, maxItemCount: parseInt(multiSelect.dataset.maxItemCount || "-1"), loadingText: multiSelect.dataset.loadingText, itemSelectText: multiSelect.dataset.selectText, diff --git a/app/Resources/js/modules/Select.ts b/app/Resources/js/modules/Select.ts index d3c5dce4..72f94148 100644 --- a/app/Resources/js/modules/Select.ts +++ b/app/Resources/js/modules/Select.ts @@ -10,6 +10,7 @@ const Select = (): void => { const select = selects[i]; new Choices(select, { + allowHTML: false, loadingText: select.dataset.loadingText, itemSelectText: select.dataset.selectText, maxItemText: select.dataset.maxItemText, diff --git a/app/Resources/js/modules/audio-clipper.ts b/app/Resources/js/modules/audio-clipper.ts index 18df16e0..c97c09ca 100644 --- a/app/Resources/js/modules/audio-clipper.ts +++ b/app/Resources/js/modules/audio-clipper.ts @@ -4,7 +4,7 @@ import { property, query, queryAll, - queryAssignedNodes, + queryAssignedElements, state, } from "lit/decorators.js"; import WaveSurfer from "wavesurfer.js"; @@ -27,14 +27,14 @@ interface EventElement { @customElement("audio-clipper") export class AudioClipper extends LitElement { - @queryAssignedNodes("audio", true) - _audio!: NodeListOf; + @queryAssignedElements({ slot: "audio", flatten: true }) + _audio!: Array; - @queryAssignedNodes("start_time", true) - _startTimeInput!: NodeListOf; + @queryAssignedElements({ slot: "start_time", flatten: true }) + _startTimeInput!: Array; - @queryAssignedNodes("duration", true) - _durationInput!: NodeListOf; + @queryAssignedElements({ slot: "duration", flatten: true }) + _durationInput!: Array; @query(".slider") _sliderNode!: HTMLDivElement; @@ -45,9 +45,12 @@ export class AudioClipper extends LitElement { @query(".slider__segment-content") _segmentContentNode!: HTMLDivElement; - @query(".slider__segment-progress-handle") + @query(".slider__segment-progress-handle--main") _progressNode!: HTMLDivElement; + @query(".slider__segment-progress-handle--ghost") + _progressGhostNode!: HTMLDivElement; + @query(".slider__seeking-placeholder") _seekingNode!: HTMLDivElement; @@ -60,6 +63,9 @@ export class AudioClipper extends LitElement { @queryAll(".slider__segment-handle") _segmentHandleNodes!: NodeListOf; + @property({ type: Number, attribute: "audio-duration" }) + audioDuration = 0; + @property({ type: Number, attribute: "start-time" }) initStartTime = 0; @@ -81,6 +87,9 @@ export class AudioClipper extends LitElement { @property({ attribute: "trim-end-label" }) trimEndLabel = "Trim end"; + @state() + _canInteract = false; + @state() _isPlaying = false; @@ -93,9 +102,6 @@ export class AudioClipper extends LitElement { @state() _action: Action | null = null; - @state() - _audioDuration = 0; - @state() _sliderWidth = 0; @@ -116,7 +122,15 @@ export class AudioClipper extends LitElement { _windowEvents: EventElement[] = [ { - events: ["load", "resize"], + events: ["load"], + onEvent: () => { + this._canInteract = true; + this._sliderWidth = this._sliderNode.clientWidth; + this.setSegmentPosition(); + }, + }, + { + events: ["resize"], onEvent: () => { this._sliderWidth = this._sliderNode.clientWidth; this.setSegmentPosition(); @@ -130,9 +144,12 @@ export class AudioClipper extends LitElement { onEvent: () => { if (this._action !== null) { document.body.style.cursor = ""; - if (this._action.type === ActionType.Seek && this._seekingTime) { + if ( + this._action.type === ActionType.Seek && + this._seekingTime !== null + ) { this._audio[0].currentTime = this._seekingTime; - this._seekingTime = 0; + this._seekingTime = null; } this._action = null; } @@ -141,14 +158,24 @@ export class AudioClipper extends LitElement { { events: ["mousemove"], onEvent: (event: Event) => { - if (this._action !== null) { - this.updatePosition(event as MouseEvent); - } + this.updatePosition(event as MouseEvent); }, }, ]; _audioEvents: EventElement[] = [ + { + events: ["loadedmetadata"], + onEvent: () => { + this.audioDuration = this._audio[0].duration; + }, + }, + { + events: ["waiting"], + onEvent: () => { + this._isBuffering = true; + }, + }, { events: ["play"], onEvent: () => { @@ -176,7 +203,7 @@ export class AudioClipper extends LitElement { ); context.fillStyle = "#04AC64"; - const inc = this._bufferingBarNode.width / this._audio[0].duration; + const inc = this._bufferingBarNode.width / this.audioDuration; for (let i = 0; i < this._audio[0].buffered.length; i++) { const startX = this._audio[0].buffered.start(i) * inc; @@ -192,13 +219,11 @@ export class AudioClipper extends LitElement { { events: ["timeupdate"], onEvent: () => { - // TODO: change this? - this._currentTime = parseFloat(this._audio[0].currentTime.toFixed(3)); + this._currentTime = this._audio[0].currentTime; if (this._currentTime > this._clip.endTime) { this.pause(); this._audio[0].currentTime = this._clip.endTime; } else if (this._currentTime < this._clip.startTime) { - this._isBuffering = true; this._audio[0].currentTime = this._clip.startTime; } else { this._isBuffering = false; @@ -233,6 +258,21 @@ export class AudioClipper extends LitElement { }, ]; + _sliderSegmentEvents: EventElement[] = [ + { + events: ["hover"], + onEvent: (event: Event) => { + const ghostHandle = (event.target as HTMLDivElement).querySelector( + ".segment" + ) as HTMLDivElement; + if (ghostHandle) { + ghostHandle.style.opacity = "1"; + ghostHandle.style.transform = "translateX(50)"; + } + }, + }, + ]; + connectedCallback(): void { super.connectedCallback(); @@ -244,7 +284,9 @@ export class AudioClipper extends LitElement { } protected firstUpdated(): void { - this._audioDuration = this._audio[0].duration; + this._sliderWidth = this._sliderNode.clientWidth; + this.setSegmentPosition(); + this._audio[0].volume = this._volume; this._startTimeInput[0].hidden = true; this._durationInput[0].hidden = true; @@ -255,7 +297,6 @@ export class AudioClipper extends LitElement { interact: false, barWidth: 2, barHeight: 1, - // barGap: 4, responsive: true, waveColor: "hsl(0 5% 85%)", cursorColor: "transparent", @@ -338,11 +379,11 @@ export class AudioClipper extends LitElement { } private getPositionFromSeconds(seconds: number) { - return (seconds * this._sliderWidth) / this._audioDuration; + return (seconds * this._sliderWidth) / this.audioDuration; } private getSecondsFromPosition(position: number) { - return (this._audioDuration * position) / this._sliderWidth; + return (this.audioDuration * position) / this._sliderWidth; } protected updated( @@ -405,14 +446,14 @@ export class AudioClipper extends LitElement { } case ActionType.StretchRight: { let endTime; - if (seconds < this._audioDuration) { + if (seconds < this.audioDuration) { if (seconds < this._clip.startTime + this.minDuration) { endTime = this._clip.startTime + this.minDuration; } else { endTime = seconds; } } else { - endTime = this._audioDuration; + endTime = this.audioDuration; } this._clip = { @@ -459,6 +500,7 @@ export class AudioClipper extends LitElement { const seekingTimePercentage = (seekingTimeSegmentPosition / this._segmentContentNode.clientWidth) * this._segmentContentNode.clientWidth; + this._progressNode.style.transform = `translateX(${seekingTimeSegmentPosition}px)`; this._seekingNode.style.transform = `scaleX(${seekingTimePercentage})`; } @@ -586,6 +628,10 @@ export class AudioClipper extends LitElement { border-top: 10px solid #3b82f6; } + .slider__segment-progress-handle--ghost { + opacity: 0.5; + } + .slider__segment .slider__segment-handle { position: absolute; width: 1rem; @@ -742,14 +788,19 @@ export class AudioClipper extends LitElement { -
+
+
- ${this._isBuffering + ${this._isBuffering || !this._canInteract ? html`; + @queryAssignedElements({ slot: "write", flatten: true }) + _write!: Array; - @queryAssignedNodes("preview", true) - _preview!: NodeListOf; + @queryAssignedElements({ slot: "preview", flatten: true }) + _preview!: Array; connectedCallback(): void { super.connectedCallback(); diff --git a/app/Resources/js/modules/permalink-edit.ts b/app/Resources/js/modules/permalink-edit.ts index 2ea12f2d..6a8efad6 100644 --- a/app/Resources/js/modules/permalink-edit.ts +++ b/app/Resources/js/modules/permalink-edit.ts @@ -1,23 +1,24 @@ import "@github/clipboard-copy-element"; +import ClipboardCopyElement from "@github/clipboard-copy-element"; import { css, html, LitElement, TemplateResult } from "lit"; import { customElement, property, query, - queryAssignedNodes, + queryAssignedElements, state, } from "lit/decorators.js"; @customElement("permalink-edit") export class PermalinkEdit extends LitElement { - @queryAssignedNodes("domain", true) + @queryAssignedElements({ slot: "domain", flatten: true }) _domain!: NodeListOf; - @queryAssignedNodes("slug-input", true) + @queryAssignedElements({ slot: "slug-input", flatten: true }) _slugInput!: NodeListOf; @query("clipboard-copy") - _clipboardCopy!: any; + _clipboardCopy!: ClipboardCopyElement; @property({ attribute: "edit-label" }) editLabel = "Edit"; diff --git a/app/Resources/js/modules/play-episode-button.ts b/app/Resources/js/modules/play-episode-button.ts index 3eee7af5..fdc808c3 100644 --- a/app/Resources/js/modules/play-episode-button.ts +++ b/app/Resources/js/modules/play-episode-button.ts @@ -27,15 +27,15 @@ export class PlayEpisodeButton extends LitElement { @property() playingLabel!: string; - @property() - isPlaying!: boolean; - - @property() + @property({ attribute: false }) _castopodAudioPlayer!: HTMLDivElement; - @property() + @property({ attribute: false }) _audio!: HTMLAudioElement; + @state() + isPlaying!: boolean; + @state() _playbackSpeed = 1; diff --git a/app/Resources/js/modules/play-soundbite.ts b/app/Resources/js/modules/play-soundbite.ts index 26f24086..e38693f1 100644 --- a/app/Resources/js/modules/play-soundbite.ts +++ b/app/Resources/js/modules/play-soundbite.ts @@ -44,11 +44,6 @@ export class PlaySoundbite extends LitElement { name: "timeupdate", onEvent: () => { if (this._audio) { - console.log( - this._audio.currentTime, - this.startTime, - this.startTime + this.duration - ); if (this._audio.currentTime < this.startTime) { this._isLoading = true; this._audio.currentTime = this.startTime; diff --git a/app/Resources/js/modules/video-clip-previewer.ts b/app/Resources/js/modules/video-clip-previewer.ts index a28c2f2a..4b9a2bff 100644 --- a/app/Resources/js/modules/video-clip-previewer.ts +++ b/app/Resources/js/modules/video-clip-previewer.ts @@ -2,8 +2,7 @@ import { css, html, LitElement, TemplateResult } from "lit"; import { customElement, property, - queryAssignedNodes, - state, + queryAssignedElements, } from "lit/decorators.js"; import { styleMap } from "lit/directives/style-map.js"; @@ -21,7 +20,7 @@ const formatMap = { @customElement("video-clip-previewer") export class VideoClipPreviewer extends LitElement { - @queryAssignedNodes("preview_image", true) + @queryAssignedElements({ slot: "preview_image", flatten: true }) _image!: NodeListOf; @property() @@ -36,7 +35,7 @@ export class VideoClipPreviewer extends LitElement { @property({ type: Number }) duration!: number; - @state() + @property({ attribute: false }) _previewImage!: HTMLImageElement; protected firstUpdated(): void { diff --git a/package.json b/package.json index 2fc86002..05c3a2fb 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "@codemirror/language": "^6.8.0", "@codemirror/state": "^6.2.1", "@codemirror/view": "^6.14.0", - "@floating-ui/dom": "^1.4.2", + "@floating-ui/dom": "^1.4.3", "@github/clipboard-copy-element": "^1.2.1", "@github/hotkey": "^2.0.1", "@github/markdown-toolbar-element": "^2.1.1", @@ -52,8 +52,8 @@ "xml-formatter": "^3.4.1" }, "devDependencies": { - "@commitlint/cli": "^17.6.5", - "@commitlint/config-conventional": "^17.6.5", + "@commitlint/cli": "^17.6.6", + "@commitlint/config-conventional": "^17.6.6", "@csstools/css-tokenizer": "^2.1.1", "@semantic-release/changelog": "^6.0.3", "@semantic-release/exec": "^6.0.3", @@ -64,19 +64,19 @@ "@types/leaflet": "^1.9.3", "@types/marked": "^5.0.0", "@types/wavesurfer.js": "^6.0.6", - "@typescript-eslint/eslint-plugin": "^5.60.0", - "@typescript-eslint/parser": "^5.60.0", + "@typescript-eslint/eslint-plugin": "^5.60.1", + "@typescript-eslint/parser": "^5.60.1", "all-contributors-cli": "^6.26.0", "commitizen": "^4.3.0", "cross-env": "^7.0.3", "cssnano": "^6.0.1", "cz-conventional-changelog": "^3.3.0", - "eslint": "^8.43.0", + "eslint": "^8.44.0", "eslint-config-prettier": "^8.8.0", "eslint-plugin-prettier": "^4.2.1", "husky": "^8.0.3", "is-ci": "^3.0.1", - "lint-staged": "^13.2.2", + "lint-staged": "^13.2.3", "postcss": "^8.4.24", "postcss-import": "^15.1.0", "postcss-nesting": "^11.3.0", @@ -84,12 +84,12 @@ "postcss-reporter": "^7.0.5", "prettier": "2.8.8", "prettier-plugin-organize-imports": "^3.2.2", - "semantic-release": "^21.0.5", + "semantic-release": "^21.0.6", "stylelint": "^15.9.0", "stylelint-config-standard": "^33.0.0", "svgo": "^3.0.2", "tailwindcss": "^3.3.2", - "typescript": "^5.1.3", + "typescript": "^5.1.6", "vite": "^4.3.9", "vite-plugin-pwa": "^0.16.4", "workbox-build": "^7.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 235336a2..76901617 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -27,8 +27,8 @@ dependencies: specifier: ^6.14.0 version: 6.14.0 "@floating-ui/dom": - specifier: ^1.4.2 - version: 1.4.2 + specifier: ^1.4.3 + version: 1.4.3 "@github/clipboard-copy-element": specifier: ^1.2.1 version: 1.2.1 @@ -77,26 +77,26 @@ dependencies: devDependencies: "@commitlint/cli": - specifier: ^17.6.5 - version: 17.6.5 + specifier: ^17.6.6 + version: 17.6.6 "@commitlint/config-conventional": - specifier: ^17.6.5 - version: 17.6.5 + specifier: ^17.6.6 + version: 17.6.6 "@csstools/css-tokenizer": specifier: ^2.1.1 version: 2.1.1 "@semantic-release/changelog": specifier: ^6.0.3 - version: 6.0.3(semantic-release@21.0.5) + version: 6.0.3(semantic-release@21.0.6) "@semantic-release/exec": specifier: ^6.0.3 - version: 6.0.3(semantic-release@21.0.5) + version: 6.0.3(semantic-release@21.0.6) "@semantic-release/git": specifier: ^10.0.1 - version: 10.0.1(semantic-release@21.0.5) + version: 10.0.1(semantic-release@21.0.6) "@semantic-release/gitlab": specifier: ^12.0.3 - version: 12.0.3(semantic-release@21.0.5) + version: 12.0.3(semantic-release@21.0.6) "@tailwindcss/forms": specifier: ^0.5.3 version: 0.5.3(tailwindcss@3.3.2) @@ -113,11 +113,11 @@ devDependencies: specifier: ^6.0.6 version: 6.0.6 "@typescript-eslint/eslint-plugin": - specifier: ^5.60.0 - version: 5.60.0(@typescript-eslint/parser@5.60.0)(eslint@8.43.0)(typescript@5.1.3) + specifier: ^5.60.1 + version: 5.60.1(@typescript-eslint/parser@5.60.1)(eslint@8.44.0)(typescript@5.1.6) "@typescript-eslint/parser": - specifier: ^5.60.0 - version: 5.60.0(eslint@8.43.0)(typescript@5.1.3) + specifier: ^5.60.1 + version: 5.60.1(eslint@8.44.0)(typescript@5.1.6) all-contributors-cli: specifier: ^6.26.0 version: 6.26.0 @@ -134,14 +134,14 @@ devDependencies: specifier: ^3.3.0 version: 3.3.0 eslint: - specifier: ^8.43.0 - version: 8.43.0 + specifier: ^8.44.0 + version: 8.44.0 eslint-config-prettier: specifier: ^8.8.0 - version: 8.8.0(eslint@8.43.0) + version: 8.8.0(eslint@8.44.0) eslint-plugin-prettier: specifier: ^4.2.1 - version: 4.2.1(eslint-config-prettier@8.8.0)(eslint@8.43.0)(prettier@2.8.8) + version: 4.2.1(eslint-config-prettier@8.8.0)(eslint@8.44.0)(prettier@2.8.8) husky: specifier: ^8.0.3 version: 8.0.3 @@ -149,8 +149,8 @@ devDependencies: specifier: ^3.0.1 version: 3.0.1 lint-staged: - specifier: ^13.2.2 - version: 13.2.2 + specifier: ^13.2.3 + version: 13.2.3 postcss: specifier: ^8.4.24 version: 8.4.24 @@ -171,10 +171,10 @@ devDependencies: version: 2.8.8 prettier-plugin-organize-imports: specifier: ^3.2.2 - version: 3.2.2(prettier@2.8.8)(typescript@5.1.3) + version: 3.2.2(prettier@2.8.8)(typescript@5.1.6) semantic-release: - specifier: ^21.0.5 - version: 21.0.5 + specifier: ^21.0.6 + version: 21.0.6 stylelint: specifier: ^15.9.0 version: 15.9.0 @@ -188,8 +188,8 @@ devDependencies: specifier: ^3.3.2 version: 3.3.2(ts-node@10.9.1) typescript: - specifier: ^5.1.3 - version: 5.1.3 + specifier: ^5.1.6 + version: 5.1.6 vite: specifier: ^4.3.9 version: 4.3.9(@types/node@20.3.1) @@ -210,6 +210,14 @@ devDependencies: version: 7.0.0 packages: + /@aashutoshrathi/word-wrap@1.2.6: + resolution: + { + integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==, + } + engines: { node: ">=0.10.0" } + dev: true + /@alloc/quick-lru@5.2.0: resolution: { @@ -1907,16 +1915,16 @@ packages: dev: true optional: true - /@commitlint/cli@17.6.5: + /@commitlint/cli@17.6.6: resolution: { - integrity: sha512-3PQrWr/uo6lzF5k7n5QuosCYnzaxP9qGBp3jhWP0Vmsa7XA6wrl9ccPqfQyXpSbQE3zBROVO3TDqgPKe4tfmLQ==, + integrity: sha512-sTKpr2i/Fjs9OmhU+beBxjPavpnLSqZaO6CzwKVq2Tc4UYVTMFgpKOslDhUBVlfAUBfjVO8ParxC/MXkIOevEA==, } engines: { node: ">=v14" } hasBin: true dependencies: "@commitlint/format": 17.4.4 - "@commitlint/lint": 17.6.5 + "@commitlint/lint": 17.6.6 "@commitlint/load": 17.5.0 "@commitlint/read": 17.5.1 "@commitlint/types": 17.4.4 @@ -1930,10 +1938,10 @@ packages: - "@swc/wasm" dev: true - /@commitlint/config-conventional@17.6.5: + /@commitlint/config-conventional@17.6.6: resolution: { - integrity: sha512-Xl9H9KLl86NZm5CYNTNF9dcz1xelE/EbvhWIWcYxG/rn3UWYWdWmmnX2q6ZduNdLFSGbOxzUpIx61j5zxbeXxg==, + integrity: sha512-phqPz3BDhfj49FUYuuZIuDiw+7T6gNAEy7Yew1IBHqSohVUCWOK2FXMSAExzS2/9X+ET93g0Uz83KjiHDOOFag==, } engines: { node: ">=v14" } dependencies: @@ -1985,25 +1993,25 @@ packages: chalk: 4.1.2 dev: true - /@commitlint/is-ignored@17.6.5: + /@commitlint/is-ignored@17.6.6: resolution: { - integrity: sha512-CQvAPt9gX7cuUbMrIaIMKczfWJqqr6m8IlJs0F2zYwyyMTQ87QMHIj5jJ5HhOaOkaj6dvTMVGx8Dd1I4xgUuoQ==, + integrity: sha512-4Fw875faAKO+2nILC04yW/2Vy/wlV3BOYCSQ4CEFzriPEprc1Td2LILmqmft6PDEK5Sr14dT9tEzeaZj0V56Gg==, } engines: { node: ">=v14" } dependencies: "@commitlint/types": 17.4.4 - semver: 7.5.0 + semver: 7.5.2 dev: true - /@commitlint/lint@17.6.5: + /@commitlint/lint@17.6.6: resolution: { - integrity: sha512-BSJMwkE4LWXrOsiP9KoHG+/heSDfvOL/Nd16+ojTS/DX8HZr8dNl8l3TfVr/d/9maWD8fSegRGtBtsyGuugFrw==, + integrity: sha512-5bN+dnHcRLkTvwCHYMS7Xpbr+9uNi0Kq5NR3v4+oPNx6pYXt8ACuw9luhM/yMgHYwW0ajIR20wkPAFkZLEMGmg==, } engines: { node: ">=v14" } dependencies: - "@commitlint/is-ignored": 17.6.5 + "@commitlint/is-ignored": 17.6.6 "@commitlint/parse": 17.6.5 "@commitlint/rules": 17.6.5 "@commitlint/types": 17.4.4 @@ -2023,13 +2031,13 @@ packages: "@types/node": 20.3.1 chalk: 4.1.2 cosmiconfig: 8.2.0 - cosmiconfig-typescript-loader: 4.3.0(@types/node@20.3.1)(cosmiconfig@8.2.0)(ts-node@10.9.1)(typescript@5.1.3) + cosmiconfig-typescript-loader: 4.3.0(@types/node@20.3.1)(cosmiconfig@8.2.0)(ts-node@10.9.1)(typescript@5.1.6) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 resolve-from: 5.0.0 - ts-node: 10.9.1(@types/node@20.3.1)(typescript@5.1.3) - typescript: 5.1.3 + ts-node: 10.9.1(@types/node@20.3.1)(typescript@5.1.6) + typescript: 5.1.6 transitivePeerDependencies: - "@swc/core" - "@swc/wasm" @@ -2839,7 +2847,7 @@ packages: dev: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.43.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.44.0): resolution: { integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==, @@ -2848,7 +2856,7 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.43.0 + eslint: 8.44.0 eslint-visitor-keys: 3.4.1 dev: true @@ -2860,16 +2868,16 @@ packages: engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } dev: true - /@eslint/eslintrc@2.0.3: + /@eslint/eslintrc@2.1.0: resolution: { - integrity: sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==, + integrity: sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==, } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dependencies: ajv: 6.12.6 debug: 4.3.4 - espree: 9.5.2 + espree: 9.6.0 globals: 13.20.0 ignore: 5.2.4 import-fresh: 3.3.0 @@ -2880,10 +2888,10 @@ packages: - supports-color dev: true - /@eslint/js@8.43.0: + /@eslint/js@8.44.0: resolution: { - integrity: sha512-s2UHCoiXfxMvmfzqoN+vrQ84ahUSYde9qNO1MdxmoEhyHWsfmwOpFlwYV+ePJEVc7gFnATGUi376WowX1N7tFg==, + integrity: sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==, } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dev: true @@ -2895,10 +2903,10 @@ packages: } dev: false - /@floating-ui/dom@1.4.2: + /@floating-ui/dom@1.4.3: resolution: { - integrity: sha512-VKmvHVatWnewmGGy+7Mdy4cTJX71Pli6v/Wjb5RQBuq5wjUYx+Ef+kRThi8qggZqDgD8CogCpqhRoVp3+yQk+g==, + integrity: sha512-nB/68NyaQlcdY22L+Fgd1HERQ7UGv7XFN+tPxwrEfQL4nKtAP/jIZnZtpUlXbtV+VEGHh6W/63Gy2C5biWI3sA==, } dependencies: "@floating-ui/core": 1.3.1 @@ -3434,7 +3442,7 @@ packages: rollup: 2.79.1 dev: true - /@semantic-release/changelog@6.0.3(semantic-release@21.0.5): + /@semantic-release/changelog@6.0.3(semantic-release@21.0.6): resolution: { integrity: sha512-dZuR5qByyfe3Y03TpmCvAxCyTnp7r5XwtHRf/8vD9EAn4ZWbavUX8adMtXYzE86EVh0gyLA7lm5yW4IV30XUag==, @@ -3447,10 +3455,10 @@ packages: aggregate-error: 3.1.0 fs-extra: 11.1.1 lodash: 4.17.21 - semantic-release: 21.0.5 + semantic-release: 21.0.6 dev: true - /@semantic-release/commit-analyzer@10.0.1(semantic-release@21.0.5): + /@semantic-release/commit-analyzer@10.0.1(semantic-release@21.0.6): resolution: { integrity: sha512-9ejHzTAijYs9z246sY/dKBatmOPcd0GQ7lH4MgLCkv1q4GCiDZRkjHJkaQZXZVaK7mJybS+sH3Ng6G8i3pYMGQ==, @@ -3466,7 +3474,7 @@ packages: import-from: 4.0.0 lodash-es: 4.17.21 micromatch: 4.0.5 - semantic-release: 21.0.5 + semantic-release: 21.0.6 transitivePeerDependencies: - supports-color dev: true @@ -3487,7 +3495,7 @@ packages: engines: { node: ">=18" } dev: true - /@semantic-release/exec@6.0.3(semantic-release@21.0.5): + /@semantic-release/exec@6.0.3(semantic-release@21.0.6): resolution: { integrity: sha512-bxAq8vLOw76aV89vxxICecEa8jfaWwYITw6X74zzlO0mc/Bgieqx9kBRz9z96pHectiTAtsCwsQcUyLYWnp3VQ==, @@ -3502,12 +3510,12 @@ packages: execa: 5.1.1 lodash: 4.17.21 parse-json: 5.2.0 - semantic-release: 21.0.5 + semantic-release: 21.0.6 transitivePeerDependencies: - supports-color dev: true - /@semantic-release/git@10.0.1(semantic-release@21.0.5): + /@semantic-release/git@10.0.1(semantic-release@21.0.6): resolution: { integrity: sha512-eWrx5KguUcU2wUPaO6sfvZI0wPafUKAMNC18aXY4EnNcrZL86dEmpNVnC9uMpGZkmZJ9EfCVJBQx4pV4EMGT1w==, @@ -3524,12 +3532,12 @@ packages: lodash: 4.17.21 micromatch: 4.0.5 p-reduce: 2.1.0 - semantic-release: 21.0.5 + semantic-release: 21.0.6 transitivePeerDependencies: - supports-color dev: true - /@semantic-release/github@9.0.3(semantic-release@21.0.5): + /@semantic-release/github@9.0.3(semantic-release@21.0.6): resolution: { integrity: sha512-X6gq4USKVlCxPwIIyXb99jU7gwVWlnsKOevs+OyABRdoqc+OIRITbFmrrYU3eE1vGMGk+Qu/GAoLUQQQwC3YOA==, @@ -3553,14 +3561,14 @@ packages: lodash-es: 4.17.21 mime: 3.0.0 p-filter: 3.0.0 - semantic-release: 21.0.5 + semantic-release: 21.0.6 url-join: 5.0.0 transitivePeerDependencies: - encoding - supports-color dev: true - /@semantic-release/gitlab@12.0.3(semantic-release@21.0.5): + /@semantic-release/gitlab@12.0.3(semantic-release@21.0.6): resolution: { integrity: sha512-CldGFrEoXduOWmp+jjbn/mzU5johxT5cYDxWqQnRQXVyX4JdK33bF9qSEhwn0l4Dm2NmhoSdFA0T7EmwiJtm9w==, @@ -3581,13 +3589,13 @@ packages: hpagent: 1.2.0 lodash-es: 4.17.21 parse-url: 8.1.0 - semantic-release: 21.0.5 + semantic-release: 21.0.6 url-join: 4.0.1 transitivePeerDependencies: - supports-color dev: true - /@semantic-release/npm@10.0.4(semantic-release@21.0.5): + /@semantic-release/npm@10.0.4(semantic-release@21.0.6): resolution: { integrity: sha512-6R3timIQ7VoL2QWRkc9DG8v74RQtRp7UOe/2KbNaqwJ815qOibAv65bH3RtTEhs4axEaHoZf7HDgFs5opaZ9Jw==, @@ -3607,12 +3615,12 @@ packages: rc: 1.2.8 read-pkg: 8.0.0 registry-auth-token: 5.0.2 - semantic-release: 21.0.5 + semantic-release: 21.0.6 semver: 7.5.2 tempy: 3.0.0 dev: true - /@semantic-release/release-notes-generator@11.0.3(semantic-release@21.0.5): + /@semantic-release/release-notes-generator@11.0.3(semantic-release@21.0.6): resolution: { integrity: sha512-NU77dWKQf+QcZrv/Hcp3DPeSxglPu8hYKCipGxAPpeaneLkg6S0zfTVug4tg4mfDhZHC6RtoI7ljQDK8VoJ2Dw==, @@ -3631,7 +3639,7 @@ packages: into-stream: 7.0.0 lodash-es: 4.17.21 read-pkg-up: 9.1.0 - semantic-release: 21.0.5 + semantic-release: 21.0.6 transitivePeerDependencies: - supports-color dev: true @@ -3860,10 +3868,10 @@ packages: "@types/debounce": 1.2.1 dev: true - /@typescript-eslint/eslint-plugin@5.60.0(@typescript-eslint/parser@5.60.0)(eslint@8.43.0)(typescript@5.1.3): + /@typescript-eslint/eslint-plugin@5.60.1(@typescript-eslint/parser@5.60.1)(eslint@8.44.0)(typescript@5.1.6): resolution: { - integrity: sha512-78B+anHLF1TI8Jn/cD0Q00TBYdMgjdOn980JfAVa9yw5sop8nyTfVOQAv6LWywkOGLclDBtv5z3oxN4w7jxyNg==, + integrity: sha512-KSWsVvsJsLJv3c4e73y/Bzt7OpqMCADUO846bHcuWYSYM19bldbAeDv7dYyV0jwkbMfJ2XdlzwjhXtuD7OY6bw==, } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: @@ -3875,26 +3883,26 @@ packages: optional: true dependencies: "@eslint-community/regexpp": 4.5.1 - "@typescript-eslint/parser": 5.60.0(eslint@8.43.0)(typescript@5.1.3) - "@typescript-eslint/scope-manager": 5.60.0 - "@typescript-eslint/type-utils": 5.60.0(eslint@8.43.0)(typescript@5.1.3) - "@typescript-eslint/utils": 5.60.0(eslint@8.43.0)(typescript@5.1.3) + "@typescript-eslint/parser": 5.60.1(eslint@8.44.0)(typescript@5.1.6) + "@typescript-eslint/scope-manager": 5.60.1 + "@typescript-eslint/type-utils": 5.60.1(eslint@8.44.0)(typescript@5.1.6) + "@typescript-eslint/utils": 5.60.1(eslint@8.44.0)(typescript@5.1.6) debug: 4.3.4 - eslint: 8.43.0 + eslint: 8.44.0 grapheme-splitter: 1.0.4 ignore: 5.2.4 natural-compare-lite: 1.4.0 semver: 7.5.2 - tsutils: 3.21.0(typescript@5.1.3) - typescript: 5.1.3 + tsutils: 3.21.0(typescript@5.1.6) + typescript: 5.1.6 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@5.60.0(eslint@8.43.0)(typescript@5.1.3): + /@typescript-eslint/parser@5.60.1(eslint@8.44.0)(typescript@5.1.6): resolution: { - integrity: sha512-jBONcBsDJ9UoTWrARkRRCgDz6wUggmH5RpQVlt7BimSwaTkTjwypGzKORXbR4/2Hqjk9hgwlon2rVQAjWNpkyQ==, + integrity: sha512-pHWlc3alg2oSMGwsU/Is8hbm3XFbcrb6P5wIxcQW9NsYBfnrubl/GhVVD/Jm/t8HXhA2WncoIRfBtnCgRGV96Q==, } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: @@ -3904,31 +3912,31 @@ packages: typescript: optional: true dependencies: - "@typescript-eslint/scope-manager": 5.60.0 - "@typescript-eslint/types": 5.60.0 - "@typescript-eslint/typescript-estree": 5.60.0(typescript@5.1.3) + "@typescript-eslint/scope-manager": 5.60.1 + "@typescript-eslint/types": 5.60.1 + "@typescript-eslint/typescript-estree": 5.60.1(typescript@5.1.6) debug: 4.3.4 - eslint: 8.43.0 - typescript: 5.1.3 + eslint: 8.44.0 + typescript: 5.1.6 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager@5.60.0: + /@typescript-eslint/scope-manager@5.60.1: resolution: { - integrity: sha512-hakuzcxPwXi2ihf9WQu1BbRj1e/Pd8ZZwVTG9kfbxAMZstKz8/9OoexIwnmLzShtsdap5U/CoQGRCWlSuPbYxQ==, + integrity: sha512-Dn/LnN7fEoRD+KspEOV0xDMynEmR3iSHdgNsarlXNLGGtcUok8L4N71dxUgt3YvlO8si7E+BJ5Fe3wb5yUw7DQ==, } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dependencies: - "@typescript-eslint/types": 5.60.0 - "@typescript-eslint/visitor-keys": 5.60.0 + "@typescript-eslint/types": 5.60.1 + "@typescript-eslint/visitor-keys": 5.60.1 dev: true - /@typescript-eslint/type-utils@5.60.0(eslint@8.43.0)(typescript@5.1.3): + /@typescript-eslint/type-utils@5.60.1(eslint@8.44.0)(typescript@5.1.6): resolution: { - integrity: sha512-X7NsRQddORMYRFH7FWo6sA9Y/zbJ8s1x1RIAtnlj6YprbToTiQnM6vxcMu7iYhdunmoC0rUWlca13D5DVHkK2g==, + integrity: sha512-vN6UztYqIu05nu7JqwQGzQKUJctzs3/Hg7E2Yx8rz9J+4LgtIDFWjjl1gm3pycH0P3mHAcEUBd23LVgfrsTR8A==, } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: @@ -3938,28 +3946,28 @@ packages: typescript: optional: true dependencies: - "@typescript-eslint/typescript-estree": 5.60.0(typescript@5.1.3) - "@typescript-eslint/utils": 5.60.0(eslint@8.43.0)(typescript@5.1.3) + "@typescript-eslint/typescript-estree": 5.60.1(typescript@5.1.6) + "@typescript-eslint/utils": 5.60.1(eslint@8.44.0)(typescript@5.1.6) debug: 4.3.4 - eslint: 8.43.0 - tsutils: 3.21.0(typescript@5.1.3) - typescript: 5.1.3 + eslint: 8.44.0 + tsutils: 3.21.0(typescript@5.1.6) + typescript: 5.1.6 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types@5.60.0: + /@typescript-eslint/types@5.60.1: resolution: { - integrity: sha512-ascOuoCpNZBccFVNJRSC6rPq4EmJ2NkuoKnd6LDNyAQmdDnziAtxbCGWCbefG1CNzmDvd05zO36AmB7H8RzKPA==, + integrity: sha512-zDcDx5fccU8BA0IDZc71bAtYIcG9PowaOwaD8rjYbqwK7dpe/UMQl3inJ4UtUK42nOCT41jTSCwg76E62JpMcg==, } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dev: true - /@typescript-eslint/typescript-estree@5.60.0(typescript@5.1.3): + /@typescript-eslint/typescript-estree@5.60.1(typescript@5.1.6): resolution: { - integrity: sha512-R43thAuwarC99SnvrBmh26tc7F6sPa2B3evkXp/8q954kYL6Ro56AwASYWtEEi+4j09GbiNAHqYwNNZuNlARGQ==, + integrity: sha512-hkX70J9+2M2ZT6fhti5Q2FoU9zb+GeZK2SLP1WZlvUDqdMbEKhexZODD1WodNRyO8eS+4nScvT0dts8IdaBzfw==, } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: @@ -3968,34 +3976,34 @@ packages: typescript: optional: true dependencies: - "@typescript-eslint/types": 5.60.0 - "@typescript-eslint/visitor-keys": 5.60.0 + "@typescript-eslint/types": 5.60.1 + "@typescript-eslint/visitor-keys": 5.60.1 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 semver: 7.5.2 - tsutils: 3.21.0(typescript@5.1.3) - typescript: 5.1.3 + tsutils: 3.21.0(typescript@5.1.6) + typescript: 5.1.6 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@5.60.0(eslint@8.43.0)(typescript@5.1.3): + /@typescript-eslint/utils@5.60.1(eslint@8.44.0)(typescript@5.1.6): resolution: { - integrity: sha512-ba51uMqDtfLQ5+xHtwlO84vkdjrqNzOnqrnwbMHMRY8Tqeme8C2Q8Fc7LajfGR+e3/4LoYiWXUM6BpIIbHJ4hQ==, + integrity: sha512-tiJ7FFdFQOWssFa3gqb94Ilexyw0JVxj6vBzaSpfN/8IhoKkDuSAenUKvsSHw2A/TMpJb26izIszTXaqygkvpQ==, } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - "@eslint-community/eslint-utils": 4.4.0(eslint@8.43.0) + "@eslint-community/eslint-utils": 4.4.0(eslint@8.44.0) "@types/json-schema": 7.0.12 "@types/semver": 7.5.0 - "@typescript-eslint/scope-manager": 5.60.0 - "@typescript-eslint/types": 5.60.0 - "@typescript-eslint/typescript-estree": 5.60.0(typescript@5.1.3) - eslint: 8.43.0 + "@typescript-eslint/scope-manager": 5.60.1 + "@typescript-eslint/types": 5.60.1 + "@typescript-eslint/typescript-estree": 5.60.1(typescript@5.1.6) + eslint: 8.44.0 eslint-scope: 5.1.1 semver: 7.5.2 transitivePeerDependencies: @@ -4003,14 +4011,14 @@ packages: - typescript dev: true - /@typescript-eslint/visitor-keys@5.60.0: + /@typescript-eslint/visitor-keys@5.60.1: resolution: { - integrity: sha512-wm9Uz71SbCyhUKgcaPRauBdTegUyY/ZWl8gLwD/i/ybJqscrrdVSFImpvUz16BLPChIeKBK5Fa9s6KDQjsjyWw==, + integrity: sha512-xEYIxKcultP6E/RMKqube11pGjXH1DCo60mQoWhVYyKfLkwbIVVjYxmOenNMxILx0TjCujPTjjnTIVzm09TXIw==, } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dependencies: - "@typescript-eslint/types": 5.60.0 + "@typescript-eslint/types": 5.60.1 eslint-visitor-keys: 3.4.1 dev: true @@ -5243,7 +5251,7 @@ packages: integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==, } - /cosmiconfig-typescript-loader@4.3.0(@types/node@20.3.1)(cosmiconfig@8.2.0)(ts-node@10.9.1)(typescript@5.1.3): + /cosmiconfig-typescript-loader@4.3.0(@types/node@20.3.1)(cosmiconfig@8.2.0)(ts-node@10.9.1)(typescript@5.1.6): resolution: { integrity: sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q==, @@ -5257,8 +5265,8 @@ packages: dependencies: "@types/node": 20.3.1 cosmiconfig: 8.2.0 - ts-node: 10.9.1(@types/node@20.3.1)(typescript@5.1.3) - typescript: 5.1.3 + ts-node: 10.9.1(@types/node@20.3.1)(typescript@5.1.6) + typescript: 5.1.6 dev: true /cosmiconfig@8.2.0: @@ -6246,7 +6254,7 @@ packages: source-map: 0.1.43 dev: false - /eslint-config-prettier@8.8.0(eslint@8.43.0): + /eslint-config-prettier@8.8.0(eslint@8.44.0): resolution: { integrity: sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==, @@ -6255,10 +6263,10 @@ packages: peerDependencies: eslint: ">=7.0.0" dependencies: - eslint: 8.43.0 + eslint: 8.44.0 dev: true - /eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.8.0)(eslint@8.43.0)(prettier@2.8.8): + /eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.8.0)(eslint@8.44.0)(prettier@2.8.8): resolution: { integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==, @@ -6272,8 +6280,8 @@ packages: eslint-config-prettier: optional: true dependencies: - eslint: 8.43.0 - eslint-config-prettier: 8.8.0(eslint@8.43.0) + eslint: 8.44.0 + eslint-config-prettier: 8.8.0(eslint@8.44.0) prettier: 2.8.8 prettier-linter-helpers: 1.0.0 dev: true @@ -6308,18 +6316,18 @@ packages: engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dev: true - /eslint@8.43.0: + /eslint@8.44.0: resolution: { - integrity: sha512-aaCpf2JqqKesMFGgmRPessmVKjcGXqdlAYLLC3THM8t5nBRZRQ+st5WM/hoJXkdioEXLLbXgclUpM0TXo5HX5Q==, + integrity: sha512-0wpHoUbDUHgNCyvFB5aXLiQVfK9B0at6gUvzy83k4kAsQ/u769TQDX6iKC+aO4upIHO9WSaA3QoXYQDHbNwf1A==, } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } hasBin: true dependencies: - "@eslint-community/eslint-utils": 4.4.0(eslint@8.43.0) + "@eslint-community/eslint-utils": 4.4.0(eslint@8.44.0) "@eslint-community/regexpp": 4.5.1 - "@eslint/eslintrc": 2.0.3 - "@eslint/js": 8.43.0 + "@eslint/eslintrc": 2.1.0 + "@eslint/js": 8.44.0 "@humanwhocodes/config-array": 0.11.10 "@humanwhocodes/module-importer": 1.0.1 "@nodelib/fs.walk": 1.2.8 @@ -6331,7 +6339,7 @@ packages: escape-string-regexp: 4.0.0 eslint-scope: 7.2.0 eslint-visitor-keys: 3.4.1 - espree: 9.5.2 + espree: 9.6.0 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -6351,7 +6359,7 @@ packages: lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 - optionator: 0.9.1 + optionator: 0.9.3 strip-ansi: 6.0.1 strip-json-comments: 3.1.1 text-table: 0.2.0 @@ -6359,10 +6367,10 @@ packages: - supports-color dev: true - /espree@9.5.2: + /espree@9.6.0: resolution: { - integrity: sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==, + integrity: sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A==, } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dependencies: @@ -8272,10 +8280,10 @@ packages: engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dev: true - /lint-staged@13.2.2: + /lint-staged@13.2.3: resolution: { - integrity: sha512-71gSwXKy649VrSU09s10uAT0rWCcY3aewhMaHyl2N84oBk4Xs9HgxvUp3AYu+bNsK4NrOYYxvSgg7FyGJ+jGcA==, + integrity: sha512-zVVEXLuQIhr1Y7R7YAWx4TZLdvuzk7DnmrsTNL0fax6Z3jrpFcas+vKbzxhhvp6TA55m1SQuWkpzI1qbfDZbAg==, } engines: { node: ^14.13.1 || >=16.0.0 } hasBin: true @@ -9300,19 +9308,19 @@ packages: word-wrap: 1.2.3 dev: false - /optionator@0.9.1: + /optionator@0.9.3: resolution: { - integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==, + integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==, } engines: { node: ">= 0.8.0" } dependencies: + "@aashutoshrathi/word-wrap": 1.2.6 deep-is: 0.1.4 fast-levenshtein: 2.0.6 levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 - word-wrap: 1.2.3 dev: true /ora@5.4.1: @@ -10128,7 +10136,7 @@ packages: dependencies: lilconfig: 2.1.0 postcss: 8.4.24 - ts-node: 10.9.1(@types/node@20.3.1)(typescript@5.1.3) + ts-node: 10.9.1(@types/node@20.3.1)(typescript@5.1.6) yaml: 2.3.1 dev: true @@ -10715,7 +10723,7 @@ packages: fast-diff: 1.3.0 dev: true - /prettier-plugin-organize-imports@3.2.2(prettier@2.8.8)(typescript@5.1.3): + /prettier-plugin-organize-imports@3.2.2(prettier@2.8.8)(typescript@5.1.6): resolution: { integrity: sha512-e97lE6odGSiHonHJMTYC0q0iLXQyw0u5z/PJpvP/3vRy6/Zi9kLBwFAbEGjDzIowpjQv8b+J04PDamoUSQbzGA==, @@ -10732,7 +10740,7 @@ packages: optional: true dependencies: prettier: 2.8.8 - typescript: 5.1.3 + typescript: 5.1.6 dev: true /prettier@2.8.8: @@ -11349,19 +11357,19 @@ packages: get-assigned-identifiers: 1.2.0 dev: false - /semantic-release@21.0.5: + /semantic-release@21.0.6: resolution: { - integrity: sha512-mCc7Hx9Ro/1Clk9tLLgwQIQuiEzx+1OX12EazvNysnx1VG4eaNJE9b9IyWtTxyFxaFYi7nM5VB5ZDVzheHTDPA==, + integrity: sha512-NDyosObAwUNzPpdf+mpL49Xy+5iYHjdWM34LBNdbdYv9vBLbw+eCCDihxcqPh+f9m4ZzlBrYCkHUaZv2vPGW9A==, } engines: { node: ">=18" } hasBin: true dependencies: - "@semantic-release/commit-analyzer": 10.0.1(semantic-release@21.0.5) + "@semantic-release/commit-analyzer": 10.0.1(semantic-release@21.0.6) "@semantic-release/error": 4.0.0 - "@semantic-release/github": 9.0.3(semantic-release@21.0.5) - "@semantic-release/npm": 10.0.4(semantic-release@21.0.5) - "@semantic-release/release-notes-generator": 11.0.3(semantic-release@21.0.5) + "@semantic-release/github": 9.0.3(semantic-release@21.0.6) + "@semantic-release/npm": 10.0.4(semantic-release@21.0.6) + "@semantic-release/release-notes-generator": 11.0.3(semantic-release@21.0.6) aggregate-error: 4.0.1 cosmiconfig: 8.2.0 debug: 4.3.4 @@ -11424,17 +11432,6 @@ packages: hasBin: true dev: true - /semver@7.5.0: - resolution: - { - integrity: sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==, - } - engines: { node: ">=10" } - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - /semver@7.5.2: resolution: { @@ -12393,7 +12390,7 @@ packages: } dev: true - /ts-node@10.9.1(@types/node@20.3.1)(typescript@5.1.3): + /ts-node@10.9.1(@types/node@20.3.1)(typescript@5.1.6): resolution: { integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==, @@ -12422,7 +12419,7 @@ packages: create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.1.3 + typescript: 5.1.6 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: true @@ -12440,7 +12437,7 @@ packages: integrity: sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==, } - /tsutils@3.21.0(typescript@5.1.3): + /tsutils@3.21.0(typescript@5.1.6): resolution: { integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==, @@ -12450,7 +12447,7 @@ packages: typescript: ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" dependencies: tslib: 1.14.1 - typescript: 5.1.3 + typescript: 5.1.6 dev: true /type-check@0.3.2: @@ -12577,10 +12574,10 @@ packages: } dev: false - /typescript@5.1.3: + /typescript@5.1.6: resolution: { - integrity: sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==, + integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==, } engines: { node: ">=14.17" } hasBin: true diff --git a/themes/cp_admin/episode/soundbites_new.php b/themes/cp_admin/episode/soundbites_new.php index b686de27..4cae03d3 100644 --- a/themes/cp_admin/episode/soundbites_new.php +++ b/themes/cp_admin/episode/soundbites_new.php @@ -20,8 +20,8 @@ required="true" class="max-w-sm" /> - - audio element. diff --git a/themes/cp_admin/episode/video_clips_new.php b/themes/cp_admin/episode/video_clips_new.php index 3f3ca52a..15055c3a 100644 --- a/themes/cp_admin/episode/video_clips_new.php +++ b/themes/cp_admin/episode/video_clips_new.php @@ -17,7 +17,7 @@ <?= $episode->cover->description ?> - +