@mouseless/baked 1.7.1 → 1.8.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/dist/module.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mouseless/baked",
3
3
  "configKey": "baked",
4
- "version": "1.7.1",
4
+ "version": "1.8.0",
5
5
  "builder": {
6
6
  "@nuxt/module-builder": "1.0.2",
7
7
  "unbuild": "unknown"
package/dist/module.mjs CHANGED
@@ -1,4 +1,5 @@
1
- import { createResolver, defineNuxtModule, addComponentsDir, addImportsDir, addPlugin } from '@nuxt/kit';
1
+ import { createResolver, defineNuxtModule, addComponentsDir, addImportsDir, addPlugin, addVitePlugin } from '@nuxt/kit';
2
+ import tailwindcss from '@tailwindcss/vite';
2
3
  import { pathToFileURL } from 'url';
3
4
  import { join } from 'path';
4
5
 
@@ -11,7 +12,7 @@ const module$1 = defineNuxtModule({
11
12
  defaults: {},
12
13
  moduleDependencies: {
13
14
  "@nuxtjs/i18n": {
14
- version: "10.4.0",
15
+ version: "10.5.0",
15
16
  defaults: {
16
17
  strategy: "no_prefix",
17
18
  detectBrowserLanguage: {
@@ -19,21 +20,6 @@ const module$1 = defineNuxtModule({
19
20
  cookieKey: "i18n_cookie"
20
21
  }
21
22
  }
22
- },
23
- "@nuxtjs/tailwindcss": {
24
- version: "6.14.0",
25
- defaults: {
26
- exposeConfig: true,
27
- cssPath: metaUrlResolver.resolve("./runtime/assets/tailwind.css"),
28
- config: {
29
- content: {
30
- files: [
31
- metaUrlResolver.resolve("./runtime/components/**/*.{vue,mjs,ts}"),
32
- metaUrlResolver.resolve("./runtime/*.{mjs,js,ts}")
33
- ]
34
- }
35
- }
36
- }
37
23
  }
38
24
  },
39
25
  onInstall() {
@@ -70,7 +56,8 @@ const module$1 = defineNuxtModule({
70
56
  _nuxt.options.runtimeConfig.public.composables = _options.composables;
71
57
  _nuxt.options.runtimeConfig.public.apiBaseURL = _options.apiBaseURL;
72
58
  _nuxt.options.css.push("primeicons/primeicons.css");
73
- _nuxt.options.css.push(resolver.metaUrl.resolve("./runtime/assets/overrides.css"));
59
+ _nuxt.options.css.push(resolver.metaUrl.resolve("./runtime/assets/tailwind.css"));
60
+ _nuxt.options.css.push(resolver.metaUrl.resolve("./runtime/assets/components.css"));
74
61
  _nuxt.options.devtools = { enabled: false };
75
62
  _nuxt.options.experimental.payloadExtraction = false;
76
63
  _nuxt.options.features.inlineStyles = false;
@@ -87,6 +74,7 @@ const module$1 = defineNuxtModule({
87
74
  addPlugin(resolver.metaUrl.resolve("./runtime/plugins/baked"));
88
75
  addPlugin(resolver.metaUrl.resolve("./runtime/plugins/primeVue"));
89
76
  addPlugin(resolver.metaUrl.resolve("./runtime/plugins/fetch"), {});
77
+ addVitePlugin(tailwindcss());
90
78
  _nuxt.options.vite.optimizeDeps ||= {};
91
79
  _nuxt.options.vite.optimizeDeps.noDiscovery = true;
92
80
  _nuxt.options.i18n = {
@@ -105,20 +93,6 @@ const module$1 = defineNuxtModule({
105
93
  }),
106
94
  defaultLocale: app?.i18n?.defaultLanguage?.code
107
95
  };
108
- _nuxt.options.tailwindcss = {
109
- config: {
110
- theme: {
111
- screens: _options.composables.useBreakpoints.screens,
112
- extend: {
113
- colors: {
114
- zinc: {
115
- 925: "#121214"
116
- }
117
- }
118
- }
119
- }
120
- }
121
- };
122
96
  }
123
97
  });
124
98
  function camelize(str) {
@@ -0,0 +1,9 @@
1
+ @reference "./tailwind.css";@layer utilities{html{@apply max-xs:text-[smaller]}.bg-body,html{@apply bg-white dark:bg-zinc-925}.p-panel-content:has(.b-component--DataContainer) .b-component--DataContainer{@apply border-none rounded-none}.b-component--DataContainer div{@apply [&:has(.p-datatable)]:p-0}.b-component--DataContainer .p-button{@apply self-stretch}.b-component--DataContainer .p-button .p-button-icon+.p-button-label{@apply max-sm:hidden}.b-component--DataTable .p-datatable-tbody td.p-datatable-frozen-column{background:inherit}.b-component--DataContainer:has(.b-component--DataTable) .b-component--DataTable,.p-panel-content:has(.b-component--DataTable) .b-component--DataTable{@apply border-none rounded-none}.b-component--DataContainer:has(.b-component--DataTable) .b-component--DataTable .p-datatable-table-container,.p-panel-content:has(.b-component--DataTable) .b-component--DataTable .p-datatable-table-container{@apply border-none}.b-component--DataTable{@apply border border-slate-200 dark:border-zinc-700 justify-self-center w-full rounded-datatable}.b-component--DataTable .p-datatable-table-container{@apply border-none rounded-datatable}.b-component--DataTable:has(.p-datatable-paginator-bottom) .p-datatable-paginator-bottom{@apply border-t rounded-t-none rounded-b-datatable border-b-0}.b-component--DataTable:has(.p-datatable-paginator-bottom) .p-datatable-table-container{@apply rounded-b-none}.b-component--DataTable tbody>tr:last-child>td{@apply border-b-0}.b-component--DataTable tfoot>tr>td{@apply border-t}.b-component--DataTable .b-label-column--wide{@apply 3xl:w-[30%] 2xl:w-[20%] xl:w-[15%]}.b-component--DataTable .b-label-column--narrow{@apply 3xl:w-[40%] 2xl:w-[30%] xl:w-[20%]}.b-component--DataTable a{@apply text-sm}.b-component--DataTable .p-button{@apply -my-2}.b-component--DataTable td.p-datatable-frozen-column{@apply z-[1]}.b-component--DataTable .p-datatable-thead{@apply z-[2]}.b-component--DataPanel .p-panel-content{@apply [&:has(.p-datatable)]:p-0}.b-component--FormPage .reset-min-w *{@apply min-w-0}.p-iftalabel:has(.p-selectbutton){@apply mt-4}.b-component--Message.message-outlined{@apply border rounded-md}.b-component--Message.message-outlined .b-message-body{@apply py-[0.50rem] px-[0.75rem] min-w-[10rem] min-h-[1.5rem]}.b-component--Message.message-simple{@apply !bg-transparent}.b-component--Message.message-simple .b-message-icon{@apply text-sm}.b-component--Message.message-simple .b-message-body{@apply px-0}.b-component--Message.message-info{@apply bg-blue-50/95 text-blue-600 border-blue-200
2
+ dark:bg-blue-950/95 dark:text-blue-500 dark:border-blue-700/65}.b-component--Message.message-error{@apply bg-red-50/95 text-red-600 border-red-200
3
+ dark:bg-red-950/95 dark:text-red-500 dark:border-red-700/65}.b-component--Message.message-warn{@apply bg-yellow-50/95 text-yellow-600 border-yellow-200
4
+ dark:bg-yellow-950/95 dark:text-yellow-500 dark:border-yellow-700/65}.b-component--Message.message-success{@apply bg-green-50/95 text-green-600 border-green-200
5
+ dark:bg-green-950/95 dark:text-green-500 dark:border-green-700/65}.b-component--Message.message-secondary{@apply bg-transparent text-slate-500 border-slate-500
6
+ dark:text-slate-400 dark:border-slate-400}.b-component--Message.message-contrast{@apply bg-transparent text-slate-950 border-slate-950
7
+ dark:text-white dark:border-white}.c--missing-component-dialog code:not(:has(pre)){@apply rounded p-1 text-xs bg-zinc-50 text-orange-700
8
+ dark:bg-zinc-950 dark:text-orange-400}.c--missing-component-dialog pre{@apply block rounded-lg overflow-auto max-h-[20em]
9
+ bg-zinc-950 p-4 text-xs text-sky-300}.c--missing-component-dialog pre .c--code-comment{@apply text-green-800}.c--missing-component-dialog pre .c--code-string{@apply text-orange-400}.c--missing-component-dialog pre .c--code-keyword{@apply text-purple-400}.c--missing-component-dialog pre .c--code-symbol{@apply text-gray-100}.c--missing-component-dialog pre .c--code-type{@apply text-blue-400}.c--missing-component-dialog pre .c--code-method{@apply text-yellow-100}.p-scrolltop{@apply right-6 bottom-6 max-md:bottom-24 py-icon-only-width}.b-component--Select .p-placeholder{@apply opacity-0}.b-component--Select .p-select-label{@apply text-[length:inherit]}.p-popover-content .b-component--Select{@apply max-md:w-full}.b-component--SelectButton .p-togglebutton-content{@apply whitespace-nowrap}.p-popover-content .b-component--SelectButton .p-selectbutton,.p-popover-content .b-component--SelectButton.p-selectbutton{@apply max-sm:flex max-sm:flex-col}.p-popover-content .b-component--SelectButton .p-selectbutton .p-togglebutton:first-child,.p-popover-content .b-component--SelectButton.p-selectbutton .p-togglebutton:first-child{@apply max-sm:rounded-t-lg max-sm:rounded-es-none}.p-popover-content .b-component--SelectButton .p-selectbutton .p-togglebutton:last-child,.p-popover-content .b-component--SelectButton.p-selectbutton .p-togglebutton:last-child{@apply max-sm:rounded-b-lg max-sm:rounded-se-none}.b-component--SimpleForm.horizontal :has(.p-iftalabel) .p-button[data-p=large]{@apply mt-1}.b-component--SimpleForm.horizontal :has(.p-iftalabel) .p-button:not([data-p=large]){@apply mt-2}.b-component--PageSize .p-select-label{@apply text-[length:inherit]}.b-component--PageTitle .p-button{@apply self-stretch}.b-component--PageTitle .p-button .p-button-icon+.p-button-label{@apply max-sm:hidden}.p-popover-content>div{@apply max-sm:p-0}}
@@ -1 +1 @@
1
- @layer tailwind-base{@tailwind base}@layer tailwind-utilities{@tailwind components;@tailwind utilities;@tailwind variants}
1
+ @import "tailwindcss";@source "../components/**/*.vue";@theme{--breakpoint-2xs:340px;--breakpoint-xs:480px;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px;--breakpoint-3xl:1920px;--radius-datatable:var(--p-border-radius-md);--spacing-icon-only-width:calc(var(--p-button-icon-only-width)/2);--color-zinc-925:#121214}
@@ -48,10 +48,20 @@
48
48
  name="content"
49
49
  :descriptor="content"
50
50
  />
51
- <Message
51
+ <Bake
52
52
  v-else-if="!ready"
53
- :schema="{ severity: 'info', icon: 'pi pi-info-circle' }"
54
- :data="lc('Select required values to view this data')"
53
+ name="message"
54
+ :descriptor="{
55
+ type: 'Message',
56
+ schema: {
57
+ severity: 'info',
58
+ icon: 'pi pi-info-circle'
59
+ },
60
+ data: {
61
+ type: 'Inline',
62
+ value: lc('Select required values to view this data')
63
+ }
64
+ }"
55
65
  />
56
66
  </div>
57
67
  </div>
@@ -60,7 +70,7 @@
60
70
  <script setup>
61
71
  import { ref } from "vue";
62
72
  import { useContext, useLocalization } from "#imports";
63
- import { Bake, Inputs, Message } from "#components";
73
+ import { Bake, Inputs } from "#components";
64
74
  const context = useContext();
65
75
  const { localize: lc } = useLocalization({ group: "DataContainer" });
66
76
  const { schema } = defineProps({
@@ -83,7 +93,3 @@ function onChanged(event) {
83
93
  values.value = event.values;
84
94
  }
85
95
  </script>
86
-
87
- <style>
88
- .p-panel-content:has(.b-component--DataContainer) .b-component--DataContainer{@apply border-none rounded-none}.b-component--DataContainer div{@apply [&:has(.p-datatable)]:p-0}.b-component--DataContainer .p-button{@apply self-stretch}.b-component--DataContainer .p-button .p-button-icon+.p-button-label{@apply max-sm:hidden}
89
- </style>
@@ -69,10 +69,20 @@
69
69
  name="content"
70
70
  :descriptor="content"
71
71
  />
72
- <Message
72
+ <Bake
73
73
  v-else-if="!ready"
74
- :schema="{ severity: 'info', icon: 'pi pi-info-circle' }"
75
- :data="lc('Select required values to view this data')"
74
+ name="message"
75
+ :descriptor="{
76
+ type: 'Message',
77
+ schema: {
78
+ severity: 'info',
79
+ icon: 'pi pi-info-circle'
80
+ },
81
+ data: {
82
+ type: 'Inline',
83
+ value: lc('Select required values to view this data')
84
+ }
85
+ }"
76
86
  />
77
87
  </template>
78
88
  </Panel>
@@ -82,7 +92,7 @@
82
92
  import { computed, ref, useTemplateRef } from "vue";
83
93
  import { Panel, Button } from "primevue";
84
94
  import { useBreakpoints, useContext, useDataMounter, useUiStates, useLocalization } from "#imports";
85
- import { Bake, Inputs, PersistentPopover, Message } from "#components";
95
+ import { Bake, Inputs, PersistentPopover } from "#components";
86
96
  const { value: { panelStates } } = useUiStates();
87
97
  const { isMd } = useBreakpoints();
88
98
  const context = useContext();
@@ -128,7 +138,3 @@ function onChanged(event) {
128
138
  values.value = event.values;
129
139
  }
130
140
  </script>
131
-
132
- <style>
133
- .b-component--DataPanel .p-panel-content{@apply [&:has(.p-datatable)]:p-0}
134
- </style>
@@ -263,10 +263,3 @@ function exportFunction({ data: data2, field }) {
263
263
  return formatter.format(data2.value, { prop: field, row: data2.$getRow() });
264
264
  }
265
265
  </script>
266
-
267
- <style>
268
- .b-component--DataContainer:has(.b-component--DataTable) .b-component--DataTable,.p-panel-content:has(.b-component--DataTable) .b-component--DataTable{@apply border-none rounded-none}.b-component--DataContainer:has(.b-component--DataTable) .b-component--DataTable .p-datatable-table-container,.p-panel-content:has(.b-component--DataTable) .b-component--DataTable .p-datatable-table-container{@apply border-none}.b-component--DataTable{@apply border border-slate-200 dark:border-zinc-700
269
- justify-self-center w-full
270
- rounded-[--p-border-radius-md]}.b-component--DataTable .p-datatable-table-container{@apply border-none rounded-[--p-border-radius-md]}.b-component--DataTable:has(.p-datatable-paginator-bottom) .p-datatable-paginator-bottom{@apply border-t rounded-t-none
271
- rounded-b-[--p-border-radius-md] border-b-0}.b-component--DataTable:has(.p-datatable-paginator-bottom) .p-datatable-table-container{@apply rounded-b-none}.b-component--DataTable tbody>tr:last-child>td{@apply border-b-0}.b-component--DataTable tfoot>tr>td{@apply border-t}.b-component--DataTable .b-label-column--wide{@apply 3xl:w-[30%] 2xl:w-[20%] xl:w-[15%]}.b-component--DataTable .b-label-column--narrow{@apply 3xl:w-[40%] 2xl:w-[30%] xl:w-[20%]}.b-component--DataTable a{@apply text-sm}.b-component--DataTable .p-button{@apply -my-2}.b-component--DataTable td.p-datatable-frozen-column{@apply z-[1]}.b-component--DataTable .p-datatable-thead{@apply z-[2]}
272
- </style>
@@ -40,7 +40,3 @@ const { schema } = defineProps({
40
40
  const { header, sideMenu } = schema;
41
41
  const scrollTopOptions = { threshold: 250, ...schema.scrollTopOptions };
42
42
  </script>
43
-
44
- <style>
45
- .p-scrolltop{padding-bottom:calc(var(--p-button-icon-only-width)/2);padding-top:calc(var(--p-button-icon-only-width)/2);@apply right-6 bottom-6 max-md:bottom-24}
46
- </style>
@@ -40,9 +40,19 @@
40
40
  type="dashed"
41
41
  class="my-8"
42
42
  />
43
- <Message
44
- :schema="{ severity: 'warn', icon: 'pi pi-exclamation-circle' }"
45
- :data="l(footerInfo)"
43
+ <Bake
44
+ name="message"
45
+ :descriptor="{
46
+ type: 'Message',
47
+ schema: {
48
+ severity: 'warn',
49
+ icon: 'pi pi-exclamation-circle'
50
+ },
51
+ data: {
52
+ type: 'Inline',
53
+ value: l(footerInfo)
54
+ }
55
+ }"
46
56
  />
47
57
  </div>
48
58
  </template>
@@ -51,7 +61,6 @@
51
61
  import { computed } from "vue";
52
62
  import { Divider, Tag } from "primevue";
53
63
  import { useLocalization } from "#imports";
54
- import { Message } from "#components";
55
64
  const { localize: l } = useLocalization();
56
65
  const { schema, data } = defineProps({
57
66
  schema: { type: null, required: true },
@@ -148,7 +148,3 @@ function onSubmit() {
148
148
  emit("submit", model.value);
149
149
  }
150
150
  </script>
151
-
152
- <style>
153
- .b-component--FormPage .reset-min-w *{@apply min-w-0}
154
- </style>
@@ -61,13 +61,3 @@ const sizeClass = computed(() => {
61
61
  }
62
62
  });
63
63
  </script>
64
-
65
- <style scoped>
66
- .message-outlined{@apply border rounded-md}.message-outlined .b-message-body{@apply py-[0.50rem] px-[0.75rem] min-w-[10rem] min-h-[1.5rem]}.message-simple{@apply !bg-transparent}.message-simple .b-message-icon{@apply text-sm}.message-simple .b-message-body{@apply px-0}.message-info{@apply bg-blue-50/95 text-blue-600 border-blue-200
67
- dark:bg-blue-950/95 dark:text-blue-500 dark:border-blue-700/65}.message-error{@apply bg-red-50/95 text-red-600 border-red-200
68
- dark:bg-red-950/95 dark:text-red-500 dark:border-red-700/65}.message-warn{@apply bg-yellow-50/95 text-yellow-600 border-yellow-200
69
- dark:bg-yellow-950/95 dark:text-yellow-500 dark:border-yellow-700/65}.message-success{@apply bg-green-50/95 text-green-600 border-green-200
70
- dark:bg-green-950/95 dark:text-green-500 dark:border-green-700/65}.message-secondary{@apply bg-transparent text-slate-500 border-slate-500
71
- dark:text-slate-400 dark:border-slate-400}.message-contrast{@apply bg-transparent text-slate-950 border-slate-950
72
- dark:text-white dark:border-white}
73
- </style>
@@ -24,7 +24,7 @@
24
24
  header="Missing Component"
25
25
  modal
26
26
  dismissable-mask
27
- class="min-w-[500px] max-w-[750px] mx-4"
27
+ class="c--missing-component-dialog min-w-[500px] max-w-[750px] mx-4"
28
28
  >
29
29
  <div class="flex flex-col gap-4 w-full">
30
30
  <code v-if="path">{{ path.join('/') }}</code>
@@ -168,7 +168,3 @@ function highlightJson(src) {
168
168
  return s;
169
169
  }
170
170
  </script>
171
-
172
- <style>
173
- code:not(:has(pre)){@apply rounded p-1 text-xs bg-zinc-50 text-orange-700 dark:bg-zinc-950 dark:text-orange-400}pre{@apply block rounded-lg overflow-auto max-h-[20em] bg-zinc-950 p-4 text-xs text-sky-300}pre .c--code-comment{@apply text-green-800}pre .c--code-string{@apply text-orange-400}pre .c--code-keyword{@apply text-purple-400}pre .c--code-symbol{@apply text-gray-100}pre .c--code-type{@apply text-blue-400}pre .c--code-method{@apply text-yellow-100}
174
- </style>
@@ -22,7 +22,3 @@ defineProps({
22
22
  });
23
23
  const model = defineModel({ type: null, required: true });
24
24
  </script>
25
-
26
- <style>
27
- .b-component--PageSize .p-select-label{font-size:inherit}
28
- </style>
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div
3
3
  id="page-title"
4
- class="sticky -top-1 z-10 space-y-4 bg-body"
4
+ class="sticky top-[-1px] z-10 space-y-4 bg-body"
5
5
  >
6
6
  <div class="flex justify-between items-center gap-2">
7
7
  <div
@@ -166,11 +166,3 @@ function togglePopoverInputs(event) {
166
166
  popoverInputs.value.toggle(event);
167
167
  }
168
168
  </script>
169
-
170
- <style scoped>
171
- .sticky{top:-1px}
172
- </style>
173
-
174
- <style>
175
- .b-component--PageTitle .p-button{@apply self-stretch}.b-component--PageTitle .p-button .p-button-icon+.p-button-label{@apply max-sm:hidden}
176
- </style>
@@ -94,7 +94,3 @@ function setSelected(value) {
94
94
  }
95
95
  }
96
96
  </script>
97
-
98
- <style>
99
- .b-component--Select .p-placeholder{opacity:0}.b-component--Select .p-select-label{font-size:inherit}.p-popover-content .b-component--Select{@apply max-md:w-full}
100
- </style>
@@ -107,11 +107,3 @@ function setSelected(value) {
107
107
  }
108
108
  }
109
109
  </script>
110
-
111
- <style>
112
- .p-togglebutton-content{@apply whitespace-nowrap}.p-popover-content .b-component--SelectButton .p-selectbutton,.p-popover-content .b-component--SelectButton.p-selectbutton{@apply max-sm:flex max-sm:flex-col}.p-popover-content .b-component--SelectButton .p-selectbutton .p-togglebutton:first-child,.p-popover-content .b-component--SelectButton.p-selectbutton .p-togglebutton:first-child{@apply max-sm:rounded-t-lg max-sm:rounded-es-none}.p-popover-content .b-component--SelectButton .p-selectbutton .p-togglebutton:last-child,.p-popover-content .b-component--SelectButton.p-selectbutton .p-togglebutton:last-child{@apply max-sm:rounded-b-lg max-sm:rounded-se-none}
113
- </style>
114
-
115
- <style scoped>
116
- .p-iftalabel:has(.p-selectbutton){@apply mt-4}
117
- </style>
@@ -67,7 +67,10 @@
67
67
  { 'horizontal': horizontal }
68
68
  ]"
69
69
  >
70
- <h2 class="font-bold text-xl truncate">
70
+ <h2
71
+ v-if="alwaysShowTitle"
72
+ class="font-bold text-xl truncate"
73
+ >
71
74
  {{ l(title) }}
72
75
  </h2>
73
76
  <div
@@ -118,7 +121,7 @@ const { schema } = defineProps({
118
121
  schema: { type: null, required: true }
119
122
  });
120
123
  const emit = defineEmits(["submit"]);
121
- const { dialogOptions, inputs, horizontal, submit, title, validations = [], showValidationSummary = false } = schema;
124
+ const { alwaysShowTitle, dialogOptions, inputs, horizontal, submit, title, validations = [], showValidationSummary } = schema;
122
125
  const model = ref({});
123
126
  const readyData = ref({});
124
127
  const submitted = ref(false);
@@ -159,7 +162,3 @@ function emitSubmit() {
159
162
  }
160
163
  }
161
164
  </script>
162
-
163
- <style scoped>
164
- .horizontal :has(.p-iftalabel) .p-button[data-p=large]{@apply mt-1}.horizontal :has(.p-iftalabel) .p-button:not([data-p=large]){@apply mt-2}
165
- </style>
@@ -38,10 +38,20 @@
38
38
  </Tabs>
39
39
  </template>
40
40
  </Bake>
41
- <Message
41
+ <Bake
42
42
  v-if="showRequiredMessage"
43
- :schema="{ severity: 'info', icon: 'pi pi-info-circle' }"
44
- :data="lc('Select required values to view this page')"
43
+ name="message"
44
+ :descriptor="{
45
+ type: 'Message',
46
+ schema: {
47
+ severity: 'info',
48
+ icon: 'pi pi-info-circle'
49
+ },
50
+ data: {
51
+ type: 'Inline',
52
+ value: lc('Select required values to view this page')
53
+ }
54
+ }"
45
55
  />
46
56
  <div
47
57
  v-if="ready"
@@ -70,7 +80,7 @@
70
80
  import { computed, onBeforeUnmount, onMounted, reactive, ref } from "vue";
71
81
  import { Tab, TabList, Tabs } from "primevue";
72
82
  import { useContext, useLocalization, useReactionHandler } from "#imports";
73
- import { Bake, Contents, DeferredTabContent, Inputs, Message } from "#components";
83
+ import { Bake, Contents, DeferredTabContent, Inputs } from "#components";
74
84
  const context = useContext();
75
85
  const { localize: l } = useLocalization();
76
86
  const { localize: lc } = useLocalization({ group: "TabbedPage" });
@@ -12,17 +12,24 @@
12
12
  :validation
13
13
  :mutable-validation
14
14
  >
15
- <Message
15
+ <Bake
16
16
  v-if="message"
17
17
  :key="`${severity}:${icon}`"
18
+ name="message"
18
19
  icon="pi pi-info-circle"
19
- :schema="{
20
- severity,
21
- variant: 'simple',
22
- size: 'small',
23
- icon
20
+ :descriptor="{
21
+ type: 'Message',
22
+ schema: {
23
+ severity,
24
+ variant: 'simple',
25
+ size: 'small',
26
+ icon
27
+ },
28
+ data: {
29
+ type: 'Inline',
30
+ value: message || ''
31
+ }
24
32
  }"
25
- :data="message || ''"
26
33
  class="ml-3"
27
34
  />
28
35
  </slot>
@@ -32,7 +39,6 @@
32
39
  <script setup>
33
40
  import { computed } from "vue";
34
41
  import { useContext } from "#imports";
35
- import { Message } from "#components";
36
42
  const context = useContext();
37
43
  const validationHandled = context.injectValidationHandled();
38
44
  const validation = context.injectValidation();
@@ -39,7 +39,9 @@ function Composable() {
39
39
 
40
40
  function Is() {
41
41
  async function evaluate({ constraint, value }) {
42
- return (constraint.null && value == null) || constraint.is === value;
42
+ if(constraint["null"]) { return value == null; }
43
+
44
+ return constraint.is === value;
43
45
  }
44
46
 
45
47
  return {
@@ -49,7 +51,9 @@ function Is() {
49
51
 
50
52
  function IsNot() {
51
53
  async function evaluate({ constraint, value }) {
52
- return (constraint.null && value != null) || constraint.isNot !== value;
54
+ if(constraint["null"]) { return value != null; }
55
+
56
+ return constraint.isNot !== value;
53
57
  }
54
58
 
55
59
  return {
@@ -1,3 +1,3 @@
1
1
  export default function _default(): {
2
- compute: () => import("vue").Ref<import("#app").NuxtError<unknown> | undefined, import("#app").NuxtError<unknown> | undefined>;
2
+ compute: () => import("vue").Ref<import("#app").NuxtError | undefined>;
3
3
  };
@@ -3,6 +3,14 @@ import { useError } from "#app";
3
3
  export default function() {
4
4
  const error = useError();
5
5
 
6
+ /**
7
+ * Explicit return type required: without it, nuxt-module-build's
8
+ * declaration output tries to reference Nuxt's internal type path
9
+ * (~/node_modules/nuxt/dist/app/types), which isn't resolvable once
10
+ * this module is published and installed elsewhere (TS2883).
11
+ *
12
+ * @returns {import('vue').Ref<import('#app').NuxtError | undefined>}
13
+ */
6
14
  function compute() {
7
15
  return error;
8
16
  }
@@ -17,7 +17,7 @@ export default defineNuxtPlugin({
17
17
  options: {
18
18
  cssLayer: {
19
19
  name: "primevue",
20
- order: "tailwind-base, primevue, tailwind-utilities"
20
+ order: "theme, base, primevue, utilities"
21
21
  }
22
22
  }
23
23
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mouseless/baked",
3
- "version": "1.7.1",
3
+ "version": "1.8.0",
4
4
  "description": "Baked is an opinionated framework for .NET and Vue. This is the UI package of Baked project.",
5
5
  "keywords": [
6
6
  "baked",
@@ -36,40 +36,40 @@
36
36
  ],
37
37
  "scripts": {
38
38
  "prepack": "nuxt-module-build build",
39
- "postinstall": "nuxt prepare",
39
+ "postinstall": "nuxt prepare && nuxi prepare playground",
40
40
  "build": "npm run lint && nuxt-module-build build --stub && nuxt-module-build prepare",
41
41
  "dev": "npm run lint && nuxi dev playground --dotenv .env.development --host",
42
42
  "test": "npm run lint && playwright test",
43
43
  "lint": "eslint ."
44
44
  },
45
45
  "dependencies": {
46
- "@nuxtjs/i18n": "10.4.0",
47
- "@nuxtjs/tailwindcss": "6.14.0",
46
+ "@nuxtjs/i18n": "10.5.0",
48
47
  "@primeuix/themes": "2.0.3",
48
+ "@tailwindcss/vite": "4.3.3",
49
49
  "async-mutex": "0.5.0",
50
- "playwright": "1.60.0",
50
+ "playwright": "1.61.1",
51
51
  "primeicons": "7.0.0",
52
- "primevue": "4.5.5"
52
+ "primevue": "4.5.5",
53
+ "tailwindcss": "4.3.3"
53
54
  },
54
55
  "devDependencies": {
55
- "@nuxt/eslint": "1.15.2",
56
+ "@nuxt/eslint": "1.16.0",
56
57
  "@nuxt/module-builder": "1.0.2",
57
58
  "@nuxt/test-utils": "4.0.3",
58
- "@playwright/test": "1.60.0",
59
- "@types/node": "25.9.3",
59
+ "@playwright/test": "1.61.1",
60
+ "@types/node": "26.1.1",
60
61
  "changelogen": "0.6.2",
61
- "nuxt": "4.4.8",
62
- "sass": "1.101.0",
62
+ "nuxt": "4.5.0",
63
63
  "typescript": "6.0.3",
64
- "vitest": "4.1.8",
65
- "vue-tsc": "3.3.4"
64
+ "vitest": "4.1.10",
65
+ "vue-tsc": "3.3.7"
66
66
  },
67
67
  "optionalDependencies": {
68
- "@oxc-parser/binding-darwin-arm64": "0.135.0",
69
- "@oxc-parser/binding-linux-arm64-gnu": "0.135.0",
70
- "@oxc-parser/binding-linux-arm64-musl": "0.135.0",
71
- "@oxc-parser/binding-linux-x64-gnu": "0.135.0",
72
- "@oxc-parser/binding-linux-x64-musl": "0.135.0",
73
- "@oxc-parser/binding-win32-x64-msvc": "0.135.0"
68
+ "@oxc-parser/binding-darwin-arm64": "0.141.0",
69
+ "@oxc-parser/binding-linux-arm64-gnu": "0.141.0",
70
+ "@oxc-parser/binding-linux-arm64-musl": "0.141.0",
71
+ "@oxc-parser/binding-linux-x64-gnu": "0.141.0",
72
+ "@oxc-parser/binding-linux-x64-musl": "0.141.0",
73
+ "@oxc-parser/binding-win32-x64-msvc": "0.141.0"
74
74
  }
75
75
  }
@@ -1 +0,0 @@
1
- html{@apply max-xs:text-[smaller]}.bg-body,html{@apply bg-white}.p-datatable-tbody td.p-datatable-frozen-column{background:inherit}.p-popover-content>div{@apply max-sm:p-0}@media (prefers-color-scheme:dark){.bg-body,html{@apply bg-zinc-925}}