@vixoniccom/birthdays 0.7.17-dev.2 → 0.7.18-dev.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.
@@ -9,125 +9,10 @@ on:
9
9
  workflow_dispatch:
10
10
 
11
11
  jobs:
12
- build:
13
- name: Build and Publish Package
14
- runs-on: ubuntu-latest
15
- environment: production
12
+ release:
16
13
  if: github.event_name == 'workflow_dispatch' || github.event.pull_request.merged == true
17
-
18
- outputs:
19
- version: ${{ steps.extract_version.outputs.version }}
20
- deployment-start: ${{ steps.deployment_start.outputs.deployment_start }}
21
-
22
- steps:
23
- - name: Log deployment start
24
- id: deployment_start
25
- run: |
26
- echo "deployment_start=$(date +"%Y-%m-%dT%H:%M:%S%:z")" >> "$GITHUB_OUTPUT"
27
-
28
- - name: Checkout repository
29
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
30
- with:
31
- ref: ${{ github.event.pull_request.base.ref || github.ref_name }}
32
- fetch-depth: 0
33
- token: ${{ secrets.PRIVATE_TOKEN_GITHUB }}
34
-
35
- - name: Setup Node.js 20
36
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
37
- with:
38
- node-version: '20'
39
- registry-url: 'https://registry.npmjs.org'
40
- scope: '@vixoniccom'
41
-
42
- - name: Configure npm authentication
43
- run: |
44
- echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc
45
- echo "@vixoniccom:registry=https://registry.npmjs.org/" >> ~/.npmrc
46
- echo "registry=https://registry.npmjs.org/" >> ~/.npmrc
47
-
48
- - name: Cache node modules
49
- uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
50
- with:
51
- path: ~/.npm
52
- key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
53
- restore-keys: |
54
- ${{ runner.os }}-node-
55
-
56
- - name: Install dependencies
57
- run: npm ci
58
- env:
59
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
60
-
61
- - name: Bump version
62
- run: |
63
- git config user.name "github-actions[bot]"
64
- git config user.email "github-actions[bot]@users.noreply.github.com"
65
- npm run release -- --no-verify
66
- git push --follow-tags origin HEAD:${{ github.event.pull_request.base.ref || github.ref_name }}
67
- env:
68
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
69
-
70
- - name: Extract changelog for this release
71
- id: changelog
72
- run: |
73
- BODY=$(awk '/^## \[/{if(p) exit; p=1} p' CHANGELOG.md)
74
- echo "body<<EOF" >> $GITHUB_OUTPUT
75
- echo "$BODY" >> $GITHUB_OUTPUT
76
- echo "EOF" >> $GITHUB_OUTPUT
77
-
78
- - name: Extract version from package.json
79
- id: extract_version
80
- run: echo "version=$(node -p "require('./package.json').version")" >> $GITHUB_OUTPUT
81
-
82
- - name: Build package
83
- run: npm run prepublish
84
- env:
85
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
86
-
87
- - name: Verify build.zip exists
88
- run: |
89
- if [ ! -f "build.zip" ]; then
90
- echo "❌ Error: build.zip not found after build process"
91
- exit 1
92
- fi
93
- echo "✅ build.zip found successfully"
94
- ls -la build.zip
95
-
96
- - name: Publish to npm
97
- run: npm publish --access public
98
- env:
99
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
100
-
101
- - name: Create GitHub Release
102
- uses: softprops/action-gh-release@3bb12739c298aeb8a4eeaf626c5b8d85266b0e65 # v2
103
- with:
104
- tag_name: v${{ steps.extract_version.outputs.version }}
105
- name: v${{ steps.extract_version.outputs.version }}
106
- body: ${{ steps.changelog.outputs.body }}
107
- files: build.zip
108
- env:
109
- GITHUB_TOKEN: ${{ secrets.PRIVATE_TOKEN_GITHUB }}
110
-
111
- report-ep:
112
- name: Report EP Metrics
113
- runs-on: ubuntu-latest
114
- needs: [build]
115
- if: always()
116
-
117
- steps:
118
- - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
119
- with:
120
- fetch-depth: 0
121
- token: ${{ secrets.PRIVATE_TOKEN_GITHUB }}
122
-
123
- - uses: vismagroup/Jira-SDOP-Reporter@v1
124
- with:
125
- token: ${{ github.token }}
126
- deployment-start: ${{ needs.build.outputs.deployment-start }}
127
- deployment-status: ${{ needs.build.result == 'success' && 'success' || 'failure' }}
128
- jira-token: ${{ secrets.JIRA_TOKEN }}
129
- jira-issue-summary: "store-gallery-image release v${{ needs.build.outputs.version }}"
130
- jira-issue-project: "SDOP"
131
- jira-issue-components: |
132
- ${{ secrets.EP_JIRA_COMPONENT }}
133
- jira-issue-build-info: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
14
+ uses: Vixonic/github-workflows/.github/workflows/store-release.yml@a36ca67ada54f446e3858141085f4ee2c485d83a # main
15
+ with:
16
+ app-name: store-birthdays
17
+ default-branch: ${{ github.event.pull_request.base.ref || github.ref_name }}
18
+ secrets: inherit
package/CHANGELOG.md CHANGED
@@ -2,6 +2,20 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [0.7.18-dev.0](https://github.com/Vixonic/store-birthdays/compare/v0.7.17...v0.7.18-dev.0) (2026-10-01)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **ci:** migrate deploy to reusable workflow pinned to commit SHA ([#38](https://github.com/Vixonic/store-birthdays/issues/38)) ([7a9294d](https://github.com/Vixonic/store-birthdays/commit/7a9294d4d9f35a1d383445317618d149f6931dc3))
11
+
12
+ ### [0.7.17](https://github.com/Vixonic/store-birthdays/compare/v0.7.16...v0.7.17) (2026-09-02)
13
+
14
+
15
+ ### Features
16
+
17
+ * **VXD-382:** merge font and size into a single field for text and date labels ([#37](https://github.com/Vixonic/store-birthdays/issues/37)) ([3010d93](https://github.com/Vixonic/store-birthdays/commit/3010d93cf07869e5a6a53cc8c6c2d430512cb550))
18
+
5
19
  ### [0.7.17-dev.2](https://github.com/Vixonic/store-birthdays/compare/v0.7.17-dev.1...v0.7.17-dev.2) (2026-08-28)
6
20
 
7
21
  ### [0.7.17-dev.1](https://github.com/Vixonic/store-birthdays/compare/v0.7.17-dev.0...v0.7.17-dev.1) (2026-08-28)
package/build.zip CHANGED
Binary file
@@ -9,6 +9,8 @@ import {
9
9
  } from '@vixoniccom/modules'
10
10
  import { ShowValidations } from '../utils'
11
11
 
12
+ const decorationsAvailable = `${ShowValidations.presetActive} || {{orientation}} !== "v"`
13
+
12
14
  export const appearanceInputs = [
13
15
  new Label({ label: 'Tema predefinido' }),
14
16
  new SelectInput({
@@ -21,6 +23,15 @@ export const appearanceInputs = [
21
23
  { label: 'Cumpleaños con foto', value: 'preset2' },
22
24
  ],
23
25
  }),
26
+ new Label({ label: 'Decoraciones', show: decorationsAvailable }),
27
+ new Switch({
28
+ id: 'birthdayDecorations',
29
+ label: 'Decoraciones de cumpleaños',
30
+ displayOnTrue: 'gorro, halo y globos en quien cumple hoy',
31
+ displayOnFalse: 'sin decoraciones',
32
+ defaultValue: false,
33
+ show: decorationsAvailable,
34
+ }),
24
35
  new Label({ label: 'Orientación', show: ShowValidations.personalizado }),
25
36
  new SelectInput({
26
37
  id: 'orientation',
@@ -12,6 +12,7 @@ import { ShowValidations } from '../utils'
12
12
 
13
13
  const {
14
14
  personalizado,
15
+ presetActive,
15
16
  descriptionEnabled,
16
17
  optionalEnabled,
17
18
  imageEnabled,
@@ -32,25 +33,25 @@ export const standardInputs = [
32
33
  id: 'descriptionFormat',
33
34
  label: 'Fuente y tamaño de la descripción',
34
35
  description: 'Si hay un preset activo, sobrescribe el tamaño (en vh) y la fuente definidos por el preset. Sin preset, se usa 3vh por defecto. Deja el campo vacío para usar el valor por defecto.',
35
- show: descriptionEnabled,
36
+ show: `(${personalizado} && ${descriptionEnabled}) || ${presetActive}`,
36
37
  }),
37
38
  new TextFormat({
38
39
  id: 'optionalFormat',
39
40
  label: 'Fuente y tamaño del campo opcional',
40
41
  description: 'Si hay un preset activo, sobrescribe el tamaño (en vh) y la fuente definidos por el preset. Sin preset, se usa 3vh por defecto. Deja el campo vacío para usar el valor por defecto.',
41
- show: optionalEnabled,
42
+ show: `${personalizado} && ${optionalEnabled}`,
42
43
  }),
43
44
  new TextFormat({
44
45
  id: 'dateDayFormat',
45
46
  label: 'Fuente y tamaño del día',
46
47
  description: 'Si hay un preset activo, sobrescribe el tamaño y la fuente definidos por el preset. Sin preset, se usa 20 por defecto (px en los estilos de fecha con calendario, círculo o contorno; vh en el estilo de texto). Deja el campo vacío para usar el valor por defecto.',
47
- show: dateEnabled,
48
+ show: `(${personalizado} && ${dateEnabled}) || ${presetActive}`,
48
49
  }),
49
50
  new TextFormat({
50
51
  id: 'dateMonthFormat',
51
52
  label: 'Fuente y tamaño del mes',
52
53
  description: 'Si hay un preset activo, sobrescribe el tamaño y la fuente definidos por el preset. Sin preset, se usa 20 por defecto (px en los estilos de fecha con calendario, círculo o contorno; vh en el estilo de texto). Deja el campo vacío para usar el valor por defecto.',
53
- show: dateEnabled,
54
+ show: `(${personalizado} && ${dateEnabled}) || ${presetActive}`,
54
55
  }),
55
56
 
56
57
  new Label({ label: 'Textos', show: personalizado }),
@@ -224,7 +225,7 @@ export const standardInputs = [
224
225
  new ColorPicker({
225
226
  id: 'datePrimaryColor',
226
227
  label: 'Color primario',
227
- show: `${personalizado} && ${dateColorCondition}`,
228
+ show: `(${personalizado} && ${dateColorCondition}) || ${presetActive}`,
228
229
  }),
229
230
  new TextInput({
230
231
  id: 'dateMargin',
@@ -1,6 +1,6 @@
1
1
  export const ShowValidations = {
2
2
  personalizado: '({{themePreset}} === "personalizado" || !{{themePreset}})',
3
- presetActive: '{{themePreset}} && {{themePreset}} !== "personalizado"',
3
+ presetActive: '({{themePreset}} && {{themePreset}} !== "personalizado")',
4
4
  descriptionEnabled: '{{descriptionEnabled}} === true',
5
5
  optionalEnabled: '{{optionalEnabled}} === true',
6
6
  imageEnabled: '{{imageEnabled}} === true',
@@ -128,6 +128,20 @@
128
128
  }
129
129
  ]
130
130
  },
131
+ {
132
+ "type": "label",
133
+ "label": "Decoraciones",
134
+ "show": "({{themePreset}} && {{themePreset}} !== \"personalizado\") || {{orientation}} !== \"v\""
135
+ },
136
+ {
137
+ "id": "birthdayDecorations",
138
+ "label": "Decoraciones de cumpleaños",
139
+ "show": "({{themePreset}} && {{themePreset}} !== \"personalizado\") || {{orientation}} !== \"v\"",
140
+ "type": "switch",
141
+ "defaultValue": false,
142
+ "displayOnTrue": "gorro, halo y globos en quien cumple hoy",
143
+ "displayOnFalse": "sin decoraciones"
144
+ },
131
145
  {
132
146
  "type": "label",
133
147
  "label": "Orientación",
@@ -301,28 +315,28 @@
301
315
  {
302
316
  "id": "descriptionFormat",
303
317
  "label": "Fuente y tamaño de la descripción",
304
- "show": "{{descriptionEnabled}} === true",
318
+ "show": "(({{themePreset}} === \"personalizado\" || !{{themePreset}}) && {{descriptionEnabled}} === true) || ({{themePreset}} && {{themePreset}} !== \"personalizado\")",
305
319
  "type": "text-format",
306
320
  "description": "Si hay un preset activo, sobrescribe el tamaño (en vh) y la fuente definidos por el preset. Sin preset, se usa 3vh por defecto. Deja el campo vacío para usar el valor por defecto."
307
321
  },
308
322
  {
309
323
  "id": "optionalFormat",
310
324
  "label": "Fuente y tamaño del campo opcional",
311
- "show": "{{optionalEnabled}} === true",
325
+ "show": "({{themePreset}} === \"personalizado\" || !{{themePreset}}) && {{optionalEnabled}} === true",
312
326
  "type": "text-format",
313
327
  "description": "Si hay un preset activo, sobrescribe el tamaño (en vh) y la fuente definidos por el preset. Sin preset, se usa 3vh por defecto. Deja el campo vacío para usar el valor por defecto."
314
328
  },
315
329
  {
316
330
  "id": "dateDayFormat",
317
331
  "label": "Fuente y tamaño del día",
318
- "show": "{{dateEnabled}} === true",
332
+ "show": "(({{themePreset}} === \"personalizado\" || !{{themePreset}}) && {{dateEnabled}} === true) || ({{themePreset}} && {{themePreset}} !== \"personalizado\")",
319
333
  "type": "text-format",
320
334
  "description": "Si hay un preset activo, sobrescribe el tamaño y la fuente definidos por el preset. Sin preset, se usa 20 por defecto (px en los estilos de fecha con calendario, círculo o contorno; vh en el estilo de texto). Deja el campo vacío para usar el valor por defecto."
321
335
  },
322
336
  {
323
337
  "id": "dateMonthFormat",
324
338
  "label": "Fuente y tamaño del mes",
325
- "show": "{{dateEnabled}} === true",
339
+ "show": "(({{themePreset}} === \"personalizado\" || !{{themePreset}}) && {{dateEnabled}} === true) || ({{themePreset}} && {{themePreset}} !== \"personalizado\")",
326
340
  "type": "text-format",
327
341
  "description": "Si hay un preset activo, sobrescribe el tamaño y la fuente definidos por el preset. Sin preset, se usa 20 por defecto (px en los estilos de fecha con calendario, círculo o contorno; vh en el estilo de texto). Deja el campo vacío para usar el valor por defecto."
328
342
  },
@@ -618,7 +632,7 @@
618
632
  {
619
633
  "id": "datePrimaryColor",
620
634
  "label": "Color primario",
621
- "show": "({{themePreset}} === \"personalizado\" || !{{themePreset}}) && ({{dateEnabled}} === true && ['calendarFlat', 'circle', 'outlines'].indexOf({{dateStyle}}) !== -1)",
635
+ "show": "(({{themePreset}} === \"personalizado\" || !{{themePreset}}) && ({{dateEnabled}} === true && ['calendarFlat', 'circle', 'outlines'].indexOf({{dateStyle}}) !== -1)) || ({{themePreset}} && {{themePreset}} !== \"personalizado\")",
622
636
  "type": "color-picker",
623
637
  "output": "auto"
624
638
  },
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "author": {
9
9
  "name": "Lorenzo Alfaro Bravo"
10
10
  },
11
- "version": "0.7.17-dev.2",
11
+ "version": "0.7.18-dev.0",
12
12
  "scripts": {
13
13
  "prepublish": "vixonic-module-packager --mode=build",
14
14
  "watch": "vixonic-module-packager --mode=watch",