diff --git a/components.d.ts b/components.d.ts index 3e65c3cc5..1887041df 100644 --- a/components.d.ts +++ b/components.d.ts @@ -90,6 +90,7 @@ declare module '@vue/runtime-core' { HttpStatusCodes: typeof import('./src/tools/http-status-codes/http-status-codes.vue')['default'] IbanValidatorAndParser: typeof import('./src/tools/iban-validator-and-parser/iban-validator-and-parser.vue')['default'] 'IconMdi:brushVariant': typeof import('~icons/mdi/brush-variant')['default'] + 'IconMdi:contentCopy': typeof import('~icons/mdi/content-copy')['default'] 'IconMdi:kettleSteamOutline': typeof import('~icons/mdi/kettle-steam-outline')['default'] IconMdiChevronDown: typeof import('~icons/mdi/chevron-down')['default'] IconMdiChevronRight: typeof import('~icons/mdi/chevron-right')['default'] @@ -135,6 +136,8 @@ declare module '@vue/runtime-core' { NConfigProvider: typeof import('naive-ui')['NConfigProvider'] NDivider: typeof import('naive-ui')['NDivider'] NEllipsis: typeof import('naive-ui')['NEllipsis'] + NFlex: typeof import('naive-ui')['NFlex'] + NFormItem: typeof import('naive-ui')['NFormItem'] NH1: typeof import('naive-ui')['NH1'] NH3: typeof import('naive-ui')['NH3'] NIcon: typeof import('naive-ui')['NIcon'] @@ -142,7 +145,6 @@ declare module '@vue/runtime-core' { NLayoutSider: typeof import('naive-ui')['NLayoutSider'] NMenu: typeof import('naive-ui')['NMenu'] NSpace: typeof import('naive-ui')['NSpace'] - NTable: typeof import('naive-ui')['NTable'] NumeronymGenerator: typeof import('./src/tools/numeronym-generator/numeronym-generator.vue')['default'] OtpCodeGeneratorAndValidator: typeof import('./src/tools/otp-code-generator-and-validator/otp-code-generator-and-validator.vue')['default'] PasswordStrengthAnalyser: typeof import('./src/tools/password-strength-analyser/password-strength-analyser.vue')['default'] @@ -162,6 +164,7 @@ declare module '@vue/runtime-core' { RsaKeyPairGenerator: typeof import('./src/tools/rsa-key-pair-generator/rsa-key-pair-generator.vue')['default'] SafelinkDecoder: typeof import('./src/tools/safelink-decoder/safelink-decoder.vue')['default'] SlugifyString: typeof import('./src/tools/slugify-string/slugify-string.vue')['default'] + SmartTextReplacer: typeof import('./src/tools/smart-text-replacer/smart-text-replacer.vue')['default'] SpanCopyable: typeof import('./src/components/SpanCopyable.vue')['default'] SqlPrettify: typeof import('./src/tools/sql-prettify/sql-prettify.vue')['default'] StringObfuscator: typeof import('./src/tools/string-obfuscator/string-obfuscator.vue')['default'] diff --git a/src/tools/index.ts b/src/tools/index.ts index 388cfaf49..d380d2564 100644 --- a/src/tools/index.ts +++ b/src/tools/index.ts @@ -1,6 +1,7 @@ import { tool as base64FileConverter } from './base64-file-converter'; import { tool as base64StringConverter } from './base64-string-converter'; import { tool as basicAuthGenerator } from './basic-auth-generator'; +import { tool as smartTextReplacer } from './smart-text-replacer'; import { tool as emailNormalizer } from './email-normalizer'; import { tool as asciiTextDrawer } from './ascii-text-drawer'; @@ -183,6 +184,7 @@ export const toolsByCategory: ToolCategory[] = [ stringObfuscator, textDiff, numeronymGenerator, + smartTextReplacer, asciiTextDrawer, ], }, diff --git a/src/tools/smart-text-replacer/index.ts b/src/tools/smart-text-replacer/index.ts new file mode 100644 index 000000000..7a2ddd22d --- /dev/null +++ b/src/tools/smart-text-replacer/index.ts @@ -0,0 +1,12 @@ +import { Search } from '@vicons/tabler'; +import { defineTool } from '../tool'; + +export const tool = defineTool({ + name: 'Smart Text Replacer and Linebreaker', + path: '/smart-text-replacer', + description: 'Search and replace a word on single or multiple occurrences just like windows notepad search and replace. Also allows to manage linebreaking and text splitting', + keywords: ['smart', 'text-replacer', 'linebreak', 'remove', 'add', 'split', 'search', 'replace'], + component: () => import('./smart-text-replacer.vue'), + icon: Search, + createdAt: new Date('2024-04-03'), +}); diff --git a/src/tools/smart-text-replacer/smart-text-replacer.vue b/src/tools/smart-text-replacer/smart-text-replacer.vue new file mode 100644 index 000000000..658db36d8 --- /dev/null +++ b/src/tools/smart-text-replacer/smart-text-replacer.vue @@ -0,0 +1,200 @@ + + + + +