@jjlmoya/utils-textiles 1.8.0 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "@jjlmoya/utils-textiles",
3
- "version": "1.8.0",
3
+ "version": "1.11.0",
4
4
  "type": "module",
5
5
  "main": "./src/index.ts",
6
6
  "types": "./src/index.ts",
7
7
  "exports": {
8
8
  ".": "./src/index.ts",
9
- "./data": "./src/data.ts"
9
+ "./data": "./src/data.ts",
10
+ "./entries": "./src/entries.ts"
10
11
  },
11
12
  "files": [
12
13
  "src"
@@ -1,32 +1,32 @@
1
1
  import type { TextilesCategoryEntry } from '../types';
2
- import { FABRIC_TRUTH_TOOL } from '../tool/fabricTruth';
3
- import { LAUNDRY_GUIDE_TOOL } from '../tool/laundryGuide';
4
- import { STAIN_CHEMISTRY_TOOL } from '../tool/stainChemistry';
5
- import { BURN_TEST_TOOL } from '../tool/burnTest';
6
- import { FIBER_PREP_TOOL } from '../tool/fiberPrep';
7
- import { SHOE_SIZE_CONVERTER_TOOL } from '../tool/shoeSizeConverter';
8
- import { CLOTHING_SIZE_CONVERTER_TOOL } from '../tool/clothingSizeConverter';
9
- import { KNITTING_GAUGE_TOOL } from '../tool/knittingGauge';
10
- import { FABRIC_PROJECT_CALCULATOR_TOOL } from '../tool/fabricProjectCalculator';
11
- import { SEWING_PATTERN_SCALER_TOOL } from '../tool/sewingPatternScaler';
12
- import { NEEDLE_CONVERTER_TOOL } from '../tool/needleConverter';
13
- import { YARN_CALCULATOR_TOOL } from '../tool/yarnCalculator';
2
+ import { fabricTruth } from '../tool/fabricTruth/entry';
3
+ import { laundryGuide } from '../tool/laundryGuide/entry';
4
+ import { stainChemistry } from '../tool/stainChemistry/entry';
5
+ import { burnTest } from '../tool/burnTest/entry';
6
+ import { fiberPrep } from '../tool/fiberPrep/entry';
7
+ import { shoeSizeConverter } from '../tool/shoeSizeConverter/entry';
8
+ import { clothingSizeConverter } from '../tool/clothingSizeConverter/entry';
9
+ import { knittingGauge } from '../tool/knittingGauge/entry';
10
+ import { fabricProjectCalculator } from '../tool/fabricProjectCalculator/entry';
11
+ import { sewingPatternScaler } from '../tool/sewingPatternScaler/entry';
12
+ import { needleConverter } from '../tool/needleConverter/entry';
13
+ import { yarnCalculator } from '../tool/yarnCalculator/entry';
14
14
 
15
15
  export const textilesCategory: TextilesCategoryEntry = {
16
16
  icon: 'mdi:texture',
17
17
  tools: [
18
- FABRIC_TRUTH_TOOL,
19
- LAUNDRY_GUIDE_TOOL,
20
- STAIN_CHEMISTRY_TOOL,
21
- BURN_TEST_TOOL,
22
- FIBER_PREP_TOOL,
23
- SHOE_SIZE_CONVERTER_TOOL,
24
- CLOTHING_SIZE_CONVERTER_TOOL,
25
- KNITTING_GAUGE_TOOL,
26
- FABRIC_PROJECT_CALCULATOR_TOOL,
27
- SEWING_PATTERN_SCALER_TOOL,
28
- NEEDLE_CONVERTER_TOOL,
29
- YARN_CALCULATOR_TOOL,
18
+ fabricTruth,
19
+ laundryGuide,
20
+ stainChemistry,
21
+ burnTest,
22
+ fiberPrep,
23
+ shoeSizeConverter,
24
+ clothingSizeConverter,
25
+ knittingGauge,
26
+ fabricProjectCalculator,
27
+ sewingPatternScaler,
28
+ needleConverter,
29
+ yarnCalculator,
30
30
  ],
31
31
  i18n: {
32
32
  es: () => import('./i18n/es').then((m) => m.content),
@@ -46,4 +46,3 @@ export const textilesCategory: TextilesCategoryEntry = {
46
46
  zh: () => import('./i18n/zh').then((m) => m.content),
47
47
  },
48
48
  };
49
-
package/src/entries.ts ADDED
@@ -0,0 +1,37 @@
1
+ export { burnTest } from './tool/burnTest/entry';
2
+ export type { BurnTestLocaleContent } from './tool/burnTest/entry';
3
+ export { clothingSizeConverter } from './tool/clothingSizeConverter/entry';
4
+ export type { ClothingSizeConverterLocaleContent } from './tool/clothingSizeConverter/entry';
5
+ export { fabricProjectCalculator } from './tool/fabricProjectCalculator/entry';
6
+ export type { FabricProjectCalculatorLocaleContent } from './tool/fabricProjectCalculator/entry';
7
+ export { fabricTruth } from './tool/fabricTruth/entry';
8
+ export type { FabricTruthLocaleContent } from './tool/fabricTruth/entry';
9
+ export { fiberPrep } from './tool/fiberPrep/entry';
10
+ export type { FiberPrepLocaleContent } from './tool/fiberPrep/entry';
11
+ export { knittingGauge } from './tool/knittingGauge/entry';
12
+ export type { KnittingGaugeLocaleContent } from './tool/knittingGauge/entry';
13
+ export { laundryGuide } from './tool/laundryGuide/entry';
14
+ export { needleConverter } from './tool/needleConverter/entry';
15
+ export type { NeedleConverterLocaleContent } from './tool/needleConverter/entry';
16
+ export { sewingPatternScaler } from './tool/sewingPatternScaler/entry';
17
+ export type { SewingPatternScalerLocaleContent } from './tool/sewingPatternScaler/entry';
18
+ export { shoeSizeConverter } from './tool/shoeSizeConverter/entry';
19
+ export type { ShoeSizeConverterLocaleContent } from './tool/shoeSizeConverter/entry';
20
+ export { stainChemistry } from './tool/stainChemistry/entry';
21
+ export type { StainChemistryLocaleContent } from './tool/stainChemistry/entry';
22
+ export { yarnCalculator } from './tool/yarnCalculator/entry';
23
+ export type { YarnCalculatorLocaleContent } from './tool/yarnCalculator/entry';
24
+ export { textilesCategory } from './category';
25
+ import { burnTest } from './tool/burnTest/entry';
26
+ import { clothingSizeConverter } from './tool/clothingSizeConverter/entry';
27
+ import { fabricProjectCalculator } from './tool/fabricProjectCalculator/entry';
28
+ import { fabricTruth } from './tool/fabricTruth/entry';
29
+ import { fiberPrep } from './tool/fiberPrep/entry';
30
+ import { knittingGauge } from './tool/knittingGauge/entry';
31
+ import { laundryGuide } from './tool/laundryGuide/entry';
32
+ import { needleConverter } from './tool/needleConverter/entry';
33
+ import { sewingPatternScaler } from './tool/sewingPatternScaler/entry';
34
+ import { shoeSizeConverter } from './tool/shoeSizeConverter/entry';
35
+ import { stainChemistry } from './tool/stainChemistry/entry';
36
+ import { yarnCalculator } from './tool/yarnCalculator/entry';
37
+ export const ALL_ENTRIES = [burnTest, clothingSizeConverter, fabricProjectCalculator, fabricTruth, fiberPrep, knittingGauge, laundryGuide, needleConverter, sewingPatternScaler, shoeSizeConverter, stainChemistry, yarnCalculator];
package/src/index.ts CHANGED
@@ -1,18 +1,18 @@
1
1
  export { textilesCategory } from './category';
2
2
  export const textilesCategorySEO = () => import('./category/seo.astro').then((m) => m.default);
3
3
 
4
- export { FabricTruthComponent, FabricTruthSEO, FabricTruthBibliography, FABRIC_TRUTH_TOOL } from './tool/fabricTruth';
5
- export { LaundryGuideComponent, LaundryGuideSEO, LaundryGuideBibliography, LAUNDRY_GUIDE_TOOL } from './tool/laundryGuide';
6
- export { StainChemistryComponent, StainChemistrySEO, StainChemistryBibliography, STAIN_CHEMISTRY_TOOL } from './tool/stainChemistry';
7
- export { BurnTestComponent, BurnTestSEO, BurnTestBibliography, BURN_TEST_TOOL } from './tool/burnTest';
8
- export { FiberPrepComponent, FiberPrepSEO, FiberPrepBibliography, FIBER_PREP_TOOL } from './tool/fiberPrep';
9
- export { ShoeSizeConverterComponent, ShoeSizeConverterSEO, ShoeSizeConverterBibliography, SHOE_SIZE_CONVERTER_TOOL } from './tool/shoeSizeConverter';
10
- export { ClothingSizeConverterComponent, ClothingSizeConverterSEO, ClothingSizeConverterBibliography, CLOTHING_SIZE_CONVERTER_TOOL } from './tool/clothingSizeConverter';
11
- export { KnittingGaugeComponent, KnittingGaugeSEO, KnittingGaugeBibliography, KNITTING_GAUGE_TOOL } from './tool/knittingGauge';
12
- export { FabricProjectCalculatorComponent, FabricProjectCalculatorSEO, FabricProjectCalculatorBibliography, FABRIC_PROJECT_CALCULATOR_TOOL } from './tool/fabricProjectCalculator';
13
- export { SewingPatternScalerComponent, SewingPatternScalerSEO, SewingPatternScalerBibliography, SEWING_PATTERN_SCALER_TOOL } from './tool/sewingPatternScaler';
14
- export { NeedleConverterComponent, NeedleConverterSEO, NeedleConverterBibliography, NEEDLE_CONVERTER_TOOL } from './tool/needleConverter';
15
- export { YarnCalculatorComponent, YarnCalculatorSEO, YarnCalculatorBibliography, YARN_CALCULATOR_TOOL } from './tool/yarnCalculator';
4
+ export { FABRIC_TRUTH_TOOL } from './tool/fabricTruth';
5
+ export { LAUNDRY_GUIDE_TOOL } from './tool/laundryGuide';
6
+ export { STAIN_CHEMISTRY_TOOL } from './tool/stainChemistry';
7
+ export { BURN_TEST_TOOL } from './tool/burnTest';
8
+ export { FIBER_PREP_TOOL } from './tool/fiberPrep';
9
+ export { SHOE_SIZE_CONVERTER_TOOL } from './tool/shoeSizeConverter';
10
+ export { CLOTHING_SIZE_CONVERTER_TOOL } from './tool/clothingSizeConverter';
11
+ export { KNITTING_GAUGE_TOOL } from './tool/knittingGauge';
12
+ export { FABRIC_PROJECT_CALCULATOR_TOOL } from './tool/fabricProjectCalculator';
13
+ export { SEWING_PATTERN_SCALER_TOOL } from './tool/sewingPatternScaler';
14
+ export { NEEDLE_CONVERTER_TOOL } from './tool/needleConverter';
15
+ export { YARN_CALCULATOR_TOOL } from './tool/yarnCalculator';
16
16
 
17
17
  export type {
18
18
  KnownLocale,
@@ -0,0 +1,30 @@
1
+ import type { TextilesToolEntry, ToolLocaleContent } from '../../types';
2
+
3
+ import type { BurnTestUI } from './ui';
4
+
5
+ export type BurnTestLocaleContent = ToolLocaleContent<BurnTestUI>;
6
+
7
+ export const burnTest: TextilesToolEntry<BurnTestUI> = {
8
+ id: 'burn-test',
9
+ icons: {
10
+ bg: 'mdi:fire',
11
+ fg: 'mdi:test-tube',
12
+ },
13
+ i18n: {
14
+ es: () => import('./i18n/es').then((m) => m.content),
15
+ en: () => import('./i18n/en').then((m) => m.content),
16
+ fr: () => import('./i18n/fr').then((m) => m.content),
17
+ de: () => import('./i18n/de').then((m) => m.content),
18
+ id: () => import('./i18n/id').then((m) => m.content),
19
+ it: () => import('./i18n/it').then((m) => m.content),
20
+ ja: () => import('./i18n/ja').then((m) => m.content),
21
+ ko: () => import('./i18n/ko').then((m) => m.content),
22
+ nl: () => import('./i18n/nl').then((m) => m.content),
23
+ pl: () => import('./i18n/pl').then((m) => m.content),
24
+ pt: () => import('./i18n/pt').then((m) => m.content),
25
+ ru: () => import('./i18n/ru').then((m) => m.content),
26
+ sv: () => import('./i18n/sv').then((m) => m.content),
27
+ tr: () => import('./i18n/tr').then((m) => m.content),
28
+ zh: () => import('./i18n/zh').then((m) => m.content),
29
+ },
30
+ };
@@ -1,35 +1,5 @@
1
- import type { TextilesToolEntry, ToolLocaleContent, ToolDefinition } from '../../types';
2
-
3
- import type { BurnTestUI } from './ui';
4
-
5
- export type BurnTestLocaleContent = ToolLocaleContent<BurnTestUI>;
6
-
7
- export const burnTest: TextilesToolEntry<BurnTestUI> = {
8
- id: 'burn-test',
9
- icons: {
10
- bg: 'mdi:fire',
11
- fg: 'mdi:test-tube',
12
- },
13
- i18n: {
14
- es: () => import('./i18n/es').then((m) => m.content),
15
- en: () => import('./i18n/en').then((m) => m.content),
16
- fr: () => import('./i18n/fr').then((m) => m.content),
17
- de: () => import('./i18n/de').then((m) => m.content),
18
- id: () => import('./i18n/id').then((m) => m.content),
19
- it: () => import('./i18n/it').then((m) => m.content),
20
- ja: () => import('./i18n/ja').then((m) => m.content),
21
- ko: () => import('./i18n/ko').then((m) => m.content),
22
- nl: () => import('./i18n/nl').then((m) => m.content),
23
- pl: () => import('./i18n/pl').then((m) => m.content),
24
- pt: () => import('./i18n/pt').then((m) => m.content),
25
- ru: () => import('./i18n/ru').then((m) => m.content),
26
- sv: () => import('./i18n/sv').then((m) => m.content),
27
- tr: () => import('./i18n/tr').then((m) => m.content),
28
- zh: () => import('./i18n/zh').then((m) => m.content),
29
- },
30
- };
31
-
32
-
1
+ import { burnTest } from './entry';
2
+ export * from './entry';
33
3
  export const BURN_TEST_TOOL: ToolDefinition = {
34
4
  entry: burnTest,
35
5
  Component: () => import('./component.astro'),
@@ -0,0 +1,30 @@
1
+ import type { TextilesToolEntry, ToolLocaleContent } from '../../types';
2
+
3
+ import type { ClothingSizeConverterUI } from './ui';
4
+
5
+ export type ClothingSizeConverterLocaleContent = ToolLocaleContent<ClothingSizeConverterUI>;
6
+
7
+ export const clothingSizeConverter: TextilesToolEntry<ClothingSizeConverterUI> = {
8
+ id: 'clothing-size-converter',
9
+ icons: {
10
+ bg: 'mdi:tshirt-crew',
11
+ fg: 'mdi:ruler',
12
+ },
13
+ i18n: {
14
+ es: () => import('./i18n/es').then((m) => m.content),
15
+ en: () => import('./i18n/en').then((m) => m.content),
16
+ fr: () => import('./i18n/fr').then((m) => m.content),
17
+ de: () => import('./i18n/de').then((m) => m.content),
18
+ id: () => import('./i18n/id').then((m) => m.content),
19
+ it: () => import('./i18n/it').then((m) => m.content),
20
+ ja: () => import('./i18n/ja').then((m) => m.content),
21
+ ko: () => import('./i18n/ko').then((m) => m.content),
22
+ nl: () => import('./i18n/nl').then((m) => m.content),
23
+ pl: () => import('./i18n/pl').then((m) => m.content),
24
+ pt: () => import('./i18n/pt').then((m) => m.content),
25
+ ru: () => import('./i18n/ru').then((m) => m.content),
26
+ sv: () => import('./i18n/sv').then((m) => m.content),
27
+ tr: () => import('./i18n/tr').then((m) => m.content),
28
+ zh: () => import('./i18n/zh').then((m) => m.content),
29
+ },
30
+ };
@@ -1,35 +1,5 @@
1
- import type { TextilesToolEntry, ToolLocaleContent, ToolDefinition } from '../../types';
2
-
3
- import type { ClothingSizeConverterUI } from './ui';
4
-
5
- export type ClothingSizeConverterLocaleContent = ToolLocaleContent<ClothingSizeConverterUI>;
6
-
7
- export const clothingSizeConverter: TextilesToolEntry<ClothingSizeConverterUI> = {
8
- id: 'clothing-size-converter',
9
- icons: {
10
- bg: 'mdi:tshirt-crew',
11
- fg: 'mdi:ruler',
12
- },
13
- i18n: {
14
- es: () => import('./i18n/es').then((m) => m.content),
15
- en: () => import('./i18n/en').then((m) => m.content),
16
- fr: () => import('./i18n/fr').then((m) => m.content),
17
- de: () => import('./i18n/de').then((m) => m.content),
18
- id: () => import('./i18n/id').then((m) => m.content),
19
- it: () => import('./i18n/it').then((m) => m.content),
20
- ja: () => import('./i18n/ja').then((m) => m.content),
21
- ko: () => import('./i18n/ko').then((m) => m.content),
22
- nl: () => import('./i18n/nl').then((m) => m.content),
23
- pl: () => import('./i18n/pl').then((m) => m.content),
24
- pt: () => import('./i18n/pt').then((m) => m.content),
25
- ru: () => import('./i18n/ru').then((m) => m.content),
26
- sv: () => import('./i18n/sv').then((m) => m.content),
27
- tr: () => import('./i18n/tr').then((m) => m.content),
28
- zh: () => import('./i18n/zh').then((m) => m.content),
29
- },
30
- };
31
-
32
-
1
+ import { clothingSizeConverter } from './entry';
2
+ export * from './entry';
33
3
  export const CLOTHING_SIZE_CONVERTER_TOOL: ToolDefinition = {
34
4
  entry: clothingSizeConverter,
35
5
  Component: () => import('./component.astro'),
@@ -0,0 +1,30 @@
1
+ import type { TextilesToolEntry, ToolLocaleContent } from '../../types';
2
+
3
+ import type { FabricProjectCalculatorUI } from './ui';
4
+
5
+ export type FabricProjectCalculatorLocaleContent = ToolLocaleContent<FabricProjectCalculatorUI>;
6
+
7
+ export const fabricProjectCalculator: TextilesToolEntry<FabricProjectCalculatorUI> = {
8
+ id: 'fabric-project-calculator',
9
+ icons: {
10
+ bg: 'mdi:content-cut',
11
+ fg: 'mdi:tape-measure',
12
+ },
13
+ i18n: {
14
+ es: () => import('./i18n/es').then((m) => m.content),
15
+ en: () => import('./i18n/en').then((m) => m.content),
16
+ fr: () => import('./i18n/fr').then((m) => m.content),
17
+ de: () => import('./i18n/de').then((m) => m.content),
18
+ id: () => import('./i18n/id').then((m) => m.content),
19
+ it: () => import('./i18n/it').then((m) => m.content),
20
+ ja: () => import('./i18n/ja').then((m) => m.content),
21
+ ko: () => import('./i18n/ko').then((m) => m.content),
22
+ nl: () => import('./i18n/nl').then((m) => m.content),
23
+ pl: () => import('./i18n/pl').then((m) => m.content),
24
+ pt: () => import('./i18n/pt').then((m) => m.content),
25
+ ru: () => import('./i18n/ru').then((m) => m.content),
26
+ sv: () => import('./i18n/sv').then((m) => m.content),
27
+ tr: () => import('./i18n/tr').then((m) => m.content),
28
+ zh: () => import('./i18n/zh').then((m) => m.content),
29
+ },
30
+ };
@@ -1,35 +1,5 @@
1
- import type { TextilesToolEntry, ToolLocaleContent, ToolDefinition } from '../../types';
2
-
3
- import type { FabricProjectCalculatorUI } from './ui';
4
-
5
- export type FabricProjectCalculatorLocaleContent = ToolLocaleContent<FabricProjectCalculatorUI>;
6
-
7
- export const fabricProjectCalculator: TextilesToolEntry<FabricProjectCalculatorUI> = {
8
- id: 'fabric-project-calculator',
9
- icons: {
10
- bg: 'mdi:content-cut',
11
- fg: 'mdi:tape-measure',
12
- },
13
- i18n: {
14
- es: () => import('./i18n/es').then((m) => m.content),
15
- en: () => import('./i18n/en').then((m) => m.content),
16
- fr: () => import('./i18n/fr').then((m) => m.content),
17
- de: () => import('./i18n/de').then((m) => m.content),
18
- id: () => import('./i18n/id').then((m) => m.content),
19
- it: () => import('./i18n/it').then((m) => m.content),
20
- ja: () => import('./i18n/ja').then((m) => m.content),
21
- ko: () => import('./i18n/ko').then((m) => m.content),
22
- nl: () => import('./i18n/nl').then((m) => m.content),
23
- pl: () => import('./i18n/pl').then((m) => m.content),
24
- pt: () => import('./i18n/pt').then((m) => m.content),
25
- ru: () => import('./i18n/ru').then((m) => m.content),
26
- sv: () => import('./i18n/sv').then((m) => m.content),
27
- tr: () => import('./i18n/tr').then((m) => m.content),
28
- zh: () => import('./i18n/zh').then((m) => m.content),
29
- },
30
- };
31
-
32
-
1
+ import { fabricProjectCalculator } from './entry';
2
+ export * from './entry';
33
3
  export const FABRIC_PROJECT_CALCULATOR_TOOL: ToolDefinition = {
34
4
  entry: fabricProjectCalculator,
35
5
  Component: () => import('./component.astro'),
@@ -0,0 +1,30 @@
1
+ import type { TextilesToolEntry, ToolLocaleContent } from '../../types';
2
+
3
+ import type { FabricTruthUI } from './ui';
4
+
5
+ export type FabricTruthLocaleContent = ToolLocaleContent<FabricTruthUI>;
6
+
7
+ export const fabricTruth: TextilesToolEntry<FabricTruthUI> = {
8
+ id: 'fabric-truth',
9
+ icons: {
10
+ bg: 'mdi:tag-text-outline',
11
+ fg: 'mdi:microscope',
12
+ },
13
+ i18n: {
14
+ es: () => import('./i18n/es').then((m) => m.content),
15
+ en: () => import('./i18n/en').then((m) => m.content),
16
+ fr: () => import('./i18n/fr').then((m) => m.content),
17
+ de: () => import('./i18n/de').then((m) => m.content),
18
+ id: () => import('./i18n/id').then((m) => m.content),
19
+ it: () => import('./i18n/it').then((m) => m.content),
20
+ ja: () => import('./i18n/ja').then((m) => m.content),
21
+ ko: () => import('./i18n/ko').then((m) => m.content),
22
+ nl: () => import('./i18n/nl').then((m) => m.content),
23
+ pl: () => import('./i18n/pl').then((m) => m.content),
24
+ pt: () => import('./i18n/pt').then((m) => m.content),
25
+ ru: () => import('./i18n/ru').then((m) => m.content),
26
+ sv: () => import('./i18n/sv').then((m) => m.content),
27
+ tr: () => import('./i18n/tr').then((m) => m.content),
28
+ zh: () => import('./i18n/zh').then((m) => m.content),
29
+ },
30
+ };
@@ -1,35 +1,5 @@
1
- import type { TextilesToolEntry, ToolLocaleContent, ToolDefinition } from '../../types';
2
-
3
- import type { FabricTruthUI } from './ui';
4
-
5
- export type FabricTruthLocaleContent = ToolLocaleContent<FabricTruthUI>;
6
-
7
- export const fabricTruth: TextilesToolEntry<FabricTruthUI> = {
8
- id: 'fabric-truth',
9
- icons: {
10
- bg: 'mdi:tag-text-outline',
11
- fg: 'mdi:microscope',
12
- },
13
- i18n: {
14
- es: () => import('./i18n/es').then((m) => m.content),
15
- en: () => import('./i18n/en').then((m) => m.content),
16
- fr: () => import('./i18n/fr').then((m) => m.content),
17
- de: () => import('./i18n/de').then((m) => m.content),
18
- id: () => import('./i18n/id').then((m) => m.content),
19
- it: () => import('./i18n/it').then((m) => m.content),
20
- ja: () => import('./i18n/ja').then((m) => m.content),
21
- ko: () => import('./i18n/ko').then((m) => m.content),
22
- nl: () => import('./i18n/nl').then((m) => m.content),
23
- pl: () => import('./i18n/pl').then((m) => m.content),
24
- pt: () => import('./i18n/pt').then((m) => m.content),
25
- ru: () => import('./i18n/ru').then((m) => m.content),
26
- sv: () => import('./i18n/sv').then((m) => m.content),
27
- tr: () => import('./i18n/tr').then((m) => m.content),
28
- zh: () => import('./i18n/zh').then((m) => m.content),
29
- },
30
- };
31
-
32
-
1
+ import { fabricTruth } from './entry';
2
+ export * from './entry';
33
3
  export const FABRIC_TRUTH_TOOL: ToolDefinition = {
34
4
  entry: fabricTruth,
35
5
  Component: () => import('./component.astro'),
@@ -0,0 +1,30 @@
1
+ import type { TextilesToolEntry, ToolLocaleContent } from '../../types';
2
+
3
+ import type { FiberPrepUI } from './ui';
4
+
5
+ export type FiberPrepLocaleContent = ToolLocaleContent<FiberPrepUI>;
6
+
7
+ export const fiberPrep: TextilesToolEntry<FiberPrepUI> = {
8
+ id: 'fiber-prep',
9
+ icons: {
10
+ bg: 'mdi:beaker-outline',
11
+ fg: 'mdi:molecule',
12
+ },
13
+ i18n: {
14
+ es: () => import('./i18n/es').then((m) => m.content),
15
+ en: () => import('./i18n/en').then((m) => m.content),
16
+ fr: () => import('./i18n/fr').then((m) => m.content),
17
+ de: () => import('./i18n/de').then((m) => m.content),
18
+ id: () => import('./i18n/id').then((m) => m.content),
19
+ it: () => import('./i18n/it').then((m) => m.content),
20
+ ja: () => import('./i18n/ja').then((m) => m.content),
21
+ ko: () => import('./i18n/ko').then((m) => m.content),
22
+ nl: () => import('./i18n/nl').then((m) => m.content),
23
+ pl: () => import('./i18n/pl').then((m) => m.content),
24
+ pt: () => import('./i18n/pt').then((m) => m.content),
25
+ ru: () => import('./i18n/ru').then((m) => m.content),
26
+ sv: () => import('./i18n/sv').then((m) => m.content),
27
+ tr: () => import('./i18n/tr').then((m) => m.content),
28
+ zh: () => import('./i18n/zh').then((m) => m.content),
29
+ },
30
+ };
@@ -1,35 +1,5 @@
1
- import type { TextilesToolEntry, ToolLocaleContent, ToolDefinition } from '../../types';
2
-
3
- import type { FiberPrepUI } from './ui';
4
-
5
- export type FiberPrepLocaleContent = ToolLocaleContent<FiberPrepUI>;
6
-
7
- export const fiberPrep: TextilesToolEntry<FiberPrepUI> = {
8
- id: 'fiber-prep',
9
- icons: {
10
- bg: 'mdi:beaker-outline',
11
- fg: 'mdi:molecule',
12
- },
13
- i18n: {
14
- es: () => import('./i18n/es').then((m) => m.content),
15
- en: () => import('./i18n/en').then((m) => m.content),
16
- fr: () => import('./i18n/fr').then((m) => m.content),
17
- de: () => import('./i18n/de').then((m) => m.content),
18
- id: () => import('./i18n/id').then((m) => m.content),
19
- it: () => import('./i18n/it').then((m) => m.content),
20
- ja: () => import('./i18n/ja').then((m) => m.content),
21
- ko: () => import('./i18n/ko').then((m) => m.content),
22
- nl: () => import('./i18n/nl').then((m) => m.content),
23
- pl: () => import('./i18n/pl').then((m) => m.content),
24
- pt: () => import('./i18n/pt').then((m) => m.content),
25
- ru: () => import('./i18n/ru').then((m) => m.content),
26
- sv: () => import('./i18n/sv').then((m) => m.content),
27
- tr: () => import('./i18n/tr').then((m) => m.content),
28
- zh: () => import('./i18n/zh').then((m) => m.content),
29
- },
30
- };
31
-
32
-
1
+ import { fiberPrep } from './entry';
2
+ export * from './entry';
33
3
  export const FIBER_PREP_TOOL: ToolDefinition = {
34
4
  entry: fiberPrep,
35
5
  Component: () => import('./component.astro'),
@@ -0,0 +1,30 @@
1
+ import type { TextilesToolEntry, ToolLocaleContent } from '../../types';
2
+
3
+ import type { KnittingGaugeUI } from './ui';
4
+
5
+ export type KnittingGaugeLocaleContent = ToolLocaleContent<KnittingGaugeUI>;
6
+
7
+ export const knittingGauge: TextilesToolEntry<KnittingGaugeUI> = {
8
+ id: 'knitting-gauge-calculator',
9
+ icons: {
10
+ bg: 'mdi:ruler-square',
11
+ fg: 'mdi:needle',
12
+ },
13
+ i18n: {
14
+ es: () => import('./i18n/es').then((m) => m.content),
15
+ en: () => import('./i18n/en').then((m) => m.content),
16
+ fr: () => import('./i18n/fr').then((m) => m.content),
17
+ de: () => import('./i18n/de').then((m) => m.content),
18
+ id: () => import('./i18n/id').then((m) => m.content),
19
+ it: () => import('./i18n/it').then((m) => m.content),
20
+ ja: () => import('./i18n/ja').then((m) => m.content),
21
+ ko: () => import('./i18n/ko').then((m) => m.content),
22
+ nl: () => import('./i18n/nl').then((m) => m.content),
23
+ pl: () => import('./i18n/pl').then((m) => m.content),
24
+ pt: () => import('./i18n/pt').then((m) => m.content),
25
+ ru: () => import('./i18n/ru').then((m) => m.content),
26
+ sv: () => import('./i18n/sv').then((m) => m.content),
27
+ tr: () => import('./i18n/tr').then((m) => m.content),
28
+ zh: () => import('./i18n/zh').then((m) => m.content),
29
+ },
30
+ };
@@ -1,35 +1,5 @@
1
- import type { TextilesToolEntry, ToolLocaleContent, ToolDefinition } from '../../types';
2
-
3
- import type { KnittingGaugeUI } from './ui';
4
-
5
- export type KnittingGaugeLocaleContent = ToolLocaleContent<KnittingGaugeUI>;
6
-
7
- export const knittingGauge: TextilesToolEntry<KnittingGaugeUI> = {
8
- id: 'knitting-gauge-calculator',
9
- icons: {
10
- bg: 'mdi:ruler-square',
11
- fg: 'mdi:needle',
12
- },
13
- i18n: {
14
- es: () => import('./i18n/es').then((m) => m.content),
15
- en: () => import('./i18n/en').then((m) => m.content),
16
- fr: () => import('./i18n/fr').then((m) => m.content),
17
- de: () => import('./i18n/de').then((m) => m.content),
18
- id: () => import('./i18n/id').then((m) => m.content),
19
- it: () => import('./i18n/it').then((m) => m.content),
20
- ja: () => import('./i18n/ja').then((m) => m.content),
21
- ko: () => import('./i18n/ko').then((m) => m.content),
22
- nl: () => import('./i18n/nl').then((m) => m.content),
23
- pl: () => import('./i18n/pl').then((m) => m.content),
24
- pt: () => import('./i18n/pt').then((m) => m.content),
25
- ru: () => import('./i18n/ru').then((m) => m.content),
26
- sv: () => import('./i18n/sv').then((m) => m.content),
27
- tr: () => import('./i18n/tr').then((m) => m.content),
28
- zh: () => import('./i18n/zh').then((m) => m.content),
29
- },
30
- };
31
-
32
-
1
+ import { knittingGauge } from './entry';
2
+ export * from './entry';
33
3
  export const KNITTING_GAUGE_TOOL: ToolDefinition = {
34
4
  entry: knittingGauge,
35
5
  Component: () => import('./component.astro'),
@@ -0,0 +1,25 @@
1
+ import type { TextilesToolEntry } from '../../types';
2
+ export const laundryGuide: TextilesToolEntry = {
3
+ id: 'laundry-guide',
4
+ icons: {
5
+ bg: 'mdi:washing-machine',
6
+ fg: 'mdi:water-check',
7
+ },
8
+ i18n: {
9
+ es: () => import('./i18n/es').then((m) => m.content),
10
+ en: () => import('./i18n/en').then((m) => m.content),
11
+ fr: () => import('./i18n/fr').then((m) => m.content),
12
+ de: () => import('./i18n/de').then((m) => m.content),
13
+ id: () => import('./i18n/id').then((m) => m.content),
14
+ it: () => import('./i18n/it').then((m) => m.content),
15
+ ja: () => import('./i18n/ja').then((m) => m.content),
16
+ ko: () => import('./i18n/ko').then((m) => m.content),
17
+ nl: () => import('./i18n/nl').then((m) => m.content),
18
+ pl: () => import('./i18n/pl').then((m) => m.content),
19
+ pt: () => import('./i18n/pt').then((m) => m.content),
20
+ ru: () => import('./i18n/ru').then((m) => m.content),
21
+ sv: () => import('./i18n/sv').then((m) => m.content),
22
+ tr: () => import('./i18n/tr').then((m) => m.content),
23
+ zh: () => import('./i18n/zh').then((m) => m.content),
24
+ },
25
+ };
@@ -1,30 +1,5 @@
1
- import type { TextilesToolEntry, ToolDefinition } from '../../types';
2
- export const laundryGuide: TextilesToolEntry = {
3
- id: 'laundry-guide',
4
- icons: {
5
- bg: 'mdi:washing-machine',
6
- fg: 'mdi:water-check',
7
- },
8
- i18n: {
9
- es: () => import('./i18n/es').then((m) => m.content),
10
- en: () => import('./i18n/en').then((m) => m.content),
11
- fr: () => import('./i18n/fr').then((m) => m.content),
12
- de: () => import('./i18n/de').then((m) => m.content),
13
- id: () => import('./i18n/id').then((m) => m.content),
14
- it: () => import('./i18n/it').then((m) => m.content),
15
- ja: () => import('./i18n/ja').then((m) => m.content),
16
- ko: () => import('./i18n/ko').then((m) => m.content),
17
- nl: () => import('./i18n/nl').then((m) => m.content),
18
- pl: () => import('./i18n/pl').then((m) => m.content),
19
- pt: () => import('./i18n/pt').then((m) => m.content),
20
- ru: () => import('./i18n/ru').then((m) => m.content),
21
- sv: () => import('./i18n/sv').then((m) => m.content),
22
- tr: () => import('./i18n/tr').then((m) => m.content),
23
- zh: () => import('./i18n/zh').then((m) => m.content),
24
- },
25
- };
26
-
27
-
1
+ import { laundryGuide } from './entry';
2
+ export * from './entry';
28
3
  export const LAUNDRY_GUIDE_TOOL: ToolDefinition = {
29
4
  entry: laundryGuide,
30
5
  Component: () => import('./component.astro'),
@@ -0,0 +1,30 @@
1
+ import type { TextilesToolEntry, ToolLocaleContent } from '../../types';
2
+
3
+ import type { NeedleConverterUI } from './ui';
4
+
5
+ export type NeedleConverterLocaleContent = ToolLocaleContent<NeedleConverterUI>;
6
+
7
+ export const needleConverter: TextilesToolEntry<NeedleConverterUI> = {
8
+ id: 'needle-converter',
9
+ icons: {
10
+ bg: 'mdi:needle',
11
+ fg: 'mdi:swap-horizontal',
12
+ },
13
+ i18n: {
14
+ es: () => import('./i18n/es').then((m) => m.content),
15
+ en: () => import('./i18n/en').then((m) => m.content),
16
+ fr: () => import('./i18n/fr').then((m) => m.content),
17
+ de: () => import('./i18n/de').then((m) => m.content),
18
+ id: () => import('./i18n/id').then((m) => m.content),
19
+ it: () => import('./i18n/it').then((m) => m.content),
20
+ ja: () => import('./i18n/ja').then((m) => m.content),
21
+ ko: () => import('./i18n/ko').then((m) => m.content),
22
+ nl: () => import('./i18n/nl').then((m) => m.content),
23
+ pl: () => import('./i18n/pl').then((m) => m.content),
24
+ pt: () => import('./i18n/pt').then((m) => m.content),
25
+ ru: () => import('./i18n/ru').then((m) => m.content),
26
+ sv: () => import('./i18n/sv').then((m) => m.content),
27
+ tr: () => import('./i18n/tr').then((m) => m.content),
28
+ zh: () => import('./i18n/zh').then((m) => m.content),
29
+ },
30
+ };
@@ -1,35 +1,5 @@
1
- import type { TextilesToolEntry, ToolLocaleContent, ToolDefinition } from '../../types';
2
-
3
- import type { NeedleConverterUI } from './ui';
4
-
5
- export type NeedleConverterLocaleContent = ToolLocaleContent<NeedleConverterUI>;
6
-
7
- export const needleConverter: TextilesToolEntry<NeedleConverterUI> = {
8
- id: 'needle-converter',
9
- icons: {
10
- bg: 'mdi:needle',
11
- fg: 'mdi:swap-horizontal',
12
- },
13
- i18n: {
14
- es: () => import('./i18n/es').then((m) => m.content),
15
- en: () => import('./i18n/en').then((m) => m.content),
16
- fr: () => import('./i18n/fr').then((m) => m.content),
17
- de: () => import('./i18n/de').then((m) => m.content),
18
- id: () => import('./i18n/id').then((m) => m.content),
19
- it: () => import('./i18n/it').then((m) => m.content),
20
- ja: () => import('./i18n/ja').then((m) => m.content),
21
- ko: () => import('./i18n/ko').then((m) => m.content),
22
- nl: () => import('./i18n/nl').then((m) => m.content),
23
- pl: () => import('./i18n/pl').then((m) => m.content),
24
- pt: () => import('./i18n/pt').then((m) => m.content),
25
- ru: () => import('./i18n/ru').then((m) => m.content),
26
- sv: () => import('./i18n/sv').then((m) => m.content),
27
- tr: () => import('./i18n/tr').then((m) => m.content),
28
- zh: () => import('./i18n/zh').then((m) => m.content),
29
- },
30
- };
31
-
32
-
1
+ import { needleConverter } from './entry';
2
+ export * from './entry';
33
3
  export const NEEDLE_CONVERTER_TOOL: ToolDefinition = {
34
4
  entry: needleConverter,
35
5
  Component: () => import('./component.astro'),
@@ -0,0 +1,30 @@
1
+ import type { TextilesToolEntry, ToolLocaleContent } from '../../types';
2
+
3
+ import type { SewingPatternScalerUI } from './ui';
4
+
5
+ export type SewingPatternScalerLocaleContent = ToolLocaleContent<SewingPatternScalerUI>;
6
+
7
+ export const sewingPatternScaler: TextilesToolEntry<SewingPatternScalerUI> = {
8
+ id: 'sewing-pattern-scaler',
9
+ icons: {
10
+ bg: 'mdi:human-female',
11
+ fg: 'mdi:checkerboard',
12
+ },
13
+ i18n: {
14
+ es: () => import('./i18n/es').then((m) => m.content),
15
+ en: () => import('./i18n/en').then((m) => m.content),
16
+ fr: () => import('./i18n/fr').then((m) => m.content),
17
+ de: () => import('./i18n/de').then((m) => m.content),
18
+ id: () => import('./i18n/id').then((m) => m.content),
19
+ it: () => import('./i18n/it').then((m) => m.content),
20
+ ja: () => import('./i18n/ja').then((m) => m.content),
21
+ ko: () => import('./i18n/ko').then((m) => m.content),
22
+ nl: () => import('./i18n/nl').then((m) => m.content),
23
+ pl: () => import('./i18n/pl').then((m) => m.content),
24
+ pt: () => import('./i18n/pt').then((m) => m.content),
25
+ ru: () => import('./i18n/ru').then((m) => m.content),
26
+ sv: () => import('./i18n/sv').then((m) => m.content),
27
+ tr: () => import('./i18n/tr').then((m) => m.content),
28
+ zh: () => import('./i18n/zh').then((m) => m.content),
29
+ },
30
+ };
@@ -1,35 +1,5 @@
1
- import type { TextilesToolEntry, ToolLocaleContent, ToolDefinition } from '../../types';
2
-
3
- import type { SewingPatternScalerUI } from './ui';
4
-
5
- export type SewingPatternScalerLocaleContent = ToolLocaleContent<SewingPatternScalerUI>;
6
-
7
- export const sewingPatternScaler: TextilesToolEntry<SewingPatternScalerUI> = {
8
- id: 'sewing-pattern-scaler',
9
- icons: {
10
- bg: 'mdi:human-female',
11
- fg: 'mdi:checkerboard',
12
- },
13
- i18n: {
14
- es: () => import('./i18n/es').then((m) => m.content),
15
- en: () => import('./i18n/en').then((m) => m.content),
16
- fr: () => import('./i18n/fr').then((m) => m.content),
17
- de: () => import('./i18n/de').then((m) => m.content),
18
- id: () => import('./i18n/id').then((m) => m.content),
19
- it: () => import('./i18n/it').then((m) => m.content),
20
- ja: () => import('./i18n/ja').then((m) => m.content),
21
- ko: () => import('./i18n/ko').then((m) => m.content),
22
- nl: () => import('./i18n/nl').then((m) => m.content),
23
- pl: () => import('./i18n/pl').then((m) => m.content),
24
- pt: () => import('./i18n/pt').then((m) => m.content),
25
- ru: () => import('./i18n/ru').then((m) => m.content),
26
- sv: () => import('./i18n/sv').then((m) => m.content),
27
- tr: () => import('./i18n/tr').then((m) => m.content),
28
- zh: () => import('./i18n/zh').then((m) => m.content),
29
- },
30
- };
31
-
32
-
1
+ import { sewingPatternScaler } from './entry';
2
+ export * from './entry';
33
3
  export const SEWING_PATTERN_SCALER_TOOL: ToolDefinition = {
34
4
  entry: sewingPatternScaler,
35
5
  Component: () => import('./component.astro'),
@@ -0,0 +1,30 @@
1
+ import type { TextilesToolEntry, ToolLocaleContent } from '../../types';
2
+
3
+ import type { ShoeSizeConverterUI } from './ui';
4
+
5
+ export type ShoeSizeConverterLocaleContent = ToolLocaleContent<ShoeSizeConverterUI>;
6
+
7
+ export const shoeSizeConverter: TextilesToolEntry<ShoeSizeConverterUI> = {
8
+ id: 'shoe-size-converter',
9
+ icons: {
10
+ bg: 'mdi:shoe-heel',
11
+ fg: 'mdi:ruler',
12
+ },
13
+ i18n: {
14
+ es: () => import('./i18n/es').then((m) => m.content),
15
+ en: () => import('./i18n/en').then((m) => m.content),
16
+ fr: () => import('./i18n/fr').then((m) => m.content),
17
+ de: () => import('./i18n/de').then((m) => m.content),
18
+ id: () => import('./i18n/id').then((m) => m.content),
19
+ it: () => import('./i18n/it').then((m) => m.content),
20
+ ja: () => import('./i18n/ja').then((m) => m.content),
21
+ ko: () => import('./i18n/ko').then((m) => m.content),
22
+ nl: () => import('./i18n/nl').then((m) => m.content),
23
+ pl: () => import('./i18n/pl').then((m) => m.content),
24
+ pt: () => import('./i18n/pt').then((m) => m.content),
25
+ ru: () => import('./i18n/ru').then((m) => m.content),
26
+ sv: () => import('./i18n/sv').then((m) => m.content),
27
+ tr: () => import('./i18n/tr').then((m) => m.content),
28
+ zh: () => import('./i18n/zh').then((m) => m.content),
29
+ },
30
+ };
@@ -1,35 +1,5 @@
1
- import type { TextilesToolEntry, ToolLocaleContent, ToolDefinition } from '../../types';
2
-
3
- import type { ShoeSizeConverterUI } from './ui';
4
-
5
- export type ShoeSizeConverterLocaleContent = ToolLocaleContent<ShoeSizeConverterUI>;
6
-
7
- export const shoeSizeConverter: TextilesToolEntry<ShoeSizeConverterUI> = {
8
- id: 'shoe-size-converter',
9
- icons: {
10
- bg: 'mdi:shoe-heel',
11
- fg: 'mdi:ruler',
12
- },
13
- i18n: {
14
- es: () => import('./i18n/es').then((m) => m.content),
15
- en: () => import('./i18n/en').then((m) => m.content),
16
- fr: () => import('./i18n/fr').then((m) => m.content),
17
- de: () => import('./i18n/de').then((m) => m.content),
18
- id: () => import('./i18n/id').then((m) => m.content),
19
- it: () => import('./i18n/it').then((m) => m.content),
20
- ja: () => import('./i18n/ja').then((m) => m.content),
21
- ko: () => import('./i18n/ko').then((m) => m.content),
22
- nl: () => import('./i18n/nl').then((m) => m.content),
23
- pl: () => import('./i18n/pl').then((m) => m.content),
24
- pt: () => import('./i18n/pt').then((m) => m.content),
25
- ru: () => import('./i18n/ru').then((m) => m.content),
26
- sv: () => import('./i18n/sv').then((m) => m.content),
27
- tr: () => import('./i18n/tr').then((m) => m.content),
28
- zh: () => import('./i18n/zh').then((m) => m.content),
29
- },
30
- };
31
-
32
-
1
+ import { shoeSizeConverter } from './entry';
2
+ export * from './entry';
33
3
  export const SHOE_SIZE_CONVERTER_TOOL: ToolDefinition = {
34
4
  entry: shoeSizeConverter,
35
5
  Component: () => import('./component.astro'),
@@ -0,0 +1,30 @@
1
+ import type { TextilesToolEntry, ToolLocaleContent } from '../../types';
2
+
3
+ import type { StainChemistryUI } from './ui';
4
+
5
+ export type StainChemistryLocaleContent = ToolLocaleContent<StainChemistryUI>;
6
+
7
+ export const stainChemistry: TextilesToolEntry<StainChemistryUI> = {
8
+ id: 'stain-chemistry',
9
+ icons: {
10
+ bg: 'mdi:test-tube',
11
+ fg: 'mdi:iv-bag',
12
+ },
13
+ i18n: {
14
+ es: () => import('./i18n/es').then((m) => m.content),
15
+ en: () => import('./i18n/en').then((m) => m.content),
16
+ fr: () => import('./i18n/fr').then((m) => m.content),
17
+ de: () => import('./i18n/de').then((m) => m.content),
18
+ id: () => import('./i18n/id').then((m) => m.content),
19
+ it: () => import('./i18n/it').then((m) => m.content),
20
+ ja: () => import('./i18n/ja').then((m) => m.content),
21
+ ko: () => import('./i18n/ko').then((m) => m.content),
22
+ nl: () => import('./i18n/nl').then((m) => m.content),
23
+ pl: () => import('./i18n/pl').then((m) => m.content),
24
+ pt: () => import('./i18n/pt').then((m) => m.content),
25
+ ru: () => import('./i18n/ru').then((m) => m.content),
26
+ sv: () => import('./i18n/sv').then((m) => m.content),
27
+ tr: () => import('./i18n/tr').then((m) => m.content),
28
+ zh: () => import('./i18n/zh').then((m) => m.content),
29
+ },
30
+ };
@@ -1,35 +1,5 @@
1
- import type { TextilesToolEntry, ToolLocaleContent, ToolDefinition } from '../../types';
2
-
3
- import type { StainChemistryUI } from './ui';
4
-
5
- export type StainChemistryLocaleContent = ToolLocaleContent<StainChemistryUI>;
6
-
7
- export const stainChemistry: TextilesToolEntry<StainChemistryUI> = {
8
- id: 'stain-chemistry',
9
- icons: {
10
- bg: 'mdi:test-tube',
11
- fg: 'mdi:iv-bag',
12
- },
13
- i18n: {
14
- es: () => import('./i18n/es').then((m) => m.content),
15
- en: () => import('./i18n/en').then((m) => m.content),
16
- fr: () => import('./i18n/fr').then((m) => m.content),
17
- de: () => import('./i18n/de').then((m) => m.content),
18
- id: () => import('./i18n/id').then((m) => m.content),
19
- it: () => import('./i18n/it').then((m) => m.content),
20
- ja: () => import('./i18n/ja').then((m) => m.content),
21
- ko: () => import('./i18n/ko').then((m) => m.content),
22
- nl: () => import('./i18n/nl').then((m) => m.content),
23
- pl: () => import('./i18n/pl').then((m) => m.content),
24
- pt: () => import('./i18n/pt').then((m) => m.content),
25
- ru: () => import('./i18n/ru').then((m) => m.content),
26
- sv: () => import('./i18n/sv').then((m) => m.content),
27
- tr: () => import('./i18n/tr').then((m) => m.content),
28
- zh: () => import('./i18n/zh').then((m) => m.content),
29
- },
30
- };
31
-
32
-
1
+ import { stainChemistry } from './entry';
2
+ export * from './entry';
33
3
  export const STAIN_CHEMISTRY_TOOL: ToolDefinition = {
34
4
  entry: stainChemistry,
35
5
  Component: () => import('./component.astro'),
@@ -0,0 +1,30 @@
1
+ import type { TextilesToolEntry, ToolLocaleContent } from '../../types';
2
+
3
+ import type { YarnCalculatorUI } from './ui';
4
+
5
+ export type YarnCalculatorLocaleContent = ToolLocaleContent<YarnCalculatorUI>;
6
+
7
+ export const yarnCalculator: TextilesToolEntry<YarnCalculatorUI> = {
8
+ id: 'yarn-calculator',
9
+ icons: {
10
+ bg: 'mdi:comma-circle',
11
+ fg: 'mdi:counter',
12
+ },
13
+ i18n: {
14
+ es: () => import('./i18n/es').then((m) => m.content),
15
+ en: () => import('./i18n/en').then((m) => m.content),
16
+ fr: () => import('./i18n/fr').then((m) => m.content),
17
+ de: () => import('./i18n/de').then((m) => m.content),
18
+ id: () => import('./i18n/id').then((m) => m.content),
19
+ it: () => import('./i18n/it').then((m) => m.content),
20
+ ja: () => import('./i18n/ja').then((m) => m.content),
21
+ ko: () => import('./i18n/ko').then((m) => m.content),
22
+ nl: () => import('./i18n/nl').then((m) => m.content),
23
+ pl: () => import('./i18n/pl').then((m) => m.content),
24
+ pt: () => import('./i18n/pt').then((m) => m.content),
25
+ ru: () => import('./i18n/ru').then((m) => m.content),
26
+ sv: () => import('./i18n/sv').then((m) => m.content),
27
+ tr: () => import('./i18n/tr').then((m) => m.content),
28
+ zh: () => import('./i18n/zh').then((m) => m.content),
29
+ },
30
+ };
@@ -1,35 +1,5 @@
1
- import type { TextilesToolEntry, ToolLocaleContent, ToolDefinition } from '../../types';
2
-
3
- import type { YarnCalculatorUI } from './ui';
4
-
5
- export type YarnCalculatorLocaleContent = ToolLocaleContent<YarnCalculatorUI>;
6
-
7
- export const yarnCalculator: TextilesToolEntry<YarnCalculatorUI> = {
8
- id: 'yarn-calculator',
9
- icons: {
10
- bg: 'mdi:comma-circle',
11
- fg: 'mdi:counter',
12
- },
13
- i18n: {
14
- es: () => import('./i18n/es').then((m) => m.content),
15
- en: () => import('./i18n/en').then((m) => m.content),
16
- fr: () => import('./i18n/fr').then((m) => m.content),
17
- de: () => import('./i18n/de').then((m) => m.content),
18
- id: () => import('./i18n/id').then((m) => m.content),
19
- it: () => import('./i18n/it').then((m) => m.content),
20
- ja: () => import('./i18n/ja').then((m) => m.content),
21
- ko: () => import('./i18n/ko').then((m) => m.content),
22
- nl: () => import('./i18n/nl').then((m) => m.content),
23
- pl: () => import('./i18n/pl').then((m) => m.content),
24
- pt: () => import('./i18n/pt').then((m) => m.content),
25
- ru: () => import('./i18n/ru').then((m) => m.content),
26
- sv: () => import('./i18n/sv').then((m) => m.content),
27
- tr: () => import('./i18n/tr').then((m) => m.content),
28
- zh: () => import('./i18n/zh').then((m) => m.content),
29
- },
30
- };
31
-
32
-
1
+ import { yarnCalculator } from './entry';
2
+ export * from './entry';
33
3
  export const YARN_CALCULATOR_TOOL: ToolDefinition = {
34
4
  entry: yarnCalculator,
35
5
  Component: () => import('./component.astro'),
package/src/tools.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export { ALL_ENTRIES } from './entries';
1
2
  import type { ToolDefinition } from './types';
2
3
  import { FABRIC_TRUTH_TOOL } from './tool/fabricTruth/index';
3
4
  import { LAUNDRY_GUIDE_TOOL } from './tool/laundryGuide/index';
@@ -15,4 +16,3 @@ import { YARN_CALCULATOR_TOOL } from './tool/yarnCalculator/index';
15
16
  export const ALL_TOOLS: ToolDefinition[] = [FABRIC_TRUTH_TOOL, LAUNDRY_GUIDE_TOOL, STAIN_CHEMISTRY_TOOL, BURN_TEST_TOOL, FIBER_PREP_TOOL, SHOE_SIZE_CONVERTER_TOOL, CLOTHING_SIZE_CONVERTER_TOOL, KNITTING_GAUGE_TOOL, FABRIC_PROJECT_CALCULATOR_TOOL, SEWING_PATTERN_SCALER_TOOL, NEEDLE_CONVERTER_TOOL, YARN_CALCULATOR_TOOL];
16
17
 
17
18
 
18
- export const ALL_ENTRIES = ALL_TOOLS.map(t => t.entry);