From 4d8bbd0bd1a0305adcc46508ee2ca03584f18314 Mon Sep 17 00:00:00 2001 From: Hugo Alliaume Date: Tue, 12 Aug 2025 21:38:47 +0200 Subject: [PATCH] [Typed] Remove package --- .github/workflows/unit-tests.yaml | 4 +- pnpm-lock.yaml | 38 ---- src/Typed/.gitattributes | 5 - src/Typed/.github/PULL_REQUEST_TEMPLATE.md | 8 - .../.github/workflows/close-pull-request.yml | 20 --- src/Typed/.gitignore | 5 - src/Typed/.symfony.bundle.yaml | 3 - src/Typed/CHANGELOG.md | 35 ---- src/Typed/LICENSE | 19 -- src/Typed/README.md | 151 ---------------- src/Typed/assets/LICENSE | 19 -- src/Typed/assets/README.md | 24 --- src/Typed/assets/dist/controller.d.ts | 76 -------- src/Typed/assets/dist/controller.js | 56 ------ src/Typed/assets/package.json | 55 ------ src/Typed/assets/src/controller.ts | 84 --------- src/Typed/assets/test/controller.test.ts | 75 -------- src/Typed/composer.json | 39 ---- src/Typed/doc/Animation.gif | Bin 152978 -> 0 bytes src/Typed/doc/index.rst | 166 ------------------ .../DependencyInjection/TypedExtension.php | 59 ------- src/Typed/src/TypedBundle.php | 27 --- test_apps/encore-app/assets/controllers.json | 6 - test_apps/encore-app/composer.json | 1 - test_apps/encore-app/config/bundles.php | 1 - test_apps/encore-app/package.json | 2 - test_apps/encore-app/symfony.lock | 3 - ux.symfony.com/assets/controllers.json | 6 - ux.symfony.com/composer.json | 1 - ux.symfony.com/composer.lock | 71 +------- ux.symfony.com/config/bundles.php | 1 - ux.symfony.com/importmap.php | 11 +- .../src/Service/UxPackageRepository.php | 1 + ux.symfony.com/symfony.lock | 3 - .../templates/ux_packages/typed.html.twig | 93 +++++----- ux.symfony.com/tests/baseline-ignore | 1 - 36 files changed, 65 insertions(+), 1104 deletions(-) delete mode 100644 src/Typed/.gitattributes delete mode 100644 src/Typed/.github/PULL_REQUEST_TEMPLATE.md delete mode 100644 src/Typed/.github/workflows/close-pull-request.yml delete mode 100644 src/Typed/.gitignore delete mode 100644 src/Typed/.symfony.bundle.yaml delete mode 100644 src/Typed/CHANGELOG.md delete mode 100644 src/Typed/LICENSE delete mode 100644 src/Typed/README.md delete mode 100644 src/Typed/assets/LICENSE delete mode 100644 src/Typed/assets/README.md delete mode 100644 src/Typed/assets/dist/controller.d.ts delete mode 100644 src/Typed/assets/dist/controller.js delete mode 100644 src/Typed/assets/package.json delete mode 100644 src/Typed/assets/src/controller.ts delete mode 100644 src/Typed/assets/test/controller.test.ts delete mode 100644 src/Typed/composer.json delete mode 100644 src/Typed/doc/Animation.gif delete mode 100644 src/Typed/doc/index.rst delete mode 100644 src/Typed/src/DependencyInjection/TypedExtension.php delete mode 100644 src/Typed/src/TypedBundle.php diff --git a/.github/workflows/unit-tests.yaml b/.github/workflows/unit-tests.yaml index eb066f4a202..8f290331da6 100644 --- a/.github/workflows/unit-tests.yaml +++ b/.github/workflows/unit-tests.yaml @@ -68,8 +68,8 @@ jobs: echo PHPUNIT='vendor/bin/simple-phpunit' >> $GITHUB_ENV [ 'lowest' = '${{ matrix.dependency-version }}' ] && export SYMFONY_DEPRECATIONS_HELPER=weak - # Typed has no tests, Turbo has its own workflow file - EXCLUDED_PACKAGES="Typed|Turbo" + # Turbo has its own workflow file + EXCLUDED_PACKAGES="Turbo" # Exclude deprecated packages when testing against lowest dependencies if [ "${{ matrix.dependency-version }}" = "lowest" ]; then diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a88a4478daf..9a1f99a086e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -611,39 +611,6 @@ importers: specifier: ^3.2.4 version: 3.2.4(@types/node@22.16.5)(@vitest/browser@3.2.4)(jsdom@26.1.0)(lightningcss@1.30.1)(msw@2.10.4(@types/node@22.16.5)(typescript@5.8.3))(terser@5.43.1) - src/Typed/assets: - devDependencies: - '@hotwired/stimulus': - specifier: ^3.0.0 - version: 3.2.2 - '@testing-library/dom': - specifier: ^10.4.0 - version: 10.4.0 - '@testing-library/jest-dom': - specifier: ^6.6.3 - version: 6.6.3 - '@testing-library/user-event': - specifier: ^14.6.1 - version: 14.6.1(@testing-library/dom@10.4.0) - jsdom: - specifier: ^26.1.0 - version: 26.1.0 - tslib: - specifier: ^2.8.1 - version: 2.8.1 - tsx: - specifier: ^4.20.3 - version: 4.20.3 - typed.js: - specifier: ^2.0 - version: 2.1.0 - typescript: - specifier: ^5.8.3 - version: 5.8.3 - vitest: - specifier: ^3.2.4 - version: 3.2.4(@types/node@22.16.5)(@vitest/browser@3.2.4)(jsdom@26.1.0)(lightningcss@1.30.1)(msw@2.10.4(@types/node@22.16.5)(typescript@5.8.3))(terser@5.43.1) - src/Vue/assets: devDependencies: '@hotwired/stimulus': @@ -2657,9 +2624,6 @@ packages: resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} engines: {node: '>=16'} - typed.js@2.1.0: - resolution: {integrity: sha512-bDuXEf7YcaKN4g08NMTUM6G90XU25CK3bh6U0THC/Mod/QPKlEt9g/EjvbYB8x2Qwr2p6J6I3NrsoYaVnY6wsQ==} - typescript@5.8.3: resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} engines: {node: '>=14.17'} @@ -4777,8 +4741,6 @@ snapshots: type-fest@4.41.0: optional: true - typed.js@2.1.0: {} - typescript@5.8.3: {} ufo@1.6.1: {} diff --git a/src/Typed/.gitattributes b/src/Typed/.gitattributes deleted file mode 100644 index 3c8401b61de..00000000000 --- a/src/Typed/.gitattributes +++ /dev/null @@ -1,5 +0,0 @@ -/.git* export-ignore -/.symfony.bundle.yaml export-ignore -/assets/src export-ignore -/assets/test export-ignore -/doc export-ignore diff --git a/src/Typed/.github/PULL_REQUEST_TEMPLATE.md b/src/Typed/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index df3b474b452..00000000000 --- a/src/Typed/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,8 +0,0 @@ -Please do not submit any Pull Requests here. They will be closed. ---- - -Please submit your PR here instead: -https://github.com/symfony/ux - -This repository is what we call a "subtree split": a read-only subset of that main repository. -We're looking forward to your PR there! diff --git a/src/Typed/.github/workflows/close-pull-request.yml b/src/Typed/.github/workflows/close-pull-request.yml deleted file mode 100644 index 57e4e3fb074..00000000000 --- a/src/Typed/.github/workflows/close-pull-request.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: Close Pull Request - -on: - pull_request_target: - types: [opened] - -jobs: - run: - runs-on: ubuntu-latest - steps: - - uses: superbrothers/close-pull-request@v3 - with: - comment: | - Thanks for your Pull Request! We love contributions. - - However, you should instead open your PR on the main repository: - https://github.com/symfony/ux - - This repository is what we call a "subtree split": a read-only subset of that main repository. - We're looking forward to your PR there! diff --git a/src/Typed/.gitignore b/src/Typed/.gitignore deleted file mode 100644 index 2cc9f0231c3..00000000000 --- a/src/Typed/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -/assets/node_modules/ -/vendor/ -/composer.lock -/phpunit.xml -/.phpunit.result.cache diff --git a/src/Typed/.symfony.bundle.yaml b/src/Typed/.symfony.bundle.yaml deleted file mode 100644 index 6d9a74acb76..00000000000 --- a/src/Typed/.symfony.bundle.yaml +++ /dev/null @@ -1,3 +0,0 @@ -branches: ["2.x"] -maintained_branches: ["2.x"] -doc_dir: "doc" diff --git a/src/Typed/CHANGELOG.md b/src/Typed/CHANGELOG.md deleted file mode 100644 index 152c335d498..00000000000 --- a/src/Typed/CHANGELOG.md +++ /dev/null @@ -1,35 +0,0 @@ -# CHANGELOG - -## 2.29.0 - -- Add Symfony 8 support - -## 2.26.0 - -- Deprecate the package - -## 2.13.2 - -- Revert "Change JavaScript package to `type: module`" - -## 2.13.0 - -- Change JavaScript package to `type: module` - -## 2.9.0 - -- A TypedBundle was added - which allows for integration with symfony/asset-mapper. - -- Add support for symfony/asset-mapper - -## 2.7.0 - -- Add `assets/src` to `.gitattributes` to exclude source TypeScript files from - installing. - -- TypeScript types are now included. - -## 2.6.0 - -- [BC BREAK] The `assets/` directory was moved from `Resources/assets/` to `assets/`. Make - sure the path in your `package.json` file is updated accordingly. diff --git a/src/Typed/LICENSE b/src/Typed/LICENSE deleted file mode 100644 index 0ed3a246553..00000000000 --- a/src/Typed/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2020-present Fabien Potencier - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/src/Typed/README.md b/src/Typed/README.md deleted file mode 100644 index 17352bc948f..00000000000 --- a/src/Typed/README.md +++ /dev/null @@ -1,151 +0,0 @@ -# Symfony UX Typed - -> [!WARNING] -> **Deprecated**: This package has been **deprecated** in 2.x and will be removed in the next major version. - -To keep the same functionality in your Symfony application, follow these migration steps: - -1. Install the `typed.js` library: - -```bash -# If using Symfony AssetMapper: -php bin/console importmap:require typed.js - -# If using NPM (e.g.: with Webpack Encore): -npm install typed.js -``` - -2. Add the following code to your app: - -
assets/controllers/typed_controller.js - -```javascript -import { Controller } from '@hotwired/stimulus'; -import Typed from 'typed.js'; - -export default class extends Controller { - static values = { - strings: Array, - typeSpeed: { type: Number, default: 30 }, - smartBackspace: { type: Boolean, default: true }, - startDelay: Number, - backSpeed: Number, - shuffle: Boolean, - backDelay: { type: Number, default: 700 }, - fadeOut: Boolean, - fadeOutClass: { type: String, default: 'typed-fade-out' }, - fadeOutDelay: { type: Number, default: 500 }, - loop: Boolean, - loopCount: { type: Number, default: Number.POSITIVE_INFINITY }, - showCursor: { type: Boolean, default: true }, - cursorChar: { type: String, default: '.' }, - autoInsertCss: { type: Boolean, default: true }, - attr: String, - bindInputFocusEvents: Boolean, - contentType: { type: String, default: 'html' }, - }; - - connect() { - const options = { - strings: this.stringsValue, - typeSpeed: this.typeSpeedValue, - smartBackspace: this.smartBackspaceValue, - startDelay: this.startDelayValue, - backSpeed: this.backSpeedValue, - shuffle: this.shuffleValue, - backDelay: this.backDelayValue, - fadeOut: this.fadeOutValue, - fadeOutClass: this.fadeOutClassValue, - fadeOutDelay: this.fadeOutDelayValue, - loop: this.loopValue, - loopCount: this.loopCountValue, - showCursor: this.showCursorValue, - cursorChar: this.cursorCharValue, - autoInsertCss: this.autoInsertCssValue, - attr: this.attrValue, - bindInputFocusEvents: this.bindInputFocusEventsValue, - contentType: this.contentTypeValue, - }; - - this.dispatchEvent('pre-connect', { options }); - const typed = new Typed(this.element, options); - this.dispatchEvent('connect', { typed, options }); - } - - dispatchEvent(name, payload) { - this.dispatch(name, { detail: payload, prefix: 'typed' }); - } -} -``` - -
- -3. Replace the `symfony--ux-typed` occurrences in your templates with `typed`, for example: - -```diff -{% set strings = [ - 'I ❤️ Symfony UX!', - 'Symfony UX Typed loves to type', - 'Symfony UX Typed and backspace', - 'Control the speed', - 'Control the cursor', - 'Control your destiny!!!', - 'Control your destiny... sort of', -] %} - -``` - -4. Remove `symfony/ux-typed` from your dependencies: - -```bash -composer remove symfony/ux-typed -``` - -You're done! - ---- - -Symfony UX Typed is a Symfony bundle integrating [Typed](https://github.com/mattboldt/typed.js/blob/master/README.md) in -Symfony applications. It is part of [the Symfony UX initiative](https://ux.symfony.com/). - -Typed is a complete and easy to use animated typed texts. -Just enter the strings you want to see typed, and it goes live without complexity. - -![Typed in action](doc/Animation.gif) - -**This repository is a READ-ONLY sub-tree split**. See -https://github.com/symfony/ux to create issues or submit pull requests. - -## Sponsor - -The Symfony UX packages are [backed][1] by [Mercure.rocks][2]. - -Create real-time experiences in minutes! Mercure.rocks provides a realtime API service -that is tightly integrated with Symfony: create UIs that update in live with UX Turbo, -send notifications with the Notifier component, expose async APIs with API Platform and -create low level stuffs with the Mercure component. We maintain and scale the complex -infrastructure for you! - -Help Symfony by [sponsoring][3] its development! - -## Resources - -- [Documentation](https://symfony.com/bundles/ux-typed/current/index.html) -- [Report issues](https://github.com/symfony/ux/issues) and - [send Pull Requests](https://github.com/symfony/ux/pulls) - in the [main Symfony UX repository](https://github.com/symfony/ux) - -[1]: https://symfony.com/backers -[2]: https://mercure.rocks -[3]: https://symfony.com/sponsor diff --git a/src/Typed/assets/LICENSE b/src/Typed/assets/LICENSE deleted file mode 100644 index 0ed3a246553..00000000000 --- a/src/Typed/assets/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2020-present Fabien Potencier - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/src/Typed/assets/README.md b/src/Typed/assets/README.md deleted file mode 100644 index 3e29914369c..00000000000 --- a/src/Typed/assets/README.md +++ /dev/null @@ -1,24 +0,0 @@ -# @symfony/ux-typed - -JavaScript assets of the [symfony/ux-typed](https://packagist.org/packages/symfony/ux-typed) PHP package. - -## Installation - -This npm package is **reserved for advanced users** who want to decouple their JavaScript dependencies from their PHP dependencies (e.g., when building Docker images, running JavaScript-only pipelines, etc.). - -We **strongly recommend not installing this package directly**, but instead install the PHP package [symfony/ux-typed](https://packagist.org/packages/symfony/ux-typed) in your Symfony application with [Flex](https://github.com/symfony/flex) enabled. - -If you still want to install this package directly, please make sure its version exactly matches [symfony/ux-typed](https://packagist.org/packages/symfony/ux-typed) PHP package version: -```shell -composer require symfony/ux-typed:2.23.0 -npm add @symfony/ux-typed@2.23.0 -``` - -**Tip:** Your `package.json` file will be automatically modified by [Flex](https://github.com/symfony/flex) when installing or upgrading a PHP package. To prevent this behavior, ensure to **use at least Flex 1.22.0 or 2.5.0**, and run `composer config extra.symfony.flex.synchronize_package_json false`. - -## Resources - -- [Documentation](https://symfony.com/bundles/ux-typed/current/index.html) -- [Report issues](https://github.com/symfony/ux/issues) and - [send Pull Requests](https://github.com/symfony/ux/pulls) - in the [main Symfony UX repository](https://github.com/symfony/ux) diff --git a/src/Typed/assets/dist/controller.d.ts b/src/Typed/assets/dist/controller.d.ts deleted file mode 100644 index c356ddf4993..00000000000 --- a/src/Typed/assets/dist/controller.d.ts +++ /dev/null @@ -1,76 +0,0 @@ -import { Controller } from '@hotwired/stimulus'; - -declare class export_default extends Controller { - static values: { - strings: ArrayConstructor; - typeSpeed: { - type: NumberConstructor; - default: number; - }; - smartBackspace: { - type: BooleanConstructor; - default: boolean; - }; - startDelay: NumberConstructor; - backSpeed: NumberConstructor; - shuffle: BooleanConstructor; - backDelay: { - type: NumberConstructor; - default: number; - }; - fadeOut: BooleanConstructor; - fadeOutClass: { - type: StringConstructor; - default: string; - }; - fadeOutDelay: { - type: NumberConstructor; - default: number; - }; - loop: BooleanConstructor; - loopCount: { - type: NumberConstructor; - default: number; - }; - showCursor: { - type: BooleanConstructor; - default: boolean; - }; - cursorChar: { - type: StringConstructor; - default: string; - }; - autoInsertCss: { - type: BooleanConstructor; - default: boolean; - }; - attr: StringConstructor; - bindInputFocusEvents: BooleanConstructor; - contentType: { - type: StringConstructor; - default: string; - }; - }; - readonly stringsValue: string[]; - readonly typeSpeedValue: number; - readonly smartBackspaceValue: boolean; - readonly startDelayValue?: number; - readonly backSpeedValue?: number; - readonly shuffleValue?: boolean; - readonly backDelayValue: number; - readonly fadeOutValue?: boolean; - readonly fadeOutClassValue: string; - readonly fadeOutDelayValue: number; - readonly loopValue?: boolean; - readonly loopCountValue: number; - readonly showCursorValue: boolean; - readonly cursorCharValue: string; - readonly autoInsertCssValue: boolean; - readonly attrValue?: string; - readonly bindInputFocusEventsValue?: boolean; - readonly contentTypeValue: string; - connect(): void; - private dispatchEvent; -} - -export { export_default as default }; diff --git a/src/Typed/assets/dist/controller.js b/src/Typed/assets/dist/controller.js deleted file mode 100644 index 242224a4b2f..00000000000 --- a/src/Typed/assets/dist/controller.js +++ /dev/null @@ -1,56 +0,0 @@ -// src/controller.ts -import { Controller } from "@hotwired/stimulus"; -import Typed from "typed.js"; -var controller_default = class extends Controller { - connect() { - const options = { - strings: this.stringsValue, - typeSpeed: this.typeSpeedValue, - smartBackspace: this.smartBackspaceValue, - startDelay: this.startDelayValue, - backSpeed: this.backSpeedValue, - shuffle: this.shuffleValue, - backDelay: this.backDelayValue, - fadeOut: this.fadeOutValue, - fadeOutClass: this.fadeOutClassValue, - fadeOutDelay: this.fadeOutDelayValue, - loop: this.loopValue, - loopCount: this.loopCountValue, - showCursor: this.showCursorValue, - cursorChar: this.cursorCharValue, - autoInsertCss: this.autoInsertCssValue, - attr: this.attrValue, - bindInputFocusEvents: this.bindInputFocusEventsValue, - contentType: this.contentTypeValue - }; - this.dispatchEvent("pre-connect", { options }); - const typed = new Typed(this.element, options); - this.dispatchEvent("connect", { typed, options }); - } - dispatchEvent(name, payload) { - this.dispatch(name, { detail: payload, prefix: "typed" }); - } -}; -controller_default.values = { - strings: Array, - typeSpeed: { type: Number, default: 30 }, - smartBackspace: { type: Boolean, default: true }, - startDelay: Number, - backSpeed: Number, - shuffle: Boolean, - backDelay: { type: Number, default: 700 }, - fadeOut: Boolean, - fadeOutClass: { type: String, default: "typed-fade-out" }, - fadeOutDelay: { type: Number, default: 500 }, - loop: Boolean, - loopCount: { type: Number, default: Number.POSITIVE_INFINITY }, - showCursor: { type: Boolean, default: true }, - cursorChar: { type: String, default: "." }, - autoInsertCss: { type: Boolean, default: true }, - attr: String, - bindInputFocusEvents: Boolean, - contentType: { type: String, default: "html" } -}; -export { - controller_default as default -}; diff --git a/src/Typed/assets/package.json b/src/Typed/assets/package.json deleted file mode 100644 index 88f5c4adcbb..00000000000 --- a/src/Typed/assets/package.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "name": "@symfony/ux-typed", - "description": "Typed integration for Symfony", - "license": "MIT", - "version": "2.29.1", - "keywords": [ - "symfony-ux" - ], - "homepage": "https://ux.symfony.com/typed", - "repository": "https://github.com/symfony/ux-typed", - "type": "module", - "files": [ - "dist" - ], - "main": "dist/controller.js", - "types": "dist/controller.d.ts", - "scripts": { - "build": "tsx ../../../bin/build_package.ts .", - "watch": "tsx ../../../bin/build_package.ts . --watch", - "test": "../../../bin/test_package.sh .", - "check": "biome check", - "ci": "biome ci" - }, - "symfony": { - "controllers": { - "typed": { - "main": "dist/controller.js", - "name": "symfony/ux-typed", - "webpackMode": "eager", - "fetch": "eager", - "enabled": true - } - }, - "importmap": { - "typed.js": "^2.0", - "@hotwired/stimulus": "^3.0.0" - } - }, - "peerDependencies": { - "@hotwired/stimulus": "^3.0.0", - "typed.js": "^2.0" - }, - "devDependencies": { - "@hotwired/stimulus": "^3.0.0", - "@testing-library/dom": "^10.4.0", - "@testing-library/jest-dom": "^6.6.3", - "@testing-library/user-event": "^14.6.1", - "jsdom": "^26.1.0", - "tslib": "^2.8.1", - "tsx": "^4.20.3", - "typed.js": "^2.0", - "typescript": "^5.8.3", - "vitest": "^3.2.4" - } -} diff --git a/src/Typed/assets/src/controller.ts b/src/Typed/assets/src/controller.ts deleted file mode 100644 index 5192a9b1757..00000000000 --- a/src/Typed/assets/src/controller.ts +++ /dev/null @@ -1,84 +0,0 @@ -/* - * This file is part of the Symfony package. - * - * (c) Fabien Potencier - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -import { Controller } from '@hotwired/stimulus'; -import Typed from 'typed.js'; - -export default class extends Controller { - static values = { - strings: Array, - typeSpeed: { type: Number, default: 30 }, - smartBackspace: { type: Boolean, default: true }, - startDelay: Number, - backSpeed: Number, - shuffle: Boolean, - backDelay: { type: Number, default: 700 }, - fadeOut: Boolean, - fadeOutClass: { type: String, default: 'typed-fade-out' }, - fadeOutDelay: { type: Number, default: 500 }, - loop: Boolean, - loopCount: { type: Number, default: Number.POSITIVE_INFINITY }, - showCursor: { type: Boolean, default: true }, - cursorChar: { type: String, default: '.' }, - autoInsertCss: { type: Boolean, default: true }, - attr: String, - bindInputFocusEvents: Boolean, - contentType: { type: String, default: 'html' }, - }; - - declare readonly stringsValue: string[]; - declare readonly typeSpeedValue: number; - declare readonly smartBackspaceValue: boolean; - declare readonly startDelayValue?: number; - declare readonly backSpeedValue?: number; - declare readonly shuffleValue?: boolean; - declare readonly backDelayValue: number; - declare readonly fadeOutValue?: boolean; - declare readonly fadeOutClassValue: string; - declare readonly fadeOutDelayValue: number; - declare readonly loopValue?: boolean; - declare readonly loopCountValue: number; - declare readonly showCursorValue: boolean; - declare readonly cursorCharValue: string; - declare readonly autoInsertCssValue: boolean; - declare readonly attrValue?: string; - declare readonly bindInputFocusEventsValue?: boolean; - declare readonly contentTypeValue: string; - - connect() { - const options = { - strings: this.stringsValue, - typeSpeed: this.typeSpeedValue, - smartBackspace: this.smartBackspaceValue, - startDelay: this.startDelayValue, - backSpeed: this.backSpeedValue, - shuffle: this.shuffleValue, - backDelay: this.backDelayValue, - fadeOut: this.fadeOutValue, - fadeOutClass: this.fadeOutClassValue, - fadeOutDelay: this.fadeOutDelayValue, - loop: this.loopValue, - loopCount: this.loopCountValue, - showCursor: this.showCursorValue, - cursorChar: this.cursorCharValue, - autoInsertCss: this.autoInsertCssValue, - attr: this.attrValue, - bindInputFocusEvents: this.bindInputFocusEventsValue, - contentType: this.contentTypeValue, - }; - - this.dispatchEvent('pre-connect', { options }); - const typed = new Typed(this.element, options); - this.dispatchEvent('connect', { typed, options }); - } - - private dispatchEvent(name: string, payload: any) { - this.dispatch(name, { detail: payload, prefix: 'typed' }); - } -} diff --git a/src/Typed/assets/test/controller.test.ts b/src/Typed/assets/test/controller.test.ts deleted file mode 100644 index 453a35ecfa0..00000000000 --- a/src/Typed/assets/test/controller.test.ts +++ /dev/null @@ -1,75 +0,0 @@ -/* - * This file is part of the Symfony package. - * - * (c) Fabien Potencier - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -import { Application, Controller } from '@hotwired/stimulus'; -import { getByTestId, waitFor } from '@testing-library/dom'; -import { afterEach, beforeEach, describe, expect, it } from 'vitest'; -import { clearDOM, mountDOM } from '../../../../test/stimulus-helpers'; -import TypedController from '../src/controller'; - -// Controller used to check the actual controller was properly booted -class CheckController extends Controller { - connect() { - this.element.addEventListener('typed:connect', () => { - this.element.classList.add('connected'); - }); - this.element.addEventListener('typed:pre-connect', () => { - this.element.classList.add('pre-connected'); - }); - } -} - -const startStimulus = () => { - const application = Application.start(); - application.register('check', CheckController); - application.register('typed', TypedController); -}; - -describe('TypedController', () => { - let container: HTMLElement; - - beforeEach(() => { - container = mountDOM(` - - - Symfony UX - - -
- I created this UX component because -
- - - `); - }); - - afterEach(() => { - clearDOM(); - }); - - it('pre-connect', async () => { - expect(getByTestId(container, 'typed')).not.toHaveClass('pre-connected'); - expect(getByTestId(container, 'typed')).not.toHaveClass('connected'); - - startStimulus(); - await waitFor(() => expect(getByTestId(container, 'typed')).toHaveClass('pre-connected')); - await waitFor(() => expect(getByTestId(container, 'typed')).toHaveClass('connected')); - }); -}); diff --git a/src/Typed/composer.json b/src/Typed/composer.json deleted file mode 100644 index 81709aa2fa5..00000000000 --- a/src/Typed/composer.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "symfony/ux-typed", - "type": "symfony-bundle", - "description": "Typed integration for Symfony", - "keywords": [ - "symfony-ux" - ], - "homepage": "https://symfony.com", - "license": "MIT", - "authors": [ - { - "name": "Florent Morselli", - "email": "contact@spomky-labs.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "autoload": { - "psr-4": { - "Symfony\\UX\\Typed\\": "src/" - } - }, - "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3" - }, - "conflict": { - "symfony/flex": "<1.13" - }, - "extra": { - "thanks": { - "name": "symfony/ux", - "url": "https://github.com/symfony/ux" - } - }, - "minimum-stability": "dev" -} diff --git a/src/Typed/doc/Animation.gif b/src/Typed/doc/Animation.gif deleted file mode 100644 index 3ef485c5287204006dd5ef54e4723a4175f76185..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 152978 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 diff --git a/src/Typed/doc/index.rst b/src/Typed/doc/index.rst deleted file mode 100644 index cc4685c74f5..00000000000 --- a/src/Typed/doc/index.rst +++ /dev/null @@ -1,166 +0,0 @@ -Symfony UX Typed -================ - -.. warning:: - - **Deprecated: This package has been deprecated in 2.x and will be removed in the next major version.** - - To keep the same functionality in your Symfony application, please follow the migration steps - from the `Symfony UX Typed README.md`_. - -Symfony UX Typed is a Symfony bundle integrating `Typed`_ in -Symfony applications. It is part of `the Symfony UX initiative`_. - -Typed is a complete and easy to use animated typed texts. -Just enter the strings you want to see typed, and it goes live without complexity. - -.. image:: Animation.gif - :alt: Typed showing messages - -Installation ------------- - -.. caution:: - - Before you start, make sure you have `StimulusBundle configured in your app`_. - -Install the bundle using Composer and Symfony Flex: - -.. code-block:: terminal - - $ composer require symfony/ux-typed - -If you're using WebpackEncore, install your assets and restart Encore (not -needed if you're using AssetMapper): - -.. code-block:: terminal - - $ npm install --force - $ npm run watch - -.. note:: - - For more complex installation scenarios, you can install the JavaScript assets through the `@symfony/ux-typed npm package`_ - -Usage ------ - -Typed works using a list of strings and will manage typing them on your page. -It comes with a lot of parameters to customize the way the strings are typed: speed, cursor, delays -and smart backspace are some incredible parameters you can use. - -The main usage of Symfony UX Typed is to use its Stimulus controller to initialize Typed: - -.. code-block:: html+twig - -
- I created this UX component because - -
- - -That's it! Typed now shows the messages defined in the ``strings`` argument. -You can customize the way those messages are typed. -Parameters are exactly the same as for the `typed library`_ - -.. code-block:: html+twig - -
- I created this UX component because - -
- -Extend the JavaScript Controller -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Symfony UX Typed allows you to extend its default behavior using a custom -Stimulus controller: - -.. code-block:: javascript - - // assets/controllers/mytyped_controller.js - - import { Controller } from '@hotwired/stimulus'; - - export default class extends Controller { - initialize() { - this._onPreConnect = this._onPreConnect.bind(this); - this._onConnect = this._onConnect.bind(this); - } - - connect() { - this.element.addEventListener('typed:pre-connect', this._onPreConnect); - this.element.addEventListener('typed:connect', this._onConnect); - } - - disconnect() { - // You should always remove listeners when the controller is disconnected to avoid side-effects - this.element.removeEventListener('typed:connect', this._onConnect); - this.element.removeEventListener('typed:pre-connect', this._onPreConnect); - } - - _onPreConnect(event) { - // Typed has not been initialized - options can be changed - console.log(event.detail.options); // Options that will be used to initialize Typed - event.detail.options.onBegin = (typed) => { - console.log("Typed is ready to type cool messages!"); - }; - event.detail.options.onStop = (typed) => { - console.log("OK. Enough is enough."); - }; - } - - _onConnect(event) { - // Typed has just been initialized and you can access details from the event - console.log(event.detail.typed); // Typed instance - console.log(event.detail.options); // Options used to initialize Typed - } - } - -.. code-block:: - -Then in your template, add your controller to the HTML attribute: - -.. code-block:: html+twig - - - - Typed - {# ... #} - - - {# ... #} - - - -.. note:: - - Be careful to add your controller **before** the Typed controller so that it - is executed before and can listen on the ``typed:connect`` event properly. - -Backward Compatibility promise ------------------------------- - -This bundle aims at following the same Backward Compatibility promise as -the Symfony framework: -https://symfony.com/doc/current/contributing/code/bc.html - -.. _`Typed`: https://github.com/mattboldt/typed.js/blob/master/README.md -.. _`the Symfony UX initiative`: https://ux.symfony.com/ -.. _`typed library`: https://github.com/mattboldt/typed.js/blob/master/README.md -.. _StimulusBundle configured in your app: https://symfony.com/bundles/StimulusBundle/current/index.html -.. _`@symfony/ux-typed npm package`: https://www.npmjs.com/package/@symfony/ux-typed -.. _`Symfony UX Typed README.md`: https://github.com/symfony/ux/tree/2.x/src/Typed diff --git a/src/Typed/src/DependencyInjection/TypedExtension.php b/src/Typed/src/DependencyInjection/TypedExtension.php deleted file mode 100644 index 5e901d624c6..00000000000 --- a/src/Typed/src/DependencyInjection/TypedExtension.php +++ /dev/null @@ -1,59 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\UX\Typed\DependencyInjection; - -use Symfony\Component\AssetMapper\AssetMapperInterface; -use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\Extension\PrependExtensionInterface; -use Symfony\Component\HttpKernel\DependencyInjection\Extension; - -trigger_deprecation('symfony/ux-typed', '2.27.0', 'The package is deprecated and will be removed in 3.0. Follow the migration steps in https://github.com/symfony/ux/tree/2.x/src/Typed to keep using Typed in your Symfony application.'); - -/** - * @internal - */ -class TypedExtension extends Extension implements PrependExtensionInterface -{ - public function load(array $configs, ContainerBuilder $container): void - { - } - - public function prepend(ContainerBuilder $container): void - { - if (!$this->isAssetMapperAvailable($container)) { - return; - } - - $container->prependExtensionConfig('framework', [ - 'asset_mapper' => [ - 'paths' => [ - __DIR__.'/../../assets/dist' => '@symfony/ux-typed', - ], - ], - ]); - } - - private function isAssetMapperAvailable(ContainerBuilder $container): bool - { - if (!interface_exists(AssetMapperInterface::class)) { - return false; - } - - // check that FrameworkBundle 6.3 or higher is installed - $bundlesMetadata = $container->getParameter('kernel.bundles_metadata'); - if (!isset($bundlesMetadata['FrameworkBundle'])) { - return false; - } - - return is_file($bundlesMetadata['FrameworkBundle']['path'].'/Resources/config/asset_mapper.php'); - } -} diff --git a/src/Typed/src/TypedBundle.php b/src/Typed/src/TypedBundle.php deleted file mode 100644 index 808fa55d706..00000000000 --- a/src/Typed/src/TypedBundle.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\UX\Typed; - -use Symfony\Component\HttpKernel\Bundle\Bundle; - -trigger_deprecation('symfony/ux-typed', '2.27.0', 'The package is deprecated and will be removed in 3.0. Follow the migration steps in https://github.com/symfony/ux/tree/2.x/src/Typed to keep using Typed in your Symfony application.'); - -/** - * @final - */ -class TypedBundle extends Bundle -{ - public function getPath(): string - { - return \dirname(__DIR__); - } -} diff --git a/test_apps/encore-app/assets/controllers.json b/test_apps/encore-app/assets/controllers.json index 61a7caedbc2..f8a100fee0f 100644 --- a/test_apps/encore-app/assets/controllers.json +++ b/test_apps/encore-app/assets/controllers.json @@ -100,12 +100,6 @@ "fetch": "eager" } }, - "@symfony/ux-typed": { - "typed": { - "enabled": true, - "fetch": "eager" - } - }, "@symfony/ux-vue": { "vue": { "enabled": true, diff --git a/test_apps/encore-app/composer.json b/test_apps/encore-app/composer.json index 0c7c486b8e3..82bd0f9c761 100644 --- a/test_apps/encore-app/composer.json +++ b/test_apps/encore-app/composer.json @@ -30,7 +30,6 @@ "symfony/ux-translator": "^2.23", "symfony/ux-turbo": "^2.23", "symfony/ux-twig-component": "^2.23", - "symfony/ux-typed": "^2.23", "symfony/ux-vue": "^2.23", "symfony/webpack-encore-bundle": "^2.2", "symfony/yaml": "7.2.*" diff --git a/test_apps/encore-app/config/bundles.php b/test_apps/encore-app/config/bundles.php index 2f055ee053b..a71523ebb31 100644 --- a/test_apps/encore-app/config/bundles.php +++ b/test_apps/encore-app/config/bundles.php @@ -21,6 +21,5 @@ Symfony\UX\TogglePassword\TogglePasswordBundle::class => ['all' => true], Symfony\UX\Translator\UxTranslatorBundle::class => ['all' => true], Symfony\UX\Turbo\TurboBundle::class => ['all' => true], - Symfony\UX\Typed\TypedBundle::class => ['all' => true], Symfony\UX\Vue\VueBundle::class => ['all' => true], ]; diff --git a/test_apps/encore-app/package.json b/test_apps/encore-app/package.json index 64c60b642d0..dad9d8cc00f 100644 --- a/test_apps/encore-app/package.json +++ b/test_apps/encore-app/package.json @@ -21,7 +21,6 @@ "@symfony/ux-toggle-password": "file:vendor/symfony/ux-toggle-password/assets", "@symfony/ux-translator": "file:vendor/symfony/ux-translator/assets", "@symfony/ux-turbo": "file:vendor/symfony/ux-turbo/assets", - "@symfony/ux-typed": "file:vendor/symfony/ux-typed/assets", "@symfony/ux-vue": "file:vendor/symfony/ux-vue/assets", "@symfony/webpack-encore": "^5.0.0", "chart.js": "^3.4.1 || ^4.0", @@ -35,7 +34,6 @@ "svelte": "^3.0 || ^4.0", "svelte-loader": "^3.2.4", "tom-select": "^2.2.2", - "typed.js": "^2.0", "vue": "^3.0", "vue-loader": "^17.0.0", "webpack": "^5.74.0", diff --git a/test_apps/encore-app/symfony.lock b/test_apps/encore-app/symfony.lock index 2756101e876..ec3bc6f9cc3 100644 --- a/test_apps/encore-app/symfony.lock +++ b/test_apps/encore-app/symfony.lock @@ -256,9 +256,6 @@ "assets/svelte/controllers/Hello.svelte" ] }, - "symfony/ux-swup": { - "version": "v2.23.0" - }, "symfony/ux-toggle-password": { "version": "v2.23.0" }, diff --git a/ux.symfony.com/assets/controllers.json b/ux.symfony.com/assets/controllers.json index 5b5375a5a81..1e301eabbcd 100644 --- a/ux.symfony.com/assets/controllers.json +++ b/ux.symfony.com/assets/controllers.json @@ -94,12 +94,6 @@ "fetch": "lazy" } }, - "@symfony/ux-typed": { - "typed": { - "enabled": true, - "fetch": "lazy" - } - }, "@symfony/ux-vue": { "vue": { "enabled": true, diff --git a/ux.symfony.com/composer.json b/ux.symfony.com/composer.json index 6a3198f2250..dda10666536 100644 --- a/ux.symfony.com/composer.json +++ b/ux.symfony.com/composer.json @@ -49,7 +49,6 @@ "symfony/ux-translator": "2.x-dev", "symfony/ux-turbo": "2.x-dev", "symfony/ux-twig-component": "2.x-dev", - "symfony/ux-typed": "2.x-dev", "symfony/ux-vue": "2.x-dev", "symfony/validator": "7.2.*", "symfony/yaml": "7.2.*", diff --git a/ux.symfony.com/composer.lock b/ux.symfony.com/composer.lock index abef0dce226..418d80e29a8 100644 --- a/ux.symfony.com/composer.lock +++ b/ux.symfony.com/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "cb6b21545f526b7e56b3d51e502ff6cf", + "content-hash": "6c79221d08e8c24c875bf442d76aac9a", "packages": [ { "name": "composer/semver", @@ -8662,74 +8662,6 @@ ], "time": "2025-01-25T02:19:26+00:00" }, - { - "name": "symfony/ux-typed", - "version": "2.x-dev", - "source": { - "type": "git", - "url": "https://github.com/symfony/ux-typed.git", - "reference": "07b8b33a68a66b20dd4df8e3f9b9618e74a786f1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/ux-typed/zipball/07b8b33a68a66b20dd4df8e3f9b9618e74a786f1", - "reference": "07b8b33a68a66b20dd4df8e3f9b9618e74a786f1", - "shasum": "" - }, - "conflict": { - "symfony/flex": "<1.13" - }, - "default-branch": true, - "type": "symfony-bundle", - "extra": { - "thanks": { - "url": "https://github.com/symfony/ux", - "name": "symfony/ux" - } - }, - "autoload": { - "psr-4": { - "Symfony\\UX\\Typed\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Florent Morselli", - "email": "contact@spomky-labs.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Typed integration for Symfony", - "homepage": "https://symfony.com", - "keywords": [ - "symfony-ux" - ], - "support": { - "source": "https://github.com/symfony/ux-typed/tree/v2.22.1" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-12-05T14:25:02+00:00" - }, { "name": "symfony/ux-vue", "version": "2.x-dev", @@ -12824,7 +12756,6 @@ "symfony/ux-translator": 20, "symfony/ux-turbo": 20, "symfony/ux-twig-component": 20, - "symfony/ux-typed": 20, "symfony/ux-vue": 20 }, "prefer-stable": true, diff --git a/ux.symfony.com/config/bundles.php b/ux.symfony.com/config/bundles.php index ed8e970cf51..8a9c0837f2a 100644 --- a/ux.symfony.com/config/bundles.php +++ b/ux.symfony.com/config/bundles.php @@ -25,7 +25,6 @@ Symfony\UX\Svelte\SvelteBundle::class => ['all' => true], Symfony\UX\Translator\UxTranslatorBundle::class => ['all' => true], Symfony\UX\StimulusBundle\StimulusBundle::class => ['all' => true], - Symfony\UX\Typed\TypedBundle::class => ['all' => true], Zenstruck\Foundry\ZenstruckFoundryBundle::class => ['dev' => true, 'test' => true], Symfony\UX\TogglePassword\TogglePasswordBundle::class => ['all' => true], Symfonycasts\SassBundle\SymfonycastsSassBundle::class => ['all' => true], diff --git a/ux.symfony.com/importmap.php b/ux.symfony.com/importmap.php index f3a9a6453a0..bbacbe9d07e 100644 --- a/ux.symfony.com/importmap.php +++ b/ux.symfony.com/importmap.php @@ -91,9 +91,6 @@ '@hotwired/turbo' => [ 'version' => '8.0.4', ], - 'typed.js' => [ - 'version' => '2.1.0', - ], 'snarkdown' => [ 'version' => '2.0.0', ], @@ -183,4 +180,12 @@ '@symfony/ux-leaflet-map' => [ 'path' => './vendor/symfony/ux-leaflet-map/assets/dist/map_controller.js', ], + 'tom-select/dist/css/tom-select.default.css' => [ + 'version' => '2.4.3', + 'type' => 'css', + ], + 'tom-select/dist/css/tom-select.bootstrap4.css' => [ + 'version' => '2.4.3', + 'type' => 'css', + ], ]; diff --git a/ux.symfony.com/src/Service/UxPackageRepository.php b/ux.symfony.com/src/Service/UxPackageRepository.php index b4791130f63..45fee897d65 100644 --- a/ux.symfony.com/src/Service/UxPackageRepository.php +++ b/ux.symfony.com/src/Service/UxPackageRepository.php @@ -254,6 +254,7 @@ public function findAll(?string $query = null, ?bool $deprecated = null): array 'linear-gradient(95deg, #20A091 -5%, #4EC9B3 105%)', 'Animated Typing with Typed.js', 'Animated typing with Typed.js', + isDeprecated: true )) ->setDocsLink('https://github.com/mattboldt/typed.js/', 'Typed.js documentation'), ]; diff --git a/ux.symfony.com/symfony.lock b/ux.symfony.com/symfony.lock index ae918923a7d..f0c43313f0a 100644 --- a/ux.symfony.com/symfony.lock +++ b/ux.symfony.com/symfony.lock @@ -632,9 +632,6 @@ "symfony/ux-twig-component": { "version": "v2.1.0" }, - "symfony/ux-typed": { - "version": "2.x-dev" - }, "symfony/ux-vue": { "version": "2.x-dev" }, diff --git a/ux.symfony.com/templates/ux_packages/typed.html.twig b/ux.symfony.com/templates/ux_packages/typed.html.twig index 94582547a54..c890d3a993f 100644 --- a/ux.symfony.com/templates/ux_packages/typed.html.twig +++ b/ux.symfony.com/templates/ux_packages/typed.html.twig @@ -1,45 +1,58 @@ -{% extends 'ux_packages/package.html.twig' %} +{% extends 'base.html.twig' %} -{% block package_header %} - {% component PackageHeader with { - package: 'typed', - eyebrowText: 'A Library that Types' - } %} - {% block title_header %} - Typed brings text to life - {% endblock %} +{% set meta = { + title: package.humanName ~ ' - Symfony UX 2', + description: package.description, + canonical: url(package.route), + social: { + title: package.tagline ~ ' - Symfony UX 2' ~ package.humanName|u.trimStart('UX '), + description: package.description|striptags, + image: { + url: absolute_url(asset(package.getSocialImage('1200x675'))), + type: 'image/png', + width: 1200, + height: 675, + alt: package.humanName ~ ' - Component Icon', + }, + } +} %} - {% block sub_content %} - Spice up some text by typing, backspacing and re-typing with Typed.js. - {% endblock %} - {% endcomponent %} +{% block main %} +
+
+

Deprecated Package

+

UX Typed 2.x

+

This component is deprecated and will not receive further updates.
+ Please follow the migration steps + if you want to keep using Typed in your app.

+
+
{% endblock %} -{% block code_block_left %} - -{% endblock %} - -{% block code_block_right %} -
- {% set strings = [ - 'I ❤️ Symfony UX!', - 'Symfony UX Typed loves to type', - 'Symfony UX Typed and backspace', - 'Control the speed', - 'Control the cursor', - 'Control your destiny!!!', - 'Control your destiny... sort of', - ] %} - -
+{% block stylesheets %} + {{ parent() }} + {% endblock %} diff --git a/ux.symfony.com/tests/baseline-ignore b/ux.symfony.com/tests/baseline-ignore index db6f6e22afb..59ebb3a8e3e 100644 --- a/ux.symfony.com/tests/baseline-ignore +++ b/ux.symfony.com/tests/baseline-ignore @@ -1,3 +1,2 @@ -%Since symfony/ux-typed 2\.27\.0: The package is deprecated and will be removed in 3\.0\.% %Since symfony/ux-lazy-image 2\.27\.0: The package is deprecated and will be removed in 3\.0\.% %Since symfony/ux-toggle-password 2\.29\.0: The package is deprecated and will be removed in 3\.0\.%