@designcrowd/fe-shared-lib 1.3.3-ML-648-4 → 1.3.3-byologo-error-localization

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.
@@ -0,0 +1,96 @@
1
+ {
2
+ "env": {
3
+ "CLAUDE_CODE_USE_BEDROCK": "1",
4
+ "AWS_PROFILE": "default",
5
+ "AWS_REGION": "us-east-1",
6
+ "ANTHROPIC_MODEL": "us.anthropic.claude-sonnet-4-20250514-v1:0",
7
+ "CLAUDE_CODE_MAX_OUTPUT_TOKENS": "10000",
8
+ "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
9
+ },
10
+ "permissions": {
11
+ "allow": [
12
+ "Bash(find:*)",
13
+ "Bash(cat:*)",
14
+ "mcp__seqthinking__sequentialthinking",
15
+ "Bash(grep:*)",
16
+ "Bash(sed:*)",
17
+ "Bash(dotnet run:*)",
18
+ "Bash(rm:*)",
19
+ "Bash(jq:*)",
20
+ "mcp__context7__sequentialthinking",
21
+ "Bash(ls:*)",
22
+ "Bash(/home/zknowles/ClaudeTools/src/Tools.Claude.MetaTranslations/bin/Debug/net8.0/Tools.Claude.MetaTranslations \"/home/zknowles/BrandCrowd.Net/BrandCrowd.Nuxt/src/server/pages/[maker]/home/i18n\")",
23
+ "Bash(chmod:*)",
24
+ "Bash(node:*)",
25
+ "Bash(git checkout:*)",
26
+ "Bash(python3:*)",
27
+ "Bash(git restore:*)",
28
+ "Bash(git merge:*)",
29
+ "Bash(git add:*)",
30
+ "Bash(npm install:*)",
31
+ "Bash(npm uninstall:*)",
32
+ "Bash(npm run lint)",
33
+ "Bash(mkdir:*)",
34
+ "Bash(curl:*)",
35
+ "Bash(pkill:*)",
36
+ "Bash(git stash:*)",
37
+ "Bash(timeout 30s npm run watch:dcom)",
38
+ "Bash(timeout 60s npm run watch:dcom:runtime)",
39
+ "Bash(npm run watch:dcom:runtime:*)",
40
+ "Bash(npm test:*)",
41
+ "Bash(mv:*)",
42
+ "Bash(dotnet test:*)",
43
+ "Bash(dotnet build:*)",
44
+ "Bash(git revert:*)",
45
+ "mcp__read-website-fast__read_website",
46
+ "Bash(rg:*)",
47
+ "Bash(cp:*)",
48
+ "Bash(npm run test:unit:*)",
49
+ "Bash(npm run:*)",
50
+ "Bash(npx vue-tsc:*)",
51
+ "Bash(git reset:*)",
52
+ "Bash(git fsck:*)",
53
+ "Bash(git fetch:*)",
54
+ "WebFetch(domain:github.com)",
55
+ "WebFetch(domain:www.anthropic.com)",
56
+ "WebFetch(domain:arxiv.org)",
57
+ "WebFetch(domain:www.reddit.com)",
58
+ "WebFetch(domain:docs.anthropic.com)",
59
+ "Bash(mount)",
60
+ "Bash(echo $WSLENV)",
61
+ "Bash(echo $WSL_DISTRO_NAME)",
62
+ "Bash(echo $UV_THREADPOOL_SIZE)",
63
+ "Bash(env)",
64
+ "Bash(npm --version)",
65
+ "Bash(echo $NODE_ENV)",
66
+ "Bash(echo $NUXT_IS_PRODUCTION)",
67
+ "Bash(npm config:*)",
68
+ "Bash(echo $PWD)",
69
+ "Bash(echo $HOME)",
70
+ "Bash(pnpm:*)",
71
+ "Bash(yarn --version)",
72
+ "Bash(echo:*)",
73
+ "Bash(echo $CHROME_FLAGS)",
74
+ "Bash(git config:*)",
75
+ "Bash(echo $NODE_OPTIONS)",
76
+ "Bash(npx vite-bundle-analyzer:*)",
77
+ "Bash(source ~/.bashrc)",
78
+ "Bash(sysctl:*)",
79
+ "Bash(ss:*)",
80
+ "mcp__ide__getDiagnostics",
81
+ "Bash(timeout 10s npm run watch:ultra)",
82
+ "Bash(timeout 5s npm run watch:ultra)",
83
+ "Bash(gh pr view:*)",
84
+ "Bash(touch:*)",
85
+ "Bash(npx ts-node:*)",
86
+ "Bash(npx tsc:*)",
87
+ "Bash(docker:*)",
88
+ "Bash(sqlcmd:*)",
89
+ "Bash(code --version)",
90
+ "Bash(aws:*)",
91
+ "Bash(code:*)",
92
+ "Bash(export PATH=\"$PATH:/opt/mssql-tools18/bin\")"
93
+ ],
94
+ "deny": []
95
+ }
96
+ }
Binary file
Binary file
Binary file
@@ -1,4 +1,41 @@
1
1
  import { withThemeByClassName } from '@storybook/addon-themes';
2
+ import { setSharedLibLocaleAsync } from '../src/useSharedLibTranslate';
3
+
4
+ setSharedLibLocaleAsync('en-US');
5
+
6
+ const LOCALES = {
7
+ 'en-US': '🇺🇸 English (US)',
8
+ 'fr-FR': '🇫🇷 Français (France)',
9
+ 'es-ES': '🇪🇸 Español (Spain)',
10
+ 'pt-PT': '🇵🇹 Português (Portugal)',
11
+ 'de-DE': '🇩🇪 Deutsch (Germany)',
12
+ 'fr-CA': '🇨🇦 Français (Canada)',
13
+ 'pt-BR': '🇧🇷 Português (Brazil)',
14
+ };
15
+
16
+ const globalLocaleLoader = async (context) => {
17
+ const locale = context.globals.locale || 'en-US';
18
+ await setSharedLibLocaleAsync(locale);
19
+ return { locale };
20
+ };
21
+
22
+
23
+ export const globalTypes = {
24
+ locale: {
25
+ name: 'Locale',
26
+ description: 'Internationalization locale',
27
+ defaultValue: 'en-US',
28
+ toolbar: {
29
+ icon: 'globe',
30
+ items: Object.entries(LOCALES).map(([key, value]) => ({
31
+ value: key,
32
+ title: value,
33
+ })),
34
+ showName: true,
35
+ dynamicTitle: true,
36
+ },
37
+ },
38
+ };
2
39
 
3
40
  export const decorators = [
4
41
  withThemeByClassName({
@@ -12,3 +49,5 @@ export const decorators = [
12
49
  defaultTheme: 'brandCrowd',
13
50
  }),
14
51
  ];
52
+
53
+ export const loaders = [globalLocaleLoader];
@@ -0,0 +1,3 @@
1
+ ![alt text](image.png)
2
+ ![alt text](image-1.png)
3
+ ![alt text](image-2.png)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@designcrowd/fe-shared-lib",
3
- "version": "1.3.3-ML-648-4",
3
+ "version": "1.3.3-byologo-error-localization",
4
4
  "scripts": {
5
5
  "start": "run-p storybook watch:translation",
6
6
  "build": "npm run build:css --production",
@@ -150,7 +150,7 @@ export default {
150
150
  getRedirectToSignInUrl() {
151
151
  const url = new URL(`https://${window.location.host}${this.signInUrl}`);
152
152
  if (this.aEmail) {
153
- url.searchParams.set('initialUserName', this.aEmail);
153
+ url.searchParams.append('initialUserName', this.aEmail);
154
154
  }
155
155
  return url;
156
156
  },
@@ -1,13 +1,13 @@
1
1
  <template>
2
2
  <div :class="{ 'tw-mx-2 sm:tw-mx-8': !isModal }">
3
- <div v-if="helloBar" class="tw-text-left tw-mt-2 tw-mb-2">
3
+ <div v-if="helloBar" class="tw-text-left tw-mt-8">
4
4
  <HelloBar :label="helloBar.label" :description="helloBar.description" :variant="helloBar.variant">
5
5
  <template #cta>
6
6
  <Button
7
7
  v-if="recommendedActionLink"
8
8
  variant="secondary"
9
9
  size="small"
10
- :label="resetPasswordButtonLabel"
10
+ label="RESET PASSWORD"
11
11
  class="tw-hidden sm:tw-inline"
12
12
  :url="getRedirectToRecommendedActionUrl"
13
13
  />
@@ -15,7 +15,7 @@
15
15
  v-if="recommendedActionLink"
16
16
  variant="secondary"
17
17
  size="medium"
18
- :label="resetPasswordButtonLabel"
18
+ label="RESET PASSWORD"
19
19
  :full-width="true"
20
20
  class="sm:tw-hidden tw-mt-2"
21
21
  :url="getRedirectToRecommendedActionUrl"
@@ -327,7 +327,6 @@ export default {
327
327
  emailPlaceholderLabel: this.signInContent.emailPlaceholderLabel ?? 'Email Address',
328
328
  passwordPlaceholderLabel: this.signInContent.passwordPlaceholderLabel ?? 'Password',
329
329
  forgotPasswordLabel: this.signInContent.forgotPasswordLabel ?? 'Forgot Password?',
330
- resetPasswordButtonLabel: this.signInContent.resetPasswordButtonLabel ?? 'RESET PASSWORD',
331
330
  orLabel: this.signInContent.orLabel ?? 'or',
332
331
  signUpLabel: this.signInContent.signUpLabel ?? 'Sign Up',
333
332
  };
@@ -396,10 +395,8 @@ export default {
396
395
  this.clearErrorMessages();
397
396
  },
398
397
  initialUserName(newValue) {
399
- if (newValue && newValue !== this.aUserName) {
400
- this.aUserName = newValue;
401
- }
402
- }
398
+ this.aUserName = newValue;
399
+ },
403
400
  },
404
401
  methods: {
405
402
  validate(e) {
@@ -56,3 +56,4 @@ export const SampleSearchbar = () => {
56
56
  `,
57
57
  };
58
58
  };
59
+
@@ -101,7 +101,6 @@ import { uploadYourLogoTr } from '../../../useSharedLibTranslate';
101
101
  const ACCEPTED_MIME_TYPES = ['image/jpeg', 'image/png', 'image/svg+xml', 'application/postscript'];
102
102
 
103
103
  const ACCEPTED_FILE_EXTENSIONS = ['jpg', 'jpeg', 'png', 'svg', 'eps'];
104
- const UNSUPPORTED_FILE_ERROR_MSG = () => uploadYourLogoTr(`wrongUploadType`);
105
104
 
106
105
  export default {
107
106
  components: {
@@ -161,24 +160,19 @@ export default {
161
160
  uploadYourLogoTr,
162
161
  };
163
162
  },
164
- data() {
165
- const self = this;
163
+ computed: {
164
+ options() {
165
+ const self = this;
166
+ const errorMessage = uploadYourLogoTr('wrongUploadType');
166
167
 
167
- return {
168
- options: {
168
+ return {
169
169
  url: '#',
170
170
  autoProcessQueue: false,
171
171
  maxFiles: 1,
172
172
  uploadMultiple: false,
173
173
  acceptedFiles: ACCEPTED_MIME_TYPES.join(','),
174
+ dictInvalidFileType: errorMessage,
174
175
  accept(file) {
175
- const extension = file.name.split('.').pop().toLowerCase();
176
-
177
- if (ACCEPTED_FILE_EXTENSIONS.indexOf(extension) < 0) {
178
- self.displayError(UNSUPPORTED_FILE_ERROR_MSG());
179
- return;
180
- }
181
-
182
176
  const reader = new FileReader();
183
177
  const dropzone = this;
184
178
 
@@ -200,8 +194,11 @@ export default {
200
194
  }
201
195
  });
202
196
  },
203
- },
204
- };
197
+ };
198
+ }
199
+ },
200
+ data() {
201
+ return {};
205
202
  },
206
203
  mounted() {
207
204
  if (window) {
@@ -0,0 +1,12 @@
1
+ /*
2
+ Theme: French Locale (based on BrandCrowd)
3
+ This theme is identical to BrandCrowd but forces French locale for translations
4
+ */
5
+
6
+ const bcTheme = require("./bc");
7
+ const _ = require("lodash");
8
+
9
+ module.exports = _.merge({}, bcTheme, {
10
+ // Inherit all BrandCrowd styling but add locale identifier
11
+ locale: "fr-FR",
12
+ });
@@ -3,6 +3,7 @@ const bpTheme = require("./src/themes/bp");
3
3
  const dcTheme = require("./src/themes/dc");
4
4
  const cdTheme = require("./src/themes/cd");
5
5
  const dcomTheme = require("./src/themes/dcom");
6
+ const frenchTheme = require("./src/themes/french");
6
7
  const viewports = require("./src/viewports");
7
8
 
8
9
  module.exports = {
@@ -12,6 +13,7 @@ module.exports = {
12
13
  crazyDomains: cdTheme,
13
14
  designCrowd: dcTheme,
14
15
  designCom: dcomTheme,
16
+ french: frenchTheme,
15
17
  },
16
18
  viewports,
17
19
  };