diff --git a/resources/js/Components/ui/accordion/Accordion.vue b/resources/js/Components/ui/accordion/Accordion.vue
new file mode 100644
index 00000000..d52d8163
--- /dev/null
+++ b/resources/js/Components/ui/accordion/Accordion.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
diff --git a/resources/js/Components/ui/accordion/AccordionContent.vue b/resources/js/Components/ui/accordion/AccordionContent.vue
new file mode 100644
index 00000000..119f10c3
--- /dev/null
+++ b/resources/js/Components/ui/accordion/AccordionContent.vue
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
diff --git a/resources/js/Components/ui/accordion/AccordionItem.vue b/resources/js/Components/ui/accordion/AccordionItem.vue
new file mode 100644
index 00000000..b26a07b5
--- /dev/null
+++ b/resources/js/Components/ui/accordion/AccordionItem.vue
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
diff --git a/resources/js/Components/ui/accordion/AccordionTrigger.vue b/resources/js/Components/ui/accordion/AccordionTrigger.vue
new file mode 100644
index 00000000..de4d4e09
--- /dev/null
+++ b/resources/js/Components/ui/accordion/AccordionTrigger.vue
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/js/Components/ui/accordion/index.ts b/resources/js/Components/ui/accordion/index.ts
new file mode 100644
index 00000000..9340ac06
--- /dev/null
+++ b/resources/js/Components/ui/accordion/index.ts
@@ -0,0 +1,4 @@
+export { default as Accordion } from './Accordion.vue'
+export { default as AccordionContent } from './AccordionContent.vue'
+export { default as AccordionItem } from './AccordionItem.vue'
+export { default as AccordionTrigger } from './AccordionTrigger.vue'
diff --git a/resources/js/packages/api/src/openapi.json.client.ts b/resources/js/packages/api/src/openapi.json.client.ts
index c9369511..ad18428e 100644
--- a/resources/js/packages/api/src/openapi.json.client.ts
+++ b/resources/js/packages/api/src/openapi.json.client.ts
@@ -209,8 +209,8 @@ const InvoiceUpdateRequest = z
tax_rate: z.number().int(),
discount_amount: z.number().int(),
discount_type: InvoiceDiscountType,
- footer: z.string(),
- notes: z.string(),
+ footer: z.union([z.string(), z.null()]),
+ notes: z.union([z.string(), z.null()]),
entries: z.array(
z
.object({
@@ -796,6 +796,20 @@ export const schemas = {
};
const endpoints = makeApi([
+ {
+ method: 'get',
+ path: '/v1/countries',
+ alias: 'getCountries',
+ requestFormat: 'json',
+ response: z.string(),
+ errors: [
+ {
+ status: 401,
+ description: `Unauthenticated`,
+ schema: z.object({ message: z.string() }).passthrough(),
+ },
+ ],
+ },
{
method: 'get',
path: '/v1/organizations/:organization',