@@ -273,30 +205,22 @@
data-bs-toggle="collapse"
data-bs-target="#collapse-2"
aria-expanded="true"
- aria-controls="collapse-2"
- >
+ aria-controls="collapse-2">
Notes
-
+
-
+
+ v-model="invoiceData.remarks"
+ id="remarks" />
@@ -327,44 +251,27 @@
-
+
|
-
-
-
+
+
|
-
-
-
+
+
|
@@ -390,20 +297,11 @@
@@ -427,7 +325,7 @@ import Autocomplete from 'frappe-ui/src/components/Autocomplete.vue'
const isAdministrator = sessionUser() === 'Administrator'
const portalInvoice = createListResource({
- doctype: 'Invoices',
+ doctype: 'Purchase Invoice',
insert: {
onSuccess() {
router.push({ name: 'SupplierInvoiceList' })
@@ -435,6 +333,13 @@ const portalInvoice = createListResource({
},
})
+const portalSuppliers = createListResource({
+ doctype: 'Supplier',
+ fields: ['name as value', 'supplier_name as label'],
+ orderBy: 'creation desc',
+})
+portalSuppliers.fetch()
+
const invoiceTermOptions = [
{
label: 'NET 10',
@@ -474,28 +379,25 @@ const serviceTypeOption = [
]
const invoiceData = reactive({
- supplier_invoice_number: '',
+ bill_no: '',
supplier: sessionSupplierId(),
service_date: new Date().toISOString().split('T')[0],
- invoice_date: new Date().toISOString().split('T')[0],
+ posting_date: new Date().toISOString().split('T')[0],
supplier_name: sessionSupplierName(),
- invoice_terms: '',
- total_amount: 0,
+ payment_terms_template: '',
+ grand_total: 0,
site_code: '',
street: '',
city: '',
state: '',
zip_code: '',
- notes: '',
+ remarks: '',
})
const invoiceItems = reactive([])
let invoiceDueDate = computed(() => {
- if (invoiceData.invoice_terms) {
- let result = addDays(
- invoiceData.invoice_date,
- parseInvoiceTerms(invoiceData.invoice_terms),
- )
+ if (invoiceData.payment_terms_template) {
+ let result = addDays(invoiceData.posting_date, parseInvoiceTerms(invoiceData.payment_terms_template))
// return as string
return result.toISOString().split('T')[0]
}
@@ -504,61 +406,52 @@ let invoiceDueDate = computed(() => {
const addRow = () => {
const rowObject = reactive({
- service_type: '',
- quantity: 0,
+ item_code: '',
+ qty: 0,
rate: 0,
amount: 0,
})
- rowObject.amount = computed(() => rowObject.quantity * rowObject.rate)
+ rowObject.amount = computed(() => rowObject.qty * rowObject.rate)
invoiceItems.push(rowObject)
}
-const deleteRow = (index) => {
+const deleteRow = index => {
invoiceItems.splice(index, 1)
}
-invoiceData.total_amount = computed(() => {
+invoiceData.grand_total = computed(() => {
return invoiceItems.reduce((acc, item) => acc + item.amount, 0)
})
const saveInvoice = () => {
portalInvoice.insert.submit({
- supplier_invoice_number: invoiceData.supplier_invoice_number,
- supplier: invoiceData.supplier,
- service_date: invoiceData.service_date,
- invoice_date: invoiceData.invoice_date,
- supplier_name: invoiceData.supplier_name,
- invoice_terms: invoiceData.invoice_terms,
+ ...invoiceData,
+ set_posting_time: true,
+ due_date: invoiceDueDate.value,
site_code: invoiceData.site_code,
street: invoiceData.street,
city: invoiceData.city,
state: invoiceData.state,
zip_code: invoiceData.zip_code,
- notes: invoiceData.notes,
- supplier_invoice_items: invoiceItems.map((item) => {
+ remarks: invoiceData.remarks,
+ items: invoiceItems.map(item => {
return {
- service_type: item.service_type,
- quantity: item.quantity,
+ item_code: item.item_code,
+ qty: item.qty,
rate: item.rate,
}
}),
})
}
-const portalSuppliers = createListResource({
- doctype: 'Supplier',
- fields: ['name as value', 'company_name as label'],
- orderBy: 'creation desc',
-})
-portalSuppliers.fetch()
// watch for changes in invoiceData.supplier_name
watch(
() => invoiceData.supplier_name,
- (newVal) => {
+ newVal => {
if (newVal) {
invoiceData.supplier = newVal.value
}
- },
+ }
)
diff --git a/supplier-portal/src/pages/SupplierInvoice.vue b/supplier-portal/src/pages/SupplierInvoice.vue
index 8aaa007..0b21772 100644
--- a/supplier-portal/src/pages/SupplierInvoice.vue
+++ b/supplier-portal/src/pages/SupplierInvoice.vue
@@ -1,12 +1,12 @@
-
+
- Supplier Invoice: {{ invoice.doc.name }}
+ Supplier Invoice: {{ documents.invoice.name }}
- {{ invoice.doc.status }}
+ {{ documents.invoice.status }}
@@ -22,35 +22,24 @@
-
+
-
+
+ :value="documents.invoice.supplier" />
-
+
+ v-model="documents.invoice.service_date" />
@@ -68,35 +56,29 @@
-
+
+ :value="documents.invoice.supplier_name" />
-
+
+ v-model="documents.invoice.posting_date" />
@@ -114,8 +96,7 @@
placeholder="Due Date"
id="due_date"
:disabled="true"
- v-model="invoice.doc.due_date"
- />
+ v-model="documents.invoice.due_date" />
@@ -124,17 +105,14 @@
-
+
+ id="payment_terms_template"
+ :value="documents.invoice.payment_terms_template" />
@@ -150,85 +128,65 @@
data-bs-toggle="collapse"
data-bs-target="#collapseOne"
aria-expanded="true"
- aria-controls="collapseOne"
- >
+ aria-controls="collapseOne">
Service Address
-
+
-
+
+ :value="documents?.address?.doc?.site_code" />
-
+
+ :value="documents?.address?.doc?.address_line1" />
-
+
+ :value="documents?.address?.doc?.city" />
-
+
+ :value="documents?.address?.doc?.state" />
-
+
+ :value="documents?.address?.doc?.pincode" />
@@ -246,31 +204,23 @@
data-bs-toggle="collapse"
data-bs-target="#collapse-2"
aria-expanded="true"
- aria-controls="collapse-2"
- >
+ aria-controls="collapse-2">
Notes
-
+
-
+
+ id="remarks" />
@@ -281,7 +231,7 @@
-
+
@@ -293,13 +243,10 @@
-
+
| {{ index + 1 }} |
- {{ item.service_type }} |
- {{ item.quantity }} |
+ {{ item.item_code }} |
+ {{ item.qty }} |
{{ item.rate }} |
{{ item.amount }} |
@@ -312,20 +259,11 @@
-
diff --git a/supplier-portal/src/pages/SupplierInvoiceList.vue b/supplier-portal/src/pages/SupplierInvoiceList.vue
index 2093cb1..01a53e4 100644
--- a/supplier-portal/src/pages/SupplierInvoiceList.vue
+++ b/supplier-portal/src/pages/SupplierInvoiceList.vue
@@ -16,13 +16,7 @@
-
+
@@ -52,7 +46,7 @@
{{ item.status }}
|
- {{ item.total_amount }} |
+ {{ item.grand_total }} |
@@ -76,7 +70,7 @@ onBeforeMount(() => {
})
let invoiceParams = {
- doctype: 'Invoices',
+ doctype: 'Purchase Invoice',
fields: ['*'],
orderBy: 'creation desc',
start: 0,
diff --git a/supplier-portal/src/router.js b/supplier-portal/src/router.js
index 7a6587c..0ab5d26 100644
--- a/supplier-portal/src/router.js
+++ b/supplier-portal/src/router.js
@@ -3,49 +3,49 @@ import { session } from './data/session'
import { userResource } from '@/data/user'
const routes = [
- {
- name: 'Login',
- path: '/login',
- component: () => import('@/pages/Login.vue'),
- },
- {
- name: 'SupplierInvoiceList',
- path: '/',
- component: () => import('@/pages/SupplierInvoiceList.vue'),
- },
- {
- name: 'SupplierInvoice',
- path: '/invoices/:supplierInvoiceNumber',
- component: () => import('@/pages/SupplierInvoice.vue'),
- props: true,
- },
- {
- name: 'SupplierInvoiceCreate',
- path: '/invoices/new',
- component: () => import('@/pages/NewInvoice.vue'),
- },
+ {
+ name: 'Login',
+ path: '/login',
+ component: () => import('@/pages/Login.vue'),
+ },
+ {
+ name: 'SupplierInvoiceList',
+ path: '/',
+ component: () => import('@/pages/SupplierInvoiceList.vue'),
+ },
+ {
+ name: 'SupplierInvoice',
+ path: '/invoices/:supplierInvoiceNumber',
+ component: () => import('@/pages/SupplierInvoice.vue'),
+ props: true,
+ },
+ {
+ name: 'SupplierInvoiceCreate',
+ path: '/invoices/new',
+ component: () => import('@/pages/NewInvoice.vue'),
+ },
]
let router = createRouter({
- history: createWebHistory('/supplier-portal'),
- routes,
+ history: createWebHistory('/supplier-portal'),
+ routes,
})
router.beforeEach(async (to, from, next) => {
- let isLoggedIn = session.isLoggedIn
- try {
- await userResource.promise
- } catch (error) {
- isLoggedIn = false
- }
+ let isLoggedIn = session.isLoggedIn
+ try {
+ await userResource.promise
+ } catch (error) {
+ isLoggedIn = false
+ }
- if (to.name === 'Login' && isLoggedIn) {
- next({ name: 'SupplierInvoiceList' })
- } else if (to.name !== 'Login' && !isLoggedIn) {
- next({ name: 'Login' })
- } else {
- next()
- }
+ if (to.name === 'Login' && isLoggedIn) {
+ next({ name: 'SupplierInvoiceList' })
+ } else if (to.name !== 'Login' && !isLoggedIn) {
+ next({ name: 'Login' })
+ } else {
+ next()
+ }
})
-export default router
\ No newline at end of file
+export default router
diff --git a/supplier-portal/tailwind.config.js b/supplier-portal/tailwind.config.js
index ccf09b4..1daae2f 100644
--- a/supplier-portal/tailwind.config.js
+++ b/supplier-portal/tailwind.config.js
@@ -1,18 +1,16 @@
module.exports = {
- presets: [
- require('frappe-ui/src/utils/tailwind.config')
- ],
- content: [
- "./index.html",
- "./src/**/*.{vue,js,ts,jsx,tsx}",
- "./node_modules/frappe-ui/src/components/**/*.{vue,js,ts,jsx,tsx}",
- ],
- theme: {
- extend: {
- container: {
- center: true,
- }
- },
- },
- plugins: [],
+ presets: [require('frappe-ui/src/utils/tailwind.config')],
+ content: [
+ './index.html',
+ './src/**/*.{vue,js,ts,jsx,tsx}',
+ './node_modules/frappe-ui/src/components/**/*.{vue,js,ts,jsx,tsx}',
+ ],
+ theme: {
+ extend: {
+ container: {
+ center: true,
+ },
+ },
+ },
+ plugins: [],
}
diff --git a/supplier-portal/vite.config.js b/supplier-portal/vite.config.js
index a34158c..d3fb53c 100644
--- a/supplier-portal/vite.config.js
+++ b/supplier-portal/vite.config.js
@@ -5,18 +5,18 @@ import frappeui from 'frappe-ui/vite'
// https://vitejs.dev/config/
export default defineConfig({
- plugins: [frappeui(), vue()],
- resolve: {
- alias: {
- '@': path.resolve(__dirname, 'src'),
- },
- },
- build: {
- outDir: `../${path.basename(path.resolve('..'))}/public/supplier-portal`,
- emptyOutDir: true,
- target: 'es2015',
- },
- optimizeDeps: {
- include: ['frappe-ui > feather-icons', 'showdown', 'engine.io-client'],
- },
-})
\ No newline at end of file
+ plugins: [frappeui(), vue()],
+ resolve: {
+ alias: {
+ '@': path.resolve(__dirname, 'src'),
+ },
+ },
+ build: {
+ outDir: `../${path.basename(path.resolve('..'))}/public/supplier-portal`,
+ emptyOutDir: true,
+ target: 'es2015',
+ },
+ optimizeDeps: {
+ include: ['frappe-ui > feather-icons', 'showdown', 'engine.io-client'],
+ },
+})
diff --git a/suppliers_portal/hooks.py b/suppliers_portal/hooks.py
index 099d4a4..5402507 100644
--- a/suppliers_portal/hooks.py
+++ b/suppliers_portal/hooks.py
@@ -137,31 +137,32 @@ app_license = "mit"
# ---------------
# Hook on document methods and events
-# doc_events = {
-# "*": {
-# "on_update": "method",
-# "on_cancel": "method",
-# "on_trash": "method"
-# }
-# }
+doc_events = {
+ "Supplier": {
+ "autoname": "suppliers_portal.overrides.supplier.generate_supplier_id",
+ "after_insert": "suppliers_portal.overrides.supplier.create_user",
+ }
+}
# Scheduled Tasks
# ---------------
scheduler_events = {
- # "all": [
- # "suppliers_portal.tasks.all"
- # ],
- "daily": ["suppliers_portal.utils.daily_invoice_status_update"],
- # "hourly": [
- # "suppliers_portal.tasks.hourly"
- # ],
- # "weekly": [
- # "suppliers_portal.tasks.weekly"
- # ],
- # "monthly": [
- # "suppliers_portal.tasks.monthly"
- # ],
+ # "all": [
+ # "suppliers_portal.tasks.all"
+ # ],
+ # "daily": [
+ # "suppliers_portal.tasks.daily"
+ # ],
+ # "hourly": [
+ # "suppliers_portal.tasks.hourly"
+ # ],
+ # "weekly": [
+ # "suppliers_portal.tasks.weekly"
+ # ],
+ # "monthly": [
+ # "suppliers_portal.tasks.monthly"
+ # ],
}
# Testing
@@ -242,6 +243,6 @@ scheduler_events = {
website_route_rules = [
- {"from_route": "/supplier-portal/ ", "to_route": "supplier-portal"},
- {"from_route": "/erpnext", "to_route": "/app"},
+ {"from_route": "/supplier-portal/", "to_route": "supplier-portal"},
+ {"from_route": "/erpnext", "to_route": "/app"},
]
diff --git a/suppliers_portal/overrides/supplier.py b/suppliers_portal/overrides/supplier.py
new file mode 100644
index 0000000..fb6298b
--- /dev/null
+++ b/suppliers_portal/overrides/supplier.py
@@ -0,0 +1,47 @@
+import random
+
+import frappe
+
+
+def generate_supplier_id(supplier, method=None):
+ # skip ID creation during patch migrations
+ if frappe.flags.in_patch:
+ return
+
+ length = 8
+ supplier_id = random.randint(10 ** (length - 1), 10**length - 1)
+ while frappe.db.exists("Supplier", {"supplier_id": supplier_id}):
+ supplier_id = random.randint(10 ** (length - 1), 10**length - 1)
+ supplier.name = str(supplier_id)
+
+
+def create_user(supplier, method=None):
+ # skip user creation during patch migrations
+ if frappe.flags.in_patch:
+ return
+
+ # create role if it doesn't exist
+ if not frappe.db.exists("Role", "Portal Supplier"):
+ frappe.get_doc(
+ {
+ "doctype": "Role",
+ "role_name": "Portal Supplier",
+ "desk_access": False,
+ }
+ ).insert()
+
+ user = frappe.new_doc("User")
+ user.update(
+ {
+ "email": f"{supplier.name}@supplier-portal.com",
+ "first_name": supplier.supplier_name,
+ "roles": [{"role": "Portal Supplier"}],
+ "new_password": supplier.name,
+ "send_welcome_email": False,
+ }
+ )
+ user.flags.ignore_password_policy = True
+ user.insert()
+
+ supplier.append("portal_users", {"user": user.name})
+ supplier.save()
diff --git a/suppliers_portal/patches.txt b/suppliers_portal/patches.txt
index f15c3a9..e50c7b1 100644
--- a/suppliers_portal/patches.txt
+++ b/suppliers_portal/patches.txt
@@ -3,4 +3,5 @@
# Read docs to understand patches: https://frappeframework.com/docs/v14/user/en/database-migrations
[post_model_sync]
-# Patches added in this section will be executed after doctypes are migrated
\ No newline at end of file
+# Patches added in this section will be executed after doctypes are migrated
+suppliers_portal.patches.move_invoices_to_erpnext
diff --git a/suppliers_portal/patches/move_invoices_to_erpnext.py b/suppliers_portal/patches/move_invoices_to_erpnext.py
new file mode 100644
index 0000000..f8b8667
--- /dev/null
+++ b/suppliers_portal/patches/move_invoices_to_erpnext.py
@@ -0,0 +1,346 @@
+import json
+
+import frappe
+from erpnext.accounts.doctype.account.account import update_account_number
+from erpnext.accounts.utils import get_account_name
+from erpnext.setup.utils import enable_all_roles_and_domains
+from frappe.contacts.doctype.address.address import get_address_display
+from frappe.desk.page.setup_wizard.setup_wizard import setup_complete
+from frappe.utils import getdate, update_progress_bar
+
+######################## PATCH PREREQUISITES ########################
+# - This patch should be run on a fresh site with ERPNext installed (`suppliers_portal` should be installed after `erpnext`)
+# - The following files (containing exported doctype records) must be setup in the
+# site's private backups folder:
+# - users.json (the 'send_welcome_email' field should be set to 0 otherwise it'll
+# try to send welcome emails)
+# - suppliers.json (remove duplicate entry for 'Superior Backflow Services, LLC')
+# - invoices.json
+
+
+def execute():
+ setup_site()
+ setup_accounts()
+ create_fiscal_years()
+ create_roles()
+ import_users()
+ create_items()
+ create_payment_terms_template()
+ import_suppliers()
+ import_invoices()
+
+
+def setup_site():
+ print("Setting up site")
+ frappe.clear_cache()
+ today = getdate()
+ setup_complete(
+ {
+ "currency": "USD",
+ "full_name": "Administrator",
+ "company_name": "Sea Haven Industries",
+ "timezone": "America/New_York",
+ "company_abbr": "SHI",
+ "domains": ["Services"],
+ "country": "United States",
+ "fy_start_date": today.replace(month=1, day=1).isoformat(),
+ "fy_end_date": today.replace(month=12, day=31).isoformat(),
+ "language": "en-US",
+ "company_tagline": "Sea Haven Industries",
+ "email": "support@seahavenindustries.com",
+ "password": "admin",
+ "chart_of_accounts": "Standard with Numbers",
+ "bank_account": "Primary Checking",
+ }
+ )
+ enable_all_roles_and_domains()
+ for module in frappe.get_all("Module Onboarding"):
+ frappe.db.set_value("Module Onboarding", module, "is_complete", True)
+ frappe.db.set_value("User", "Administrator", "time_zone", "America/New_York")
+ frappe.db.commit()
+
+
+def setup_accounts():
+ abbr = frappe.db.get_value("Company", "Sea Haven Industries", "abbr")
+
+ frappe.rename_doc(
+ "Account",
+ f"1000 - Application of Funds (Assets) - {abbr}",
+ f"1000 - Assets - {abbr}",
+ force=True,
+ )
+ frappe.rename_doc(
+ "Account",
+ f"2000 - Source of Funds (Liabilities) - {abbr}",
+ f"2000 - Liabilities - {abbr}",
+ force=True,
+ )
+ frappe.rename_doc(
+ "Account",
+ f"1310 - Debtors - {abbr}",
+ f"1310 - Accounts Receivable - {abbr}",
+ force=True,
+ )
+ frappe.rename_doc(
+ "Account",
+ f"2110 - Creditors - {abbr}",
+ f"2110 - Accounts Payable - {abbr}",
+ force=True,
+ )
+ update_account_number(f"1110 - Cash - {abbr}", "Petty Cash", account_number="1110")
+ update_account_number(
+ f"Primary Checking - {abbr}", "Primary Checking", account_number="1201"
+ )
+
+
+def create_fiscal_years():
+ for year in range(2020, 2027):
+ if not frappe.db.exists("Fiscal Year", str(year)):
+ fiscal_year = frappe.new_doc("Fiscal Year")
+ fiscal_year.update(
+ {
+ "year": str(year),
+ "year_start_date": getdate(f"{year}-01-01"),
+ "year_end_date": getdate(f"{year}-12-31"),
+ }
+ )
+ fiscal_year.insert(ignore_permissions=True)
+
+
+def create_roles():
+ roles = ["Portal Supplier", "Supplier"]
+ for role in roles:
+ if not frappe.db.exists("Role", role):
+ role_doc = frappe.new_doc("Role")
+ role_doc.update(
+ {
+ "role_name": role,
+ "desk_access": False,
+ }
+ )
+ role_doc.insert(ignore_permissions=True)
+
+
+def import_users():
+ print("Importing users")
+ users_file = frappe.get_site_path("private", "backups", "users.json")
+ frappe.import_doc(users_file)
+
+
+def create_items():
+ for item in ["Preventive Maintence", "Repair"]:
+ if not frappe.db.exists("Item", item):
+ item_doc = frappe.new_doc("Item")
+ item_doc.update(
+ {
+ "item_code": item,
+ "item_name": item,
+ "item_group": "Services",
+ "stock_uom": "Unit",
+ }
+ )
+ item_doc.insert(ignore_permissions=True)
+
+
+def create_payment_terms_template():
+ for credit_days in [0, 10, 15, 30, 45, 60]:
+ template_name = f"NET {credit_days}" if credit_days else "Due On Receipt"
+
+ if not frappe.db.exists("Payment Terms Template", template_name):
+ term = frappe.new_doc("Payment Term")
+ term.update(
+ {
+ "payment_term_name": template_name,
+ "invoice_portion": 100,
+ "due_date_based_on": "Day(s) after invoice date",
+ "credit_days": credit_days,
+ }
+ )
+ term.save(ignore_permissions=True)
+
+ template = frappe.new_doc("Payment Terms Template")
+ template.template_name = template_name
+ template.append(
+ "terms",
+ {
+ "payment_term": term.name,
+ "invoice_portion": term.invoice_portion,
+ "due_date_based_on": term.due_date_based_on,
+ "credit_days": term.credit_days,
+ },
+ )
+ template.save(ignore_permissions=True)
+
+
+def create_address(doc):
+ address = frappe.new_doc("Address")
+ address.update(
+ {
+ "address_type": "Billing",
+ "address_title": doc.get("title"),
+ "address_line1": doc.get("street"),
+ "city": doc.get("city") or "Unknown",
+ "state": doc.get("state"),
+ "pincode": doc.get("zip_code"),
+ "country": "United States",
+ "is_primary_address": True,
+ "is_shipping_address": True,
+ "links": [
+ {
+ "link_doctype": doc.get("ref_doctype"),
+ "link_name": doc.get("ref_name"),
+ },
+ ],
+ }
+ )
+
+ try:
+ address.insert(ignore_permissions=True)
+ except Exception as e:
+ print(f"Error inserting address for {doc.get('ref_name')}: {e}")
+ return frappe._dict()
+
+ return address
+
+
+def import_suppliers():
+ suppliers_file = frappe.get_site_path("private", "backups", "suppliers.json")
+ with open(suppliers_file) as f:
+ suppliers = json.load(f)
+ for idx, supplier in enumerate(suppliers):
+ update_progress_bar("Importing suppliers", idx, (len(suppliers)))
+
+ # skip if supplier already exists
+ if frappe.db.exists("Supplier", {"name": supplier.get("name")}):
+ continue
+
+ supplier_doc = frappe.new_doc("Supplier")
+ supplier_doc.update(
+ {
+ "supplier_name": supplier.get("company_name"),
+ "portal_users": [{"user": supplier.get("user")}],
+ "owner": supplier.get("owner"),
+ "creation": supplier.get("creation"),
+ }
+ )
+ supplier_doc.insert(ignore_permissions=True)
+ supplier_docname = frappe.rename_doc(
+ "Supplier", supplier_doc.name, supplier.get("name"), force=True
+ )
+
+ if supplier.get("street"):
+ address = create_address(
+ {
+ **supplier,
+ "title": supplier.get("company_name"),
+ "ref_doctype": "Supplier",
+ "ref_name": supplier_docname,
+ }
+ )
+
+ if address:
+ address_display = get_address_display(address.name)
+ supplier_doc.db_set("supplier_primary_address", address.name)
+ supplier_doc.db_set("primary_address", address_display)
+
+
+def import_invoices():
+ invoices_file = frappe.get_site_path("private", "backups", "invoices.json")
+ with open(invoices_file) as f:
+ invoices = json.load(f)
+ for idx, invoice in enumerate(invoices):
+ update_progress_bar("Importing invoices", idx, (len(invoices)))
+
+ # skip if purchase invoice already exists
+ if frappe.db.exists("Purchase Invoice", {"name": invoice.get("name")}):
+ continue
+
+ invoice_doc = frappe.new_doc("Purchase Invoice")
+ invoice_doc.update(
+ {
+ "supplier": invoice.get("supplier"),
+ "bill_no": invoice.get("supplier_invoice_number"),
+ "site_code": invoice.get("site_code"),
+ "set_posting_time": True,
+ "bill_date": getdate(invoice.get("invoice_date")),
+ "posting_date": getdate(invoice.get("invoice_date")),
+ "service_date": getdate(invoice.get("service_date")),
+ "due_date": getdate(invoice.get("due_date")),
+ "payment_terms_template": invoice.get("invoice_terms"),
+ "remarks": invoice.get("notes"),
+ "owner": invoice.get("owner"),
+ "creation": invoice.get("creation"),
+ }
+ )
+
+ for item in invoice.get("supplier_invoice_items"):
+ invoice_doc.append(
+ "items",
+ {
+ "item_code": item.get("service_type"),
+ "received_qty": item.get("quantity"),
+ "qty": item.get("quantity"),
+ "rate": item.get("rate"),
+ },
+ )
+
+ # to avoid validating the custom due dates based on payment terms
+ invoice_doc.ignore_default_payment_terms_template = True
+
+ try:
+ invoice_doc.insert(ignore_permissions=True)
+ except Exception as e:
+ print(f"Error inserting invoice {invoice_doc.bill_no}: {e}")
+ continue
+
+ if invoice.get("street"):
+ address = create_address(
+ {
+ **invoice,
+ "title": invoice.get("supplier"),
+ "ref_doctype": "Supplier",
+ "ref_name": invoice.get("supplier"),
+ }
+ )
+ invoice_doc.supplier_address = address.name
+ invoice_doc.save()
+
+ try:
+ invoice_doc.submit()
+ except Exception as e:
+ print(f"Error submitting invoice {invoice_doc.bill_no}: {e}")
+ continue
+
+ for payment in invoice.get("payment_references"):
+ payment_doc = frappe.new_doc("Payment Entry")
+ payment_doc.update(
+ {
+ "payment_type": "Pay",
+ "posting_date": getdate(payment.get("payment_reference_date")),
+ "party_type": "Supplier",
+ "party": invoice.get("supplier"),
+ "paid_amount": payment.get("paid_amount"),
+ "received_amount": payment.get("paid_amount"),
+ "paid_from": get_account_name("Bank", "Asset"),
+ "reference_no": payment.get("payment_reference_number")
+ or "Note: Missing reference during ERPNext import",
+ "reference_date": getdate(
+ payment.get("payment_reference_date")
+ ),
+ "references": [
+ {
+ "reference_doctype": invoice_doc.doctype,
+ "reference_name": invoice_doc.name,
+ "allocated_amount": payment.get("paid_amount"),
+ }
+ ],
+ }
+ )
+
+ try:
+ payment_doc.insert(ignore_permissions=True)
+ payment_doc.submit()
+ except Exception as e:
+ print(
+ f"Error importing payment for invoice {invoice_doc.bill_no}: {e}"
+ )
diff --git a/suppliers_portal/patches/oct_12.py b/suppliers_portal/patches/oct_12.py
index 9159a87..329b827 100644
--- a/suppliers_portal/patches/oct_12.py
+++ b/suppliers_portal/patches/oct_12.py
@@ -2,35 +2,33 @@ import frappe
def execute():
- update_supplier_invoices()
- update_invoice_status()
+ update_supplier_invoices()
+ update_invoice_status()
def update_supplier_invoices():
- suppliers = frappe.get_list("Supplier", pluck="name")
+ suppliers = frappe.get_list("Supplier", pluck="name")
- for supplier in suppliers:
- supplier_doc = frappe.get_doc("Supplier", supplier)
- invoices = frappe.get_list(
- "Invoices", filters={"supplier": supplier}, pluck="name"
- )
- if len(invoices) == 0:
- continue
+ for supplier in suppliers:
+ supplier_doc = frappe.get_doc("Supplier", supplier)
+ invoices = frappe.get_list("Invoices", filters={"supplier": supplier}, pluck="name")
+ if len(invoices) == 0:
+ continue
- supplier_doc.set("invoices", [])
- for invoice in invoices:
- supplier_doc.append("invoices", {"invoice_number": invoice})
+ supplier_doc.set("invoices", [])
+ for invoice in invoices:
+ supplier_doc.append("invoices", {"invoice_number": invoice})
- supplier_doc.save()
+ supplier_doc.save()
- frappe.db.commit()
+ frappe.db.commit()
def update_invoice_status():
- invoices = frappe.get_list("Invoices", pluck="name")
+ invoices = frappe.get_list("Invoices", pluck="name")
- for invoice in invoices:
- invoice_doc = frappe.get_doc("Invoices", invoice)
- invoice_doc.validate()
+ for invoice in invoices:
+ invoice_doc = frappe.get_doc("Invoices", invoice)
+ invoice_doc.validate()
- frappe.db.commit()
+ frappe.db.commit()
diff --git a/suppliers_portal/public/supplier-portal/assets/FontColor.34d8b32f.js b/suppliers_portal/public/supplier-portal/assets/FontColor.ab1455c4.js
similarity index 78%
rename from suppliers_portal/public/supplier-portal/assets/FontColor.34d8b32f.js
rename to suppliers_portal/public/supplier-portal/assets/FontColor.ab1455c4.js
index 65338a1..3da144d 100644
--- a/suppliers_portal/public/supplier-portal/assets/FontColor.34d8b32f.js
+++ b/suppliers_portal/public/supplier-portal/assets/FontColor.ab1455c4.js
@@ -1 +1 @@
-import{_ as x,R as g,S as _,N as l,w as r,g as c,o,T as p,U as C,V as k,m as a,e as d,z as u,W as m,F as h,G as b}from"./vendor.99304cc5.js";const v={name:"FontColor",props:["editor"],components:{Popover:g,Tooltip:_},methods:{setBackgroundColor(t){t.name!="Default"?this.editor.chain().focus().toggleHighlight({color:t.hex}).run():this.editor.chain().focus().unsetHighlight().run()},setForegroundColor(t){t.name!="Default"?this.editor.chain().focus().setColor(t.hex).run():this.editor.chain().focus().unsetColor().run()}},computed:{foregroundColors(){return[{name:"Default",hex:"#1F272E"},{name:"Yellow",hex:"#ca8a04"},{name:"Orange",hex:"#ea580c"},{name:"Red",hex:"#dc2626"},{name:"Green",hex:"#16a34a"},{name:"Blue",hex:"#1579D0"},{name:"Purple",hex:"#9333ea"},{name:"Pink",hex:"#db2777"}]},backgroundColors(){return[{name:"Default",hex:null},{name:"Yellow",hex:"#fef9c3"},{name:"Orange",hex:"#ffedd5"},{name:"Red",hex:"#fee2e2"},{name:"Green",hex:"#dcfce7"},{name:"Blue",hex:"#D3E9FC"},{name:"Purple",hex:"#f3e8ff"},{name:"Pink",hex:"#fce7f3"}]}}},y={class:"p-2"},B=a("div",{class:"text-sm text-gray-700"},"Text Color",-1),P={class:"mt-1 grid grid-cols-8 gap-1"},F=["aria-label","onClick"],w=a("div",{class:"mt-2 text-sm text-gray-700"},"Background Color",-1),D={class:"mt-1 grid grid-cols-8 gap-1"},T=["aria-label","onClick"];function z(t,R,$,j,A,n){const i=c("Tooltip"),f=c("Popover");return o(),l(f,{transition:"default"},{target:r(({togglePopover:e,isOpen:s})=>[p(t.$slots,"default",C(k({onClick:()=>e(),isActive:s})))]),"body-main":r(()=>[a("div",y,[B,a("div",P,[(o(!0),d(h,null,u(n.foregroundColors,e=>(o(),l(i,{class:"flex",key:e.name,text:e.name},{default:r(()=>[a("button",{"aria-label":e.name,class:"flex h-5 w-5 items-center justify-center rounded border text-base",style:m({color:e.hex}),onClick:s=>n.setForegroundColor(e)}," A ",12,F)]),_:2},1032,["text"]))),128))]),w,a("div",D,[(o(!0),d(h,null,u(n.backgroundColors,e=>(o(),l(i,{class:"flex",key:e.name,text:e.name},{default:r(()=>[a("button",{"aria-label":e.name,class:b(["flex h-5 w-5 items-center justify-center rounded border text-base text-gray-900",e.hex?"border-transparent":"border-gray-200"]),style:m({backgroundColor:e.hex}),onClick:s=>n.setBackgroundColor(e)}," A ",14,T)]),_:2},1032,["text"]))),128))])])]),_:3})}var G=x(v,[["render",z]]);export{G as default};
+import{_ as x,R as g,S as _,N as l,w as r,g as d,o,T as p,U as C,V as b,m as a,e as c,z as u,W as m,F as h,G as k}from"./vendor.3e69a9be.js";const v={name:"FontColor",props:["editor"],components:{Popover:g,Tooltip:_},methods:{setBackgroundColor(t){t.name!="Default"?this.editor.chain().focus().toggleHighlight({color:t.hex}).run():this.editor.chain().focus().unsetHighlight().run()},setForegroundColor(t){t.name!="Default"?this.editor.chain().focus().setColor(t.hex).run():this.editor.chain().focus().unsetColor().run()}},computed:{foregroundColors(){return[{name:"Default",hex:"#1F272E"},{name:"Yellow",hex:"#ca8a04"},{name:"Orange",hex:"#ea580c"},{name:"Red",hex:"#dc2626"},{name:"Green",hex:"#16a34a"},{name:"Blue",hex:"#1579D0"},{name:"Purple",hex:"#9333ea"},{name:"Pink",hex:"#db2777"}]},backgroundColors(){return[{name:"Default",hex:null},{name:"Yellow",hex:"#fef9c3"},{name:"Orange",hex:"#ffedd5"},{name:"Red",hex:"#fee2e2"},{name:"Green",hex:"#dcfce7"},{name:"Blue",hex:"#D3E9FC"},{name:"Purple",hex:"#f3e8ff"},{name:"Pink",hex:"#fce7f3"}]}}},y={class:"p-2"},B=a("div",{class:"text-sm text-gray-700"},"Text Color",-1),P={class:"mt-1 grid grid-cols-8 gap-1"},F=["aria-label","onClick"],w=a("div",{class:"mt-2 text-sm text-gray-700"},"Background Color",-1),D={class:"mt-1 grid grid-cols-8 gap-1"},T=["aria-label","onClick"];function z(t,R,$,j,A,n){const i=d("Tooltip"),f=d("Popover");return o(),l(f,{transition:"default"},{target:r(({togglePopover:e,isOpen:s})=>[p(t.$slots,"default",C(b({onClick:()=>e(),isActive:s})))]),"body-main":r(()=>[a("div",y,[B,a("div",P,[(o(!0),c(h,null,u(n.foregroundColors,e=>(o(),l(i,{class:"flex",key:e.name,text:e.name},{default:r(()=>[a("button",{"aria-label":e.name,class:"flex h-5 w-5 items-center justify-center rounded border text-base",style:m({color:e.hex}),onClick:s=>n.setForegroundColor(e)}," A ",12,F)]),_:2},1032,["text"]))),128))]),w,a("div",D,[(o(!0),c(h,null,u(n.backgroundColors,e=>(o(),l(i,{class:"flex",key:e.name,text:e.name},{default:r(()=>[a("button",{"aria-label":e.name,class:k(["flex h-5 w-5 items-center justify-center rounded border text-base text-gray-900",e.hex?"border-transparent":"border-gray-200"]),style:m({backgroundColor:e.hex}),onClick:s=>n.setBackgroundColor(e)}," A ",14,T)]),_:2},1032,["text"]))),128))])])]),_:3})}var G=x(v,[["render",z]]);export{G as default};
diff --git a/suppliers_portal/public/supplier-portal/assets/InsertImage.06a04647.js b/suppliers_portal/public/supplier-portal/assets/InsertImage.771571ef.js
similarity index 86%
rename from suppliers_portal/public/supplier-portal/assets/InsertImage.06a04647.js
rename to suppliers_portal/public/supplier-portal/assets/InsertImage.771571ef.js
index 7db1691..694122a 100644
--- a/suppliers_portal/public/supplier-portal/assets/InsertImage.06a04647.js
+++ b/suppliers_portal/public/supplier-portal/assets/InsertImage.771571ef.js
@@ -1 +1 @@
-import{_ as f,j as I,Y as _,$ as h,e as g,T as D,U as v,V as y,f as n,w as l,F as w,g as m,o as c,m as i,t as C,p as V,v as u}from"./vendor.99304cc5.js";const b={name:"InsertImage",props:["editor"],expose:["openDialog"],data(){return{addImageDialog:{url:"",file:null,show:!1}}},components:{Button:I,Dialog:_},methods:{openDialog(){this.addImageDialog.show=!0},onImageSelect(t){let e=t.target.files[0];!e||(this.addImageDialog.file=e,h(e).then(r=>{this.addImageDialog.url=r}))},addImage(t){this.editor.chain().focus().setImage({src:t}).run(),this.reset()},reset(){this.addImageDialog=this.$options.data().addImageDialog}}},k={class:"relative cursor-pointer rounded-lg bg-gray-100 py-1 focus-within:bg-gray-200 hover:bg-gray-200"},x={class:"absolute inset-0 select-none px-2 py-1 text-base"},B=["src"],S=u(" Insert Image "),N=u(" Cancel ");function A(t,e,r,T,a,o){const d=m("Button"),p=m("Dialog");return c(),g(w,null,[D(t.$slots,"default",v(y({onClick:o.openDialog}))),n(p,{options:{title:"Add Image"},modelValue:a.addImageDialog.show,"onUpdate:modelValue":e[2]||(e[2]=s=>a.addImageDialog.show=s),onAfterLeave:o.reset},{"body-content":l(()=>[i("label",k,[i("input",{type:"file",class:"w-full opacity-0",onChange:e[0]||(e[0]=(...s)=>o.onImageSelect&&o.onImageSelect(...s)),accept:"image/*"},null,32),i("span",x,C(a.addImageDialog.file?"Select another image":"Select an image"),1)]),a.addImageDialog.url?(c(),g("img",{key:0,src:a.addImageDialog.url,class:"mt-2 w-full rounded-lg"},null,8,B)):V("",!0)]),actions:l(()=>[n(d,{variant:"solid",onClick:e[1]||(e[1]=s=>o.addImage(a.addImageDialog.url))},{default:l(()=>[S]),_:1}),n(d,{onClick:o.reset},{default:l(()=>[N]),_:1},8,["onClick"])]),_:1},8,["modelValue","onAfterLeave"])],64)}var F=f(b,[["render",A]]);export{F as default};
+import{_ as f,j as I,Y as _,$ as h,e as g,T as D,U as v,V as y,f as n,w as l,F as w,g as m,o as c,m as i,t as C,p as b,v as u}from"./vendor.3e69a9be.js";const V={name:"InsertImage",props:["editor"],expose:["openDialog"],data(){return{addImageDialog:{url:"",file:null,show:!1}}},components:{Button:I,Dialog:_},methods:{openDialog(){this.addImageDialog.show=!0},onImageSelect(t){let e=t.target.files[0];!e||(this.addImageDialog.file=e,h(e).then(r=>{this.addImageDialog.url=r}))},addImage(t){this.editor.chain().focus().setImage({src:t}).run(),this.reset()},reset(){this.addImageDialog=this.$options.data().addImageDialog}}},k={class:"relative cursor-pointer rounded-lg bg-gray-100 py-1 focus-within:bg-gray-200 hover:bg-gray-200"},x={class:"absolute inset-0 select-none px-2 py-1 text-base"},B=["src"],S=u(" Insert Image "),N=u(" Cancel ");function A(t,e,r,T,a,o){const d=m("Button"),p=m("Dialog");return c(),g(w,null,[D(t.$slots,"default",v(y({onClick:o.openDialog}))),n(p,{options:{title:"Add Image"},modelValue:a.addImageDialog.show,"onUpdate:modelValue":e[2]||(e[2]=s=>a.addImageDialog.show=s),onAfterLeave:o.reset},{"body-content":l(()=>[i("label",k,[i("input",{type:"file",class:"w-full opacity-0",onChange:e[0]||(e[0]=(...s)=>o.onImageSelect&&o.onImageSelect(...s)),accept:"image/*"},null,32),i("span",x,C(a.addImageDialog.file?"Select another image":"Select an image"),1)]),a.addImageDialog.url?(c(),g("img",{key:0,src:a.addImageDialog.url,class:"mt-2 w-full rounded-lg"},null,8,B)):b("",!0)]),actions:l(()=>[n(d,{variant:"solid",onClick:e[1]||(e[1]=s=>o.addImage(a.addImageDialog.url))},{default:l(()=>[S]),_:1}),n(d,{onClick:o.reset},{default:l(()=>[N]),_:1},8,["onClick"])]),_:1},8,["modelValue","onAfterLeave"])],64)}var F=f(V,[["render",A]]);export{F as default};
diff --git a/suppliers_portal/public/supplier-portal/assets/InsertLink.8bedb4cf.js b/suppliers_portal/public/supplier-portal/assets/InsertLink.d8cb0545.js
similarity index 82%
rename from suppliers_portal/public/supplier-portal/assets/InsertLink.8bedb4cf.js
rename to suppliers_portal/public/supplier-portal/assets/InsertLink.d8cb0545.js
index 2db5674..7261532 100644
--- a/suppliers_portal/public/supplier-portal/assets/InsertLink.8bedb4cf.js
+++ b/suppliers_portal/public/supplier-portal/assets/InsertLink.d8cb0545.js
@@ -1 +1 @@
-import{_ as d,j as g,X as m,Y as L,e as f,T as p,U as c,V as D,f as i,w as l,F as h,g as a,o as _,Z as v,v as w}from"./vendor.99304cc5.js";const V={name:"InsertLink",props:["editor"],components:{Button:g,FormControl:m,Dialog:L},data(){return{setLinkDialog:{url:"",show:!1}}},methods:{openDialog(){let t=this.editor.getAttributes("link").href;t&&(this.setLinkDialog.url=t),this.setLinkDialog.show=!0},setLink(t){t===""?this.editor.chain().focus().extendMarkRange("link").unsetLink().run():this.editor.chain().focus().extendMarkRange("link").setLink({href:t}).run(),this.setLinkDialog.show=!1,this.setLinkDialog.url=""},reset(){this.setLinkDialog=this.$options.data().setLinkDialog}}},x=w(" Save ");function C(t,e,B,F,n,s){const r=a("FormControl"),u=a("Button"),k=a("Dialog");return _(),f(h,null,[p(t.$slots,"default",c(D({onClick:s.openDialog}))),i(k,{options:{title:"Set Link"},modelValue:n.setLinkDialog.show,"onUpdate:modelValue":e[3]||(e[3]=o=>n.setLinkDialog.show=o),onAfterLeave:s.reset},{"body-content":l(()=>[i(r,{type:"text",label:"URL",modelValue:n.setLinkDialog.url,"onUpdate:modelValue":e[0]||(e[0]=o=>n.setLinkDialog.url=o),onKeydown:e[1]||(e[1]=v(o=>s.setLink(o.target.value),["enter"]))},null,8,["modelValue"])]),actions:l(()=>[i(u,{variant:"solid",onClick:e[2]||(e[2]=o=>s.setLink(n.setLinkDialog.url))},{default:l(()=>[x]),_:1})]),_:1},8,["modelValue","onAfterLeave"])],64)}var U=d(V,[["render",C]]);export{U as default};
+import{_ as d,j as g,X as m,Y as L,e as f,T as p,U as D,V as c,f as i,w as l,F as h,g as a,o as _,Z as v,v as w}from"./vendor.3e69a9be.js";const V={name:"InsertLink",props:["editor"],components:{Button:g,FormControl:m,Dialog:L},data(){return{setLinkDialog:{url:"",show:!1}}},methods:{openDialog(){let t=this.editor.getAttributes("link").href;t&&(this.setLinkDialog.url=t),this.setLinkDialog.show=!0},setLink(t){t===""?this.editor.chain().focus().extendMarkRange("link").unsetLink().run():this.editor.chain().focus().extendMarkRange("link").setLink({href:t}).run(),this.setLinkDialog.show=!1,this.setLinkDialog.url=""},reset(){this.setLinkDialog=this.$options.data().setLinkDialog}}},x=w(" Save ");function C(t,e,B,F,n,s){const r=a("FormControl"),u=a("Button"),k=a("Dialog");return _(),f(h,null,[p(t.$slots,"default",D(c({onClick:s.openDialog}))),i(k,{options:{title:"Set Link"},modelValue:n.setLinkDialog.show,"onUpdate:modelValue":e[3]||(e[3]=o=>n.setLinkDialog.show=o),onAfterLeave:s.reset},{"body-content":l(()=>[i(r,{type:"text",label:"URL",modelValue:n.setLinkDialog.url,"onUpdate:modelValue":e[0]||(e[0]=o=>n.setLinkDialog.url=o),onKeydown:e[1]||(e[1]=v(o=>s.setLink(o.target.value),["enter"]))},null,8,["modelValue"])]),actions:l(()=>[i(u,{variant:"solid",onClick:e[2]||(e[2]=o=>s.setLink(n.setLinkDialog.url))},{default:l(()=>[x]),_:1})]),_:1},8,["modelValue","onAfterLeave"])],64)}var U=d(V,[["render",C]]);export{U as default};
diff --git a/suppliers_portal/public/supplier-portal/assets/InsertVideo.15a62665.js b/suppliers_portal/public/supplier-portal/assets/InsertVideo.c2ea8798.js
similarity index 63%
rename from suppliers_portal/public/supplier-portal/assets/InsertVideo.15a62665.js
rename to suppliers_portal/public/supplier-portal/assets/InsertVideo.c2ea8798.js
index 5029106..819461b 100644
--- a/suppliers_portal/public/supplier-portal/assets/InsertVideo.15a62665.js
+++ b/suppliers_portal/public/supplier-portal/assets/InsertVideo.c2ea8798.js
@@ -1 +1 @@
-import{_ as D,j as v,Y as h,a0 as C,e as u,T as k,U as w,V as x,f as t,w as i,F as B,g as r,o as c,m as U,v as n,t as y,N as F,p}from"./vendor.99304cc5.js";const N={name:"InsertImage",props:["editor"],expose:["openDialog"],data(){return{addVideoDialog:{url:"",file:null,show:!1}}},components:{Button:v,Dialog:h,FileUploader:C},methods:{openDialog(){this.addVideoDialog.show=!0},onVideoSelect(l){let o=l.target.files[0];!o||(this.addVideoDialog.file=o)},addVideo(l){this.editor.chain().focus().insertContent(``).run(),this.reset()},reset(){this.addVideoDialog=this.$options.data().addVideoDialog}}},I={class:"flex items-center space-x-2"},S=n(" Remove "),A=["src"],j=n(" Insert Video "),L=n("Cancel");function P(l,o,R,T,e,s){const a=r("Button"),V=r("FileUploader"),g=r("Dialog");return c(),u(B,null,[k(l.$slots,"default",w(x({onClick:s.openDialog}))),t(g,{options:{title:"Add Video"},modelValue:e.addVideoDialog.show,"onUpdate:modelValue":o[2]||(o[2]=d=>e.addVideoDialog.show=d),onAfterLeave:s.reset},{"body-content":i(()=>[t(V,{"file-types":"video/*",onSuccess:o[0]||(o[0]=d=>e.addVideoDialog.url=d.file_url)},{default:i(({file:d,progress:f,uploading:_,openFileSelector:m})=>[U("div",I,[t(a,{onClick:m},{default:i(()=>[n(y(_?`Uploading ${f}%`:e.addVideoDialog.url?"Change Video":"Upload Video"),1)]),_:2},1032,["onClick"]),e.addVideoDialog.url?(c(),F(a,{key:0,onClick:()=>{e.addVideoDialog.url=null,e.addVideoDialog.file=null}},{default:i(()=>[S]),_:2},1032,["onClick"])):p("",!0)])]),_:1}),e.addVideoDialog.url?(c(),u("video",{key:0,src:e.addVideoDialog.url,class:"mt-2 w-full rounded-lg",type:"video/mp4",controls:""},null,8,A)):p("",!0)]),actions:i(()=>[t(a,{variant:"solid",onClick:o[1]||(o[1]=d=>s.addVideo(e.addVideoDialog.url))},{default:i(()=>[j]),_:1}),t(a,{onClick:s.reset},{default:i(()=>[L]),_:1},8,["onClick"])]),_:1},8,["modelValue","onAfterLeave"])],64)}var z=D(N,[["render",P]]);export{z as default};
+import{_ as D,j as v,Y as h,a0 as C,e as u,T as k,U as w,V as x,f as t,w as i,F as B,g as r,o as c,m as U,v as n,t as y,N as F,p}from"./vendor.3e69a9be.js";const N={name:"InsertImage",props:["editor"],expose:["openDialog"],data(){return{addVideoDialog:{url:"",file:null,show:!1}}},components:{Button:v,Dialog:h,FileUploader:C},methods:{openDialog(){this.addVideoDialog.show=!0},onVideoSelect(l){let o=l.target.files[0];!o||(this.addVideoDialog.file=o)},addVideo(l){this.editor.chain().focus().insertContent(``).run(),this.reset()},reset(){this.addVideoDialog=this.$options.data().addVideoDialog}}},I={class:"flex items-center space-x-2"},S=n(" Remove "),A=["src"],b=n(" Insert Video "),j=n("Cancel");function L(l,o,P,R,e,a){const s=r("Button"),V=r("FileUploader"),g=r("Dialog");return c(),u(B,null,[k(l.$slots,"default",w(x({onClick:a.openDialog}))),t(g,{options:{title:"Add Video"},modelValue:e.addVideoDialog.show,"onUpdate:modelValue":o[2]||(o[2]=d=>e.addVideoDialog.show=d),onAfterLeave:a.reset},{"body-content":i(()=>[t(V,{"file-types":"video/*",onSuccess:o[0]||(o[0]=d=>e.addVideoDialog.url=d.file_url)},{default:i(({file:d,progress:f,uploading:_,openFileSelector:m})=>[U("div",I,[t(s,{onClick:m},{default:i(()=>[n(y(_?`Uploading ${f}%`:e.addVideoDialog.url?"Change Video":"Upload Video"),1)]),_:2},1032,["onClick"]),e.addVideoDialog.url?(c(),F(s,{key:0,onClick:()=>{e.addVideoDialog.url=null,e.addVideoDialog.file=null}},{default:i(()=>[S]),_:2},1032,["onClick"])):p("",!0)])]),_:1}),e.addVideoDialog.url?(c(),u("video",{key:0,src:e.addVideoDialog.url,class:"mt-2 w-full rounded-lg",type:"video/mp4",controls:""},null,8,A)):p("",!0)]),actions:i(()=>[t(s,{variant:"solid",onClick:o[1]||(o[1]=d=>a.addVideo(e.addVideoDialog.url))},{default:i(()=>[b]),_:1}),t(s,{onClick:a.reset},{default:i(()=>[j]),_:1},8,["onClick"])]),_:1},8,["modelValue","onAfterLeave"])],64)}var z=D(N,[["render",L]]);export{z as default};
diff --git a/suppliers_portal/public/supplier-portal/assets/Login.14c1625b.js b/suppliers_portal/public/supplier-portal/assets/Login.2ab92036.js
similarity index 78%
rename from suppliers_portal/public/supplier-portal/assets/Login.14c1625b.js
rename to suppliers_portal/public/supplier-portal/assets/Login.2ab92036.js
index 2950817..1ebd01d 100644
--- a/suppliers_portal/public/supplier-portal/assets/Login.14c1625b.js
+++ b/suppliers_portal/public/supplier-portal/assets/Login.2ab92036.js
@@ -1 +1 @@
-import{l as f,r as g,e as r,f as o,w as m,g as i,o as n,m as w,n as x,u as t,t as h,p as y,q as b,v}from"./vendor.99304cc5.js";import{s}from"./index.87704181.js";const V={class:"m-3 flex flex-row items-center justify-center"},A=["onSubmit"],C={key:0},D={key:1},S=v("Login"),k={key:2,class:"text-red-500"},N=f({setup(B){const a=g({forAdmin:!1});function p(d){let e=new FormData(d.target);a.forAdmin?s.login.submit({email:e.get("email"),password:e.get("password")}):s.supplier_login.submit({supplier_id:e.get("supplier_id")})}return(d,e)=>{const l=i("Input"),u=i("Button"),c=i("Card");return n(),r("div",V,[o(c,{title:"Welcome to Supplier Portal!",class:"w-full max-w-md mt-4"},{default:m(()=>[w("form",{class:"flex flex-col space-y-2 w-full",onSubmit:b(p,["prevent"])},[o(x,{modelValue:t(a).forAdmin,"onUpdate:modelValue":e[0]||(e[0]=_=>t(a).forAdmin=_),label:"Login as Admin"},null,8,["modelValue"]),t(a).forAdmin?(n(),r("div",C,[o(l,{required:"",name:"email",type:"text",placeholder:"username@email.com",label:"User ID"}),o(l,{required:"",name:"password",type:"password",placeholder:"\u2022\u2022\u2022\u2022\u2022\u2022",label:"Password"})])):(n(),r("div",D,[o(l,{required:"",name:"supplier_id",type:"text",placeholder:"Supplier ID",label:"Supplier ID"})])),o(u,{loading:t(s).login.loading,appearance:"primary"},{default:m(()=>[S]),_:1},8,["loading"]),t(s).login.error?(n(),r("div",k,h(t(s).login.error),1)):y("",!0)],40,A)]),_:1})])}}});export{N as default};
+import{l as f,r as g,e as r,f as o,w as m,g as i,o as n,m as w,n as x,u as t,t as b,p as h,q as y,v}from"./vendor.3e69a9be.js";import{s}from"./index.a459834f.js";const V={class:"m-3 flex flex-row items-center justify-center"},A=["onSubmit"],C={key:0},D={key:1},S=v("Login"),k={key:2,class:"text-red-500"},N=f({setup(B){const a=g({forAdmin:!1});function p(d){let e=new FormData(d.target);a.forAdmin?s.login.submit({email:e.get("email"),password:e.get("password")}):s.supplier_login.submit({supplier_id:e.get("supplier_id")})}return(d,e)=>{const l=i("Input"),u=i("Button"),c=i("Card");return n(),r("div",V,[o(c,{title:"Welcome to Supplier Portal!",class:"w-full max-w-md mt-4"},{default:m(()=>[w("form",{class:"flex flex-col space-y-2 w-full",onSubmit:y(p,["prevent"])},[o(x,{modelValue:t(a).forAdmin,"onUpdate:modelValue":e[0]||(e[0]=_=>t(a).forAdmin=_),label:"Login as Admin"},null,8,["modelValue"]),t(a).forAdmin?(n(),r("div",C,[o(l,{required:"",name:"email",type:"text",placeholder:"username@email.com",label:"User ID"}),o(l,{required:"",name:"password",type:"password",placeholder:"\u2022\u2022\u2022\u2022\u2022\u2022",label:"Password"})])):(n(),r("div",D,[o(l,{required:"",name:"supplier_id",type:"text",placeholder:"Supplier ID",label:"Supplier ID"})])),o(u,{loading:t(s).login.loading,appearance:"primary"},{default:m(()=>[S]),_:1},8,["loading"]),t(s).login.error?(n(),r("div",k,b(t(s).login.error),1)):h("",!0)],40,A)]),_:1})])}}});export{N as default};
diff --git a/suppliers_portal/public/supplier-portal/assets/NewInvoice.15ff173a.js b/suppliers_portal/public/supplier-portal/assets/NewInvoice.15ff173a.js
new file mode 100644
index 0000000..4e8ff3a
--- /dev/null
+++ b/suppliers_portal/public/supplier-portal/assets/NewInvoice.15ff173a.js
@@ -0,0 +1 @@
+var A=Object.defineProperty,M=Object.defineProperties;var L=Object.getOwnPropertyDescriptors;var T=Object.getOwnPropertySymbols;var P=Object.prototype.hasOwnProperty,j=Object.prototype.propertyIsEnumerable;var k=(i,n,d)=>n in i?A(i,n,{enumerable:!0,configurable:!0,writable:!0,value:d}):i[n]=d,I=(i,n)=>{for(var d in n||(n={}))P.call(n,d)&&k(i,d,n[d]);if(T)for(var d of T(n))j.call(n,d)&&k(i,d,n[d]);return i},U=(i,n)=>M(i,L(n));import{_ as F,y as D,r as f,a as g,M as H,e as v,m as e,f as h,w as Q,K as r,L as p,u as o,H as w,N as $,O as G,P as E,F as V,z as x,Q as J,J as K,p as Z,G as W,q as X,A as Y,B as ee,g as se,o as u,t as S,v as te}from"./vendor.3e69a9be.js";import{a as oe,b as le,c as ae,r as ie}from"./index.a459834f.js";const ce=(i,n)=>{const d=new Date(i);return d.setDate(d.getDate()+n),d},ne=i=>{switch(i){case"NET 10":return 10;case"NET 15":return 15;case"NET 30":return 30;case"NET 45":return 45;case"NET 60":return 60;default:return 0}};const a=i=>(Y("data-v-0c596e92"),i=i(),ee(),i),de={class:"container mt-5 py-3 border"},re={class:"row mb-3"},_e=a(()=>e("div",{class:"col-6"},[e("h1",{class:"text-gray-900 font-bold text-[32px]"},"New Invoice")],-1)),pe={class:"col-6"},ue={class:"d-flex"},me={class:"ms-auto"},ve={class:"btn-group",role:"group","aria-label":"Basic example"},be={type:"button",class:"btn btn-primary btn-light"},he=te("Cancel"),ye={class:"container border-bottom pb-3"},fe={class:"mb-2 row"},ge={class:"col"},we={class:"row"},Ve=a(()=>e("label",{for:"bill_no",class:"col-sm-3 col-form-label"},"Invoice Number",-1)),xe={class:"col-sm-8"},Se={class:"col"},Ne={class:"row"},Te=a(()=>e("label",{for:"service_date",class:"col-sm-3 col-form-label"},"Service Date",-1)),ke={class:"col-sm-8"},Ie={class:"mb-2 row"},Ue={class:"col"},De={class:"row"},Ee=a(()=>e("label",{for:"supplier_id",class:"col-sm-3 col-form-label"},"Supplier ID",-1)),ze={class:"col-sm-8"},Ce={class:"col"},Oe={class:"row"},Re=a(()=>e("label",{for:"posting_date",class:"col-sm-3 col-form-label"},"Invoice Date",-1)),Be={class:"col-sm-8"},qe={class:"mb-2 row"},Ae={class:"col"},Me={class:"row"},Le=a(()=>e("label",{for:"supplier_name",class:"col-sm-3 col-form-label"},"Supplier Name",-1)),Pe={class:"col-sm-8"},je=["value"],Fe={class:"col"},He={class:"row"},Qe=a(()=>e("label",{for:"payment_terms_template",class:"col-sm-3 col-form-label"},"Invoice Terms",-1)),$e={class:"col-sm-8"},Ge=a(()=>e("option",{readonly:""},null,-1)),Je=["value"],Ke={class:"mb-2 row"},Ze=a(()=>e("div",{class:"col"},null,-1)),We={class:"col"},Xe={class:"row"},Ye=a(()=>e("label",{for:"posting_date",class:"col-sm-3 col-form-label"},"Due Date",-1)),es={class:"col-sm-8"},ss={class:"mb-2 row"},ts={class:"col"},os={class:"accordion accordion-flush",id:"service-address-accordion"},ls={class:"accordion-item"},as=a(()=>e("h2",{class:"accordion-header ps-0"},[e("button",{class:"accordion-button",type:"button","data-bs-toggle":"collapse","data-bs-target":"#collapseOne","aria-expanded":"true","aria-controls":"collapseOne"}," Service Address ")],-1)),is={id:"collapseOne",class:"accordion-collapse collapse show","data-bs-parent":"#service-address-accordion"},cs={class:"accordion-body"},ns={class:"row mb-1"},ds=a(()=>e("label",{for:"site_code",class:"col-sm-3 col-form-label"},"Site Code",-1)),rs={class:"col-sm-8"},_s={class:"row mb-1"},ps=a(()=>e("label",{for:"street",class:"col-sm-3 col-form-label"},"Street",-1)),us={class:"col-sm-8"},ms={class:"row mb-1"},vs=a(()=>e("label",{for:"city",class:"col-sm-3 col-form-label"},"City",-1)),bs={class:"col-sm-8"},hs={class:"row mb-1"},ys=a(()=>e("label",{for:"state",class:"col-sm-3 col-form-label"},"State",-1)),fs={class:"col-sm-8"},gs={class:"row mb-1"},ws=a(()=>e("label",{for:"zip_code",class:"col-sm-3 col-form-label"},"Zip Code",-1)),Vs={class:"col-sm-8"},xs={class:"col"},Ss={class:"accordion accordion-flush",id:"address-accordion"},Ns={class:"accordion-item"},Ts=a(()=>e("h2",{class:"accordion-header ps-0"},[e("button",{class:"accordion-button",type:"button","data-bs-toggle":"collapse","data-bs-target":"#collapse-2","aria-expanded":"true","aria-controls":"collapse-2"}," Notes ")],-1)),ks={id:"collapse-2",class:"accordion-collapse collapse show","data-bs-parent":"#address-accordion"},Is={class:"accordion-body"},Us={class:"row mb-1"},Ds=a(()=>e("label",{for:"remarks",class:"col-sm-3 col-form-label"},"Notes",-1)),Es={class:"col-md-8"},zs={class:"container"},Cs=a(()=>e("h4",null,"Line Items",-1)),Os={key:0,class:"table"},Rs=a(()=>e("thead",null,[e("tr",null,[e("th",{scope:"col"},"#"),e("th",{scope:"col",width:"30%"},"Service Type"),e("th",{scope:"col"},"Quantity"),e("th",{scope:"col"},"Rate"),e("th",{scope:"col"},"Amount")])],-1)),Bs={class:"table-group-divider"},qs={scope:"row"},As={class:"col-mb-12"},Ms=["onUpdate:modelValue"],Ls=a(()=>e("option",{readonly:""},null,-1)),Ps=["value"],js=["onUpdate:modelValue"],Fs={class:"input-group"},Hs=a(()=>e("span",{class:"input-group-text"},[e("i",{class:"bi bi-currency-dollar"})],-1)),Qs=["onUpdate:modelValue"],$s={class:"input-group"},Gs=a(()=>e("span",{class:"input-group-text"},[e("i",{class:"bi bi-currency-dollar"})],-1)),Js=["onUpdate:modelValue"],Ks={type:"button",class:"btn btn-dark btn-sm"},Zs=["onClick"],Ws={class:"d-flex"},Xs=a(()=>e("i",{class:"bi bi-plus"},null,-1)),Ys=[Xs],et={class:"container"},st={class:"mb-2 row"},tt=a(()=>e("div",{class:"col"},null,-1)),ot={class:"col"},lt={class:"input-group"},at=a(()=>e("label",{for:"grand_total",class:"col-sm-3 col-form-label"},"Total Amount",-1)),it={class:"cols-sm-5"},ct={class:"input-group"},nt=a(()=>e("span",{class:"input-group-text currency-fmt"},[e("i",{class:"bi bi-currency-dollar"})],-1)),dt={setup(i){const n=oe()==="Administrator",d=D({doctype:"Purchase Invoice",insert:{onSuccess(){ie.push({name:"SupplierInvoiceList"})}}}),N=D({doctype:"Supplier",fields:["name as value","supplier_name as label"],orderBy:"creation desc"});N.fetch();const z=[{label:"NET 10",value:"NET 10"},{label:"NET 15",value:"NET 15"},{label:"NET 30",value:"NET 30"},{label:"NET 45",value:"NET 45"},{label:"NET 60",value:"NET 60"},{label:"Due on Receipt",value:"Due on Receipt"}],C=[{label:"Repair",value:"Repair"},{label:"Preventive Maintenance",value:"Preventive Maintenance"}],s=f({bill_no:"",supplier:le(),service_date:new Date().toISOString().split("T")[0],posting_date:new Date().toISOString().split("T")[0],supplier_name:ae(),payment_terms_template:"",grand_total:0,site_code:"",street:"",city:"",state:"",zip_code:"",remarks:""}),m=f([]);let b=g(()=>s.payment_terms_template?ce(s.posting_date,ne(s.payment_terms_template)).toISOString().split("T")[0]:"");const O=()=>{const c=f({item_code:"",qty:0,rate:0,amount:0});c.amount=g(()=>c.qty*c.rate),m.push(c)},R=c=>{m.splice(c,1)};s.grand_total=g(()=>m.reduce((c,l)=>c+l.amount,0));const B=()=>{d.insert.submit(U(I({},s),{set_posting_time:!0,due_date:b.value,site_code:s.site_code,street:s.street,city:s.city,state:s.state,zip_code:s.zip_code,remarks:s.remarks,items:m.map(c=>({item_code:c.item_code,qty:c.qty,rate:c.rate}))}))};return H(()=>s.supplier_name,c=>{c&&(s.supplier=c.value)}),(c,l)=>{const q=se("router-link");return u(),v("form",{onSubmit:l[14]||(l[14]=X(()=>{},["prevent"]))},[e("div",de,[e("div",re,[_e,e("div",pe,[e("div",ue,[e("div",me,[e("div",ve,[e("button",be,[h(q,{to:"/"},{default:Q(()=>[he]),_:1})]),e("button",{type:"button",class:"btn btn-primary btn-dark",onClick:B},"Save")])])])])]),e("div",ye,[e("div",fe,[e("div",ge,[e("div",we,[Ve,e("div",xe,[r(e("input",{type:"text",class:"form-control",id:"bill_no","onUpdate:modelValue":l[0]||(l[0]=t=>o(s).bill_no=t)},null,512),[[p,o(s).bill_no,void 0,{number:!0}]])])])]),e("div",Se,[e("div",Ne,[Te,e("div",ke,[h(w,{type:"date",size:"lg",variant:"outline",placeholder:"Service Date",id:"service_date",disabled:!1,modelValue:o(s).service_date,"onUpdate:modelValue":l[1]||(l[1]=t=>o(s).service_date=t)},null,8,["modelValue"])])])])]),e("div",Ie,[e("div",Ue,[e("div",De,[Ee,e("div",ze,[r(e("input",{type:"text",readonly:"",class:"form-control-plaintext",id:"supplier_id","onUpdate:modelValue":l[2]||(l[2]=t=>o(s).supplier=t)},null,512),[[p,o(s).supplier]])])])]),e("div",Ce,[e("div",Oe,[Re,e("div",Be,[h(w,{type:"date",size:"lg",variant:"outline",placeholder:"Invoice Date",id:"posting_date",disabled:!1,modelValue:o(s).posting_date,"onUpdate:modelValue":l[3]||(l[3]=t=>o(s).posting_date=t)},null,8,["modelValue"])])])])]),e("div",qe,[e("div",Ae,[e("div",Me,[Le,e("div",Pe,[n?(u(),$(G,{key:1,id:"supplier_name",options:o(N).data,placeholder:"Supplier Name",hideSearch:!o(s).bill_no,label:"company_name",modelValue:o(s).supplier_name,"onUpdate:modelValue":l[4]||(l[4]=t=>o(s).supplier_name=t)},null,8,["options","hideSearch","modelValue"])):(u(),v("input",{key:0,type:"text",readonly:"",class:"form-control-plaintext",id:"supplier_name",value:o(s).supplier_name},null,8,je))])])]),e("div",Fe,[e("div",He,[Qe,e("div",$e,[r(e("select",{class:"form-select form-select-mb h-100 d-inline-block","aria-label":"Invoice Terms","onUpdate:modelValue":l[5]||(l[5]=t=>o(s).payment_terms_template=t)},[Ge,(u(),v(V,null,x(z,t=>e("option",{value:t.value},S(t.label),9,Je)),64))],512),[[E,o(s).payment_terms_template]])])])])]),e("div",Ke,[Ze,e("div",We,[e("div",Xe,[Ye,e("div",es,[h(w,{type:"date",size:"lg",variant:"outline",placeholder:"Due Date",id:"due_date",disabled:!0,modelValue:o(b),"onUpdate:modelValue":l[6]||(l[6]=t=>J(b)?b.value=t:b=t)},null,8,["modelValue"])])])])]),e("div",ss,[e("div",ts,[e("div",os,[e("div",ls,[as,e("div",is,[e("div",cs,[e("div",ns,[ds,e("div",rs,[r(e("input",{type:"text",class:"form-control",id:"site_code","onUpdate:modelValue":l[7]||(l[7]=t=>o(s).site_code=t)},null,512),[[p,o(s).site_code]])])]),e("div",_s,[ps,e("div",us,[r(e("input",{type:"text",class:"form-control",id:"street","onUpdate:modelValue":l[8]||(l[8]=t=>o(s).street=t)},null,512),[[p,o(s).street]])])]),e("div",ms,[vs,e("div",bs,[r(e("input",{type:"text",class:"form-control",id:"city","onUpdate:modelValue":l[9]||(l[9]=t=>o(s).city=t)},null,512),[[p,o(s).city]])])]),e("div",hs,[ys,e("div",fs,[r(e("input",{type:"text",class:"form-control",id:"state","onUpdate:modelValue":l[10]||(l[10]=t=>o(s).state=t)},null,512),[[p,o(s).state]])])]),e("div",gs,[ws,e("div",Vs,[r(e("input",{type:"text",class:"form-control",id:"zip_code","onUpdate:modelValue":l[11]||(l[11]=t=>o(s).zip_code=t)},null,512),[[p,o(s).zip_code]])])])])])])])]),e("div",xs,[e("div",Ss,[e("div",Ns,[Ts,e("div",ks,[e("div",Is,[e("div",Us,[Ds,e("div",Es,[h(K,{variant:"subtle",size:"md",placeholder:"Enter Notes Here",disabled:!1,modelValue:o(s).remarks,"onUpdate:modelValue":l[12]||(l[12]=t=>o(s).remarks=t),id:"remarks"},null,8,["modelValue"])])])])])])])])])]),e("div",zs,[Cs,o(m).length!==0?(u(),v("table",Os,[Rs,e("tbody",Bs,[(u(!0),v(V,null,x(o(m),(t,y)=>(u(),v("tr",{key:y},[e("th",qs,S(y+1),1),e("td",null,[e("div",As,[r(e("select",{class:"form-select form-select-mb h-100 d-inline-block","aria-label":"Service Types","onUpdate:modelValue":_=>t.item_code=_},[Ls,(u(),v(V,null,x(C,_=>e("option",{value:_.value},S(_.label),9,Ps)),64))],8,Ms),[[E,t.item_code]])])]),e("td",null,[r(e("input",{type:"text",class:"form-control","onUpdate:modelValue":_=>t.qty=_},null,8,js),[[p,t.qty]])]),e("td",null,[e("div",Fs,[Hs,r(e("input",{type:"text",class:"form-control","onUpdate:modelValue":_=>t.rate=_},null,8,Qs),[[p,t.rate,void 0,{number:!0}]])])]),e("td",null,[e("div",$s,[Gs,r(e("input",{type:"text",readonly:"",class:"form-control","onUpdate:modelValue":_=>t.amount=_},null,8,Js),[[p,t.amount,void 0,{number:!0}]])])]),e("td",null,[e("button",Ks,[e("i",{onClick:_=>R(y),class:"bi bi-trash"},null,8,Zs)])])]))),128))])])):Z("",!0),e("div",Ws,[e("div",{class:W(o(m).length===0?"ms-auto pt-3":"ms-auto")},[e("div",{class:"btn-group",role:"group","aria-label":"Basic example"},[e("button",{type:"button",class:"btn btn-dark btn-sm",onClick:O},Ys)])],2)])]),e("div",et,[e("div",st,[tt,e("div",ot,[e("div",lt,[at,e("div",it,[e("div",ct,[nt,r(e("input",{type:"text",readonly:"",class:"form-control","onUpdate:modelValue":l[13]||(l[13]=t=>o(s).grand_total=t)},null,512),[[p,o(s).grand_total,void 0,{number:!0}]])])])])])])])])],32)}}};var ut=F(dt,[["__scopeId","data-v-0c596e92"]]);export{ut as default};
diff --git a/suppliers_portal/public/supplier-portal/assets/NewInvoice.632d4fad.js b/suppliers_portal/public/supplier-portal/assets/NewInvoice.632d4fad.js
deleted file mode 100644
index 1dc82c9..0000000
--- a/suppliers_portal/public/supplier-portal/assets/NewInvoice.632d4fad.js
+++ /dev/null
@@ -1 +0,0 @@
-import{_ as B,y as I,r as g,a as S,M as q,e as _,m as e,f as m,w as A,K as i,L as d,u as o,H as h,N as P,O as M,P as U,F as x,z as N,Q as L,t as y,p as T,J as j,G as F,q as H,A as Q,B as $,g as G,o as r,v as J}from"./vendor.99304cc5.js";import{a as K,b as f,c as Z,r as W}from"./index.87704181.js";const X=(u,w)=>{const v=new Date(u);return v.setDate(v.getDate()+w),v},Y=u=>{switch(u){case"NET 10":return 10;case"NET 15":return 15;case"NET 30":return 30;case"NET 45":return 45;case"NET 60":return 60;default:return 0}};const a=u=>(Q("data-v-7312333a"),u=u(),$(),u),ee={class:"container mt-5 py-3 border"},se={class:"row mb-3"},te=a(()=>e("div",{class:"col-6"},[e("h1",{class:"text-gray-900 font-bold text-[32px]"},"New Invoice")],-1)),oe={class:"col-6"},le={class:"d-flex"},ae={class:"ms-auto"},ne={class:"btn-group",role:"group","aria-label":"Basic example"},ie={type:"button",class:"btn btn-primary btn-light"},ce=J("Cancel"),de={class:"container border-bottom pb-3"},re={class:"mb-2 row"},_e={class:"col"},ue={class:"row"},pe=a(()=>e("label",{for:"supplier_invoice_number",class:"col-sm-3 col-form-label"},"Invoice Number",-1)),me={class:"col-sm-8"},ve={class:"col"},be={class:"row"},he=a(()=>e("label",{for:"service_date",class:"col-sm-3 col-form-label"},"Service Date",-1)),ye={class:"col-sm-8"},fe={class:"mb-2 row"},we={class:"col"},Ve={class:"row"},ge=a(()=>e("label",{for:"supplier_id",class:"col-sm-3 col-form-label"},"Supplier ID",-1)),Se={class:"col-sm-8"},xe={class:"col"},Ne={class:"row"},Te=a(()=>e("label",{for:"invoice_date",class:"col-sm-3 col-form-label"},"Invoice Date",-1)),De={class:"col-sm-8"},Ie={class:"mb-2 row"},Ue={class:"col"},ke={class:"row"},Ee=a(()=>e("label",{for:"supplier_name",class:"col-sm-3 col-form-label"},"Supplier Name",-1)),ze={class:"col-sm-8"},Ce=["value"],Oe={class:"col"},Re={class:"row"},Be=a(()=>e("label",{for:"invoice_terms",class:"col-sm-3 col-form-label"},"Invoice Terms",-1)),qe={class:"col-sm-8"},Ae=a(()=>e("option",{readonly:""},null,-1)),Pe=["value"],Me={class:"mb-2 row"},Le=a(()=>e("div",{class:"col"},null,-1)),je={class:"col"},Fe={class:"row"},He=a(()=>e("label",{for:"invoice_date",class:"col-sm-3 col-form-label"},"Due Date",-1)),Qe={class:"col-sm-8"},$e={class:"mb-2 row"},Ge={class:"col"},Je={class:"accordion accordion-flush",id:"service-address-accordion"},Ke={class:"accordion-item"},Ze=a(()=>e("h2",{class:"accordion-header ps-0"},[e("button",{class:"accordion-button",type:"button","data-bs-toggle":"collapse","data-bs-target":"#collapseOne","aria-expanded":"true","aria-controls":"collapseOne"}," Service Address ")],-1)),We={id:"collapseOne",class:"accordion-collapse collapse show","data-bs-parent":"#service-address-accordion"},Xe={class:"accordion-body"},Ye={class:"row mb-1"},es=a(()=>e("label",{for:"street",class:"col-sm-3 col-form-label"},"Street",-1)),ss={class:"col-sm-8"},ts={class:"row mb-1"},os=a(()=>e("label",{for:"city",class:"col-sm-3 col-form-label"},"City",-1)),ls={class:"col-sm-8"},as={class:"row mb-1"},ns=a(()=>e("label",{for:"state",class:"col-sm-3 col-form-label"},"State",-1)),is={class:"col-sm-8"},cs={class:"row mb-1"},ds=a(()=>e("label",{for:"zip_code",class:"col-sm-3 col-form-label"},"Zip Code",-1)),rs={class:"col-sm-8"},_s={class:"col"},us={class:"accordion accordion-flush",id:"address-accordion"},ps={class:"accordion-item"},ms={class:"accordion-header ps-0"},vs={class:"accordion-button",type:"button","data-bs-toggle":"collapse","data-bs-target":"#collapse-2","aria-expanded":"true","aria-controls":"collapse-2"},bs={id:"collapse-2",class:"accordion-collapse collapse show","data-bs-parent":"#address-accordion"},hs={class:"accordion-body"},ys={key:0,class:"row mb-1"},fs=a(()=>e("label",{for:"payment_reference_no",class:"col-sm-3 col-form-label"},"Payment Reference",-1)),ws={class:"col-sm-5"},Vs={key:1,class:"row mb-1"},gs=a(()=>e("label",{for:"payment_reference_date",class:"col-sm-3 col-form-label"},"Payment Date",-1)),Ss={class:"col-sm-5"},xs={class:"row mb-1"},Ns=a(()=>e("label",{for:"notes",class:"col-sm-3 col-form-label"},"Notes",-1)),Ts={class:"col-md-8"},Ds={class:"container"},Is=a(()=>e("h4",null,"Line Items",-1)),Us={key:0,class:"table"},ks=a(()=>e("thead",null,[e("tr",null,[e("th",{scope:"col"},"#"),e("th",{scope:"col",width:"30%"},"Service Type"),e("th",{scope:"col"},"Quantity"),e("th",{scope:"col"},"Rate"),e("th",{scope:"col"},"Amount")])],-1)),Es={class:"table-group-divider"},zs={scope:"row"},Cs={class:"col-mb-12"},Os=["onUpdate:modelValue"],Rs=a(()=>e("option",{readonly:""},null,-1)),Bs=["value"],qs=["onUpdate:modelValue"],As={class:"input-group"},Ps=a(()=>e("span",{class:"input-group-text"},[e("i",{class:"bi bi-currency-dollar"})],-1)),Ms=["onUpdate:modelValue"],Ls={class:"input-group"},js=a(()=>e("span",{class:"input-group-text"},[e("i",{class:"bi bi-currency-dollar"})],-1)),Fs=["onUpdate:modelValue"],Hs={type:"button",class:"btn btn-dark btn-sm"},Qs=["onClick"],$s={class:"d-flex"},Gs=a(()=>e("i",{class:"bi bi-plus"},null,-1)),Js=[Gs],Ks={class:"container"},Zs={class:"mb-2 row"},Ws=a(()=>e("div",{class:"col"},null,-1)),Xs={class:"col"},Ys={class:"input-group"},et=a(()=>e("label",{for:"total_amount",class:"col-sm-3 col-form-label"},"Total Amount",-1)),st={class:"cols-sm-5"},tt={class:"input-group"},ot=a(()=>e("span",{class:"input-group-text currency-fmt"},[e("i",{class:"bi bi-currency-dollar"})],-1)),lt={setup(u){const w=K()==="Administrator",v=I({doctype:"Invoices",insert:{onSuccess(){W.push({name:"SupplierInvoiceList"})}}}),k=[{label:"NET 10",value:"NET 10"},{label:"NET 15",value:"NET 15"},{label:"NET 30",value:"NET 30"},{label:"NET 45",value:"NET 45"},{label:"NET 60",value:"NET 60"},{label:"Due on Receipt",value:"Due on Receipt"}],E=[{label:"Repair",value:"Repair"},{label:"Preventive Maintenance",value:"Preventive Maintenance"}],s=g({supplier_invoice_number:"",supplier:f(),service_date:new Date().toISOString().split("T")[0],invoice_date:new Date().toISOString().split("T")[0],supplier_name:Z(),invoice_terms:"",total_amount:0,street:"",city:"",state:"",zip_code:"",payment_reference_no:"",payment_reference_date:new Date().toISOString().split("T")[0],notes:""}),p=g([]);let b=S(()=>s.invoice_terms?X(s.invoice_date,Y(s.invoice_terms)).toISOString().split("T")[0]:"");const z=()=>{const n=g({service_type:"",quantity:0,rate:0,amount:0});n.amount=S(()=>n.quantity*n.rate),p.push(n)},C=n=>{p.splice(n,1)};s.total_amount=S(()=>p.reduce((n,l)=>n+l.amount,0));const O=()=>{v.insert.submit({supplier_invoice_number:s.supplier_invoice_number,supplier:s.supplier,service_date:s.service_date,invoice_date:s.invoice_date,supplier_name:s.supplier_name,invoice_terms:s.invoice_terms,street:s.street,city:s.city,state:s.state,zip_code:s.zip_code,payment_reference_date:s.payment_reference_date,payment_reference_no:s.payment_reference_no,notes:s.notes,supplier_invoice_items:p.map(n=>({service_type:n.service_type,quantity:n.quantity,rate:n.rate}))})},D=I({doctype:"Supplier",fields:["name as value","company_name as label"],orderBy:"creation desc"});return D.fetch(),q(()=>s.supplier_name,n=>{n&&(s.supplier=n.value)}),(n,l)=>{const R=G("router-link");return r(),_("form",{onSubmit:l[15]||(l[15]=H(()=>{},["prevent"]))},[e("div",ee,[e("div",se,[te,e("div",oe,[e("div",le,[e("div",ae,[e("div",ne,[e("button",ie,[m(R,{to:"/"},{default:A(()=>[ce]),_:1})]),e("button",{type:"button",class:"btn btn-primary btn-dark",onClick:O}," Save ")])])])])]),e("div",de,[e("div",re,[e("div",_e,[e("div",ue,[pe,e("div",me,[i(e("input",{type:"text",class:"form-control",id:"supplier_invoice_number","onUpdate:modelValue":l[0]||(l[0]=t=>o(s).supplier_invoice_number=t)},null,512),[[d,o(s).supplier_invoice_number,void 0,{number:!0}]])])])]),e("div",ve,[e("div",be,[he,e("div",ye,[m(h,{type:"date",size:"lg",variant:"outline",placeholder:"Service Date",id:"service_date",disabled:!1,modelValue:o(s).service_date,"onUpdate:modelValue":l[1]||(l[1]=t=>o(s).service_date=t)},null,8,["modelValue"])])])])]),e("div",fe,[e("div",we,[e("div",Ve,[ge,e("div",Se,[i(e("input",{type:"text",readonly:"",class:"form-control-plaintext",id:"supplier_id","onUpdate:modelValue":l[2]||(l[2]=t=>o(s).supplier=t)},null,512),[[d,o(s).supplier]])])])]),e("div",xe,[e("div",Ne,[Te,e("div",De,[m(h,{type:"date",size:"lg",variant:"outline",placeholder:"Invoice Date",id:"invoice_date",disabled:!1,modelValue:o(s).invoice_date,"onUpdate:modelValue":l[3]||(l[3]=t=>o(s).invoice_date=t)},null,8,["modelValue"])])])])]),e("div",Ie,[e("div",Ue,[e("div",ke,[Ee,e("div",ze,[w?(r(),P(M,{key:1,id:"supplier_name",options:o(D).data,placeholder:"Supplier Name",hideSearch:!o(s).supplier_invoice_number,label:"company_name",modelValue:o(s).supplier_name,"onUpdate:modelValue":l[4]||(l[4]=t=>o(s).supplier_name=t)},null,8,["options","hideSearch","modelValue"])):(r(),_("input",{key:0,type:"text",readonly:"",class:"form-control-plaintext",id:"supplier_name",value:o(s).supplier_name},null,8,Ce))])])]),e("div",Oe,[e("div",Re,[Be,e("div",qe,[i(e("select",{class:"form-select form-select-mb h-100 d-inline-block","aria-label":"Invoice Terms","onUpdate:modelValue":l[5]||(l[5]=t=>o(s).invoice_terms=t)},[Ae,(r(),_(x,null,N(k,t=>e("option",{value:t.value},y(t.label),9,Pe)),64))],512),[[U,o(s).invoice_terms]])])])])]),e("div",Me,[Le,e("div",je,[e("div",Fe,[He,e("div",Qe,[m(h,{type:"date",size:"lg",variant:"outline",placeholder:"Due Date",id:"due_date",disabled:!0,modelValue:o(b),"onUpdate:modelValue":l[6]||(l[6]=t=>L(b)?b.value=t:b=t)},null,8,["modelValue"])])])])]),e("div",$e,[e("div",Ge,[e("div",Je,[e("div",Ke,[Ze,e("div",We,[e("div",Xe,[e("div",Ye,[es,e("div",ss,[i(e("input",{type:"text",class:"form-control",id:"street","onUpdate:modelValue":l[7]||(l[7]=t=>o(s).street=t)},null,512),[[d,o(s).street]])])]),e("div",ts,[os,e("div",ls,[i(e("input",{type:"text",class:"form-control",id:"city","onUpdate:modelValue":l[8]||(l[8]=t=>o(s).city=t)},null,512),[[d,o(s).city]])])]),e("div",as,[ns,e("div",is,[i(e("input",{type:"text",class:"form-control",id:"state","onUpdate:modelValue":l[9]||(l[9]=t=>o(s).state=t)},null,512),[[d,o(s).state]])])]),e("div",cs,[ds,e("div",rs,[i(e("input",{type:"text",class:"form-control",id:"zip_code","onUpdate:modelValue":l[10]||(l[10]=t=>o(s).zip_code=t)},null,512),[[d,o(s).zip_code]])])])])])])])]),e("div",_s,[e("div",us,[e("div",ps,[e("h2",ms,[e("button",vs,y(o(f)()?"Notes":"Payment Reference and Notes"),1)]),e("div",bs,[e("div",hs,[o(f)()?T("",!0):(r(),_("div",ys,[fs,e("div",ws,[i(e("input",{type:"text",class:"form-control",id:"payment_reference_no","onUpdate:modelValue":l[11]||(l[11]=t=>o(s).payment_reference_no=t)},null,512),[[d,o(s).payment_reference_no]])])])),o(f)()?T("",!0):(r(),_("div",Vs,[gs,e("div",Ss,[m(h,{type:"date",size:"lg",variant:"outline",placeholder:"Payment Date",id:"payment_reference_date",disabled:!1,modelValue:o(s).payment_reference_date,"onUpdate:modelValue":l[12]||(l[12]=t=>o(s).payment_reference_date=t)},null,8,["modelValue"])])])),e("div",xs,[Ns,e("div",Ts,[m(j,{variant:"subtle",size:"md",placeholder:"Enter Notes Here",disabled:!1,modelValue:o(s).notes,"onUpdate:modelValue":l[13]||(l[13]=t=>o(s).notes=t),id:"notes"},null,8,["modelValue"])])])])])])])])])]),e("div",Ds,[Is,o(p).length!==0?(r(),_("table",Us,[ks,e("tbody",Es,[(r(!0),_(x,null,N(o(p),(t,V)=>(r(),_("tr",{key:V},[e("th",zs,y(V+1),1),e("td",null,[e("div",Cs,[i(e("select",{class:"form-select form-select-mb h-100 d-inline-block","aria-label":"Service Types","onUpdate:modelValue":c=>t.service_type=c},[Rs,(r(),_(x,null,N(E,c=>e("option",{value:c.value},y(c.label),9,Bs)),64))],8,Os),[[U,t.service_type]])])]),e("td",null,[i(e("input",{type:"text",class:"form-control","onUpdate:modelValue":c=>t.quantity=c},null,8,qs),[[d,t.quantity]])]),e("td",null,[e("div",As,[Ps,i(e("input",{type:"text",class:"form-control","onUpdate:modelValue":c=>t.rate=c},null,8,Ms),[[d,t.rate,void 0,{number:!0}]])])]),e("td",null,[e("div",Ls,[js,i(e("input",{type:"text",readonly:"",class:"form-control","onUpdate:modelValue":c=>t.amount=c},null,8,Fs),[[d,t.amount,void 0,{number:!0}]])])]),e("td",null,[e("button",Hs,[e("i",{onClick:c=>C(V),class:"bi bi-trash"},null,8,Qs)])])]))),128))])])):T("",!0),e("div",$s,[e("div",{class:F(o(p).length===0?"ms-auto pt-3":"ms-auto")},[e("div",{class:"btn-group",role:"group","aria-label":"Basic example"},[e("button",{type:"button",class:"btn btn-dark btn-sm",onClick:z},Js)])],2)])]),e("div",Ks,[e("div",Zs,[Ws,e("div",Xs,[e("div",Ys,[et,e("div",st,[e("div",tt,[ot,i(e("input",{type:"text",readonly:"",class:"form-control","onUpdate:modelValue":l[14]||(l[14]=t=>o(s).total_amount=t)},null,512),[[d,o(s).total_amount,void 0,{number:!0}]])])])])])])])])],32)}}};var it=B(lt,[["__scopeId","data-v-7312333a"]]);export{it as default};
diff --git a/suppliers_portal/public/supplier-portal/assets/NewInvoice.67c196f0.css b/suppliers_portal/public/supplier-portal/assets/NewInvoice.67c196f0.css
deleted file mode 100644
index 9a69443..0000000
--- a/suppliers_portal/public/supplier-portal/assets/NewInvoice.67c196f0.css
+++ /dev/null
@@ -1 +0,0 @@
-input.form-control-plaintext[data-v-7312333a]:focus,.currency-fmt[data-v-7312333a]{background-color:#fff;border-color:#fff;box-shadow:none}.currency-fmt+input.form-control[data-v-7312333a]{background-color:#fff;border-color:#fff;box-shadow:none}tr[data-v-7312333a]{vertical-align:middle}
diff --git a/suppliers_portal/public/supplier-portal/assets/NewInvoice.e56a66d4.css b/suppliers_portal/public/supplier-portal/assets/NewInvoice.e56a66d4.css
new file mode 100644
index 0000000..8985818
--- /dev/null
+++ b/suppliers_portal/public/supplier-portal/assets/NewInvoice.e56a66d4.css
@@ -0,0 +1 @@
+input.form-control-plaintext[data-v-0c596e92]:focus,.currency-fmt[data-v-0c596e92]{background-color:#fff;border-color:#fff;box-shadow:none}.currency-fmt+input.form-control[data-v-0c596e92]{background-color:#fff;border-color:#fff;box-shadow:none}tr[data-v-0c596e92]{vertical-align:middle}
diff --git a/suppliers_portal/public/supplier-portal/assets/SupplierInvoice.062d709e.css b/suppliers_portal/public/supplier-portal/assets/SupplierInvoice.062d709e.css
new file mode 100644
index 0000000..c89b244
--- /dev/null
+++ b/suppliers_portal/public/supplier-portal/assets/SupplierInvoice.062d709e.css
@@ -0,0 +1 @@
+.vr-aligned[data-v-5c4ded13]{vertical-align:middle}button.accordion-button[aria-expanded=true][data-v-5c4ded13]{color:#000}input.form-control-plaintext[data-v-5c4ded13]:focus,.input-group>input.form-control[data-v-5c4ded13]:focus,input.form-control[data-v-5c4ded13],.input-group>span[data-v-5c4ded13]{background-color:#fff;border-color:#fff;box-shadow:none}.disabled-date[data-v-5c4ded13]{color:#000;background:transparent;border:none!important;border-bottom:1px solid #ced4da!important}a[data-v-5c4ded13]{text-decoration:none;color:inherit}
diff --git a/suppliers_portal/public/supplier-portal/assets/SupplierInvoice.6fa41666.js b/suppliers_portal/public/supplier-portal/assets/SupplierInvoice.6fa41666.js
new file mode 100644
index 0000000..6ecf86e
--- /dev/null
+++ b/suppliers_portal/public/supplier-portal/assets/SupplierInvoice.6fa41666.js
@@ -0,0 +1 @@
+import{_ as O,l as $,r as F,E as z,u as e,e as r,m as s,v as n,t as a,f as i,w as C,D as H,G as L,H as p,J as P,F as R,z as j,p as B,K as q,L as G,A as J,B as K,g as M,o as _}from"./vendor.3e69a9be.js";const t=d=>(J("data-v-5c4ded13"),d=d(),K(),d),Q={key:0},Z={class:"container mt-5 py-3 border"},W={class:"row mb-3 vr-aligned"},X={class:"col-6"},Y={class:"text-gray-900 font-bold text-[32px]"},ss={class:"col-6"},os={class:"d-flex"},es={class:"ms-auto"},ts={class:"btn-group",role:"group","aria-label":"Basic example"},ls={type:"button",class:"btn btn-primary btn-dark"},cs=n("Back"),as={class:"mb-1 row"},is={class:"col"},ds={class:"row"},ns=t(()=>s("label",{for:"suppplier_id",class:"col-sm-3 col-form-label"},"Supplier ID",-1)),rs={class:"col-sm-8"},_s=["value"],us={class:"col"},ps={class:"row mb-1"},vs=t(()=>s("label",{for:"service_date",class:"col-sm-3 col-form-label"},"Service Date",-1)),ms={class:"col-sm-8"},hs={class:"mb-1 row"},bs={class:"col"},ys={class:"row"},fs=t(()=>s("label",{for:"suppplier_name",class:"col-sm-3 col-form-label"},"Supplier Name",-1)),xs={class:"col-sm-8"},gs=["value"],ws={class:"col"},Vs={class:"row mb-1"},Ss=t(()=>s("label",{for:"posting_date",class:"col-sm-3 col-form-label"},"Invoice Date",-1)),ks={class:"col-sm-8"},Is={class:"mb-1 row"},Ds=t(()=>s("div",{class:"col"},null,-1)),Ns={class:"col"},zs={class:"row mb-1"},Cs=t(()=>s("label",{for:"due_date",class:"col-sm-3 col-form-label"},"Due Date",-1)),Bs={class:"col-sm-8"},As={class:"mb-1 row"},Ts=t(()=>s("div",{class:"col"},null,-1)),Us={class:"col"},Es={class:"row"},Os=t(()=>s("label",{for:"payment_terms_template",class:"col-sm-3 col-form-label"},"Invoice Terms",-1)),$s={class:"col-sm-8"},Fs=["value"],Hs={class:"mb-1 row"},Ls={class:"col"},Ps={class:"accordion accordion-flush",id:"service-address-accordion"},Rs={class:"accordion-item"},js=t(()=>s("h2",{class:"accordion-header ps-0"},[s("button",{class:"accordion-button",type:"button","data-bs-toggle":"collapse","data-bs-target":"#collapseOne","aria-expanded":"true","aria-controls":"collapseOne"}," Service Address ")],-1)),qs={id:"collapseOne",class:"accordion-collapse collapse","data-bs-parent":"#service-address-accordion"},Gs={class:"accordion-body"},Js={class:"row mb-1"},Ks=t(()=>s("label",{for:"site_code",class:"col-sm-3 col-form-label"},"Site Code",-1)),Ms={class:"col-sm-8"},Qs=["value"],Zs={class:"row mb-1"},Ws=t(()=>s("label",{for:"street",class:"col-sm-3 col-form-label"},"Street",-1)),Xs={class:"col-sm-8"},Ys=["value"],so={class:"row mb-1"},oo=t(()=>s("label",{for:"city",class:"col-sm-3 col-form-label"},"City",-1)),eo={class:"col-sm-8"},to=["value"],lo={class:"row mb-1"},co=t(()=>s("label",{for:"state",class:"col-sm-3 col-form-label"},"State",-1)),ao={class:"col-sm-8"},io=["value"],no={class:"row mb-1"},ro=t(()=>s("label",{for:"zip_code",class:"col-sm-3 col-form-label"},"Zip Code",-1)),_o={class:"col-sm-8"},uo=["value"],po={class:"col"},vo={class:"accordion accordion-flush",id:"address-accordion"},mo={class:"accordion-item"},ho=t(()=>s("h2",{class:"accordion-header ps-0"},[s("button",{class:"accordion-button",type:"button","data-bs-toggle":"collapse","data-bs-target":"#collapse-2","aria-expanded":"true","aria-controls":"collapse-2"}," Notes ")],-1)),bo={id:"collapse-2",class:"accordion-collapse collapse","data-bs-parent":"#address-accordion"},yo={class:"accordion-body"},fo={class:"row mb-1"},xo=t(()=>s("label",{for:"remarks",class:"col-sm-4 col-form-label"},"Notes",-1)),go={class:"col-sm-8"},wo={key:0,class:"container"},Vo={class:"table"},So=t(()=>s("thead",null,[s("tr",null,[s("th",{scope:"col"},"#"),s("th",{scope:"col",width:"30%"},"Service Type"),s("th",{scope:"col"},"Quantity"),s("th",{scope:"col"},"Rate"),s("th",{scope:"col"},"Amount")])],-1)),ko={class:"table-group-divider"},Io={scope:"row"},Do=t(()=>s("i",{class:"bi bi-currency-dollar"},null,-1)),No=t(()=>s("i",{class:"bi bi-currency-dollar"},null,-1)),zo={class:"container"},Co={class:"mb-1 row"},Bo=t(()=>s("div",{class:"col"},null,-1)),Ao={class:"col"},To={class:"input-group"},Uo=t(()=>s("label",{for:"grand_total",class:"col-sm-3 col-form-label"},"Total Amount",-1)),Eo={class:"cols-sm-5"},Oo={class:"input-group"},$o=t(()=>s("span",{class:"input-group-text"},[s("i",{class:"bi bi-currency-dollar"})],-1)),Fo=$({props:{supplierInvoiceNumber:null},setup(d){const{supplierInvoiceNumber:A}=d,o=F({}),T=z({doctype:"Purchase Invoice",name:A,onSuccess:u=>{o.invoice=u,o.address=z({doctype:"Address",name:u.supplier_address,auto:!0}),console.log(o)}});return(u,c)=>{var v,m,h,b,y,f,x,g,w,V,S,k,I,D,N;const U=M("router-link");return!e(T).loading&&e(o).invoice?(_(),r("div",Q,[s("div",Z,[s("div",W,[s("div",X,[s("h1",Y,[n(" Supplier Invoice: "+a(e(o).invoice.name)+" ",1),i(e(H),null,{default:C(()=>[n(a(e(o).invoice.status),1)]),_:1})])]),s("div",ss,[s("div",os,[s("div",es,[s("div",ts,[s("button",ls,[i(U,{to:"/"},{default:C(()=>[cs]),_:1})])])])])])]),s("div",{class:L(e(o).invoice.items?"container border-bottom pb-3":"container pb-3")},[s("div",as,[s("div",is,[s("div",ds,[ns,s("div",rs,[s("input",{type:"text",readonly:"",class:"form-control-plaintext",id:"suppplier_id",value:e(o).invoice.supplier},null,8,_s)])])]),s("div",us,[s("div",ps,[vs,s("div",ms,[i(p,{type:"date",size:"lg",variant:"outline",placeholder:"Payment Date",id:"service_date",disabled:!0,modelValue:e(o).invoice.service_date,"onUpdate:modelValue":c[0]||(c[0]=l=>e(o).invoice.service_date=l)},null,8,["modelValue"])])])])]),s("div",hs,[s("div",bs,[s("div",ys,[fs,s("div",xs,[s("input",{type:"text",readonly:"",class:"form-control-plaintext",id:"suppplier_name",value:e(o).invoice.supplier_name},null,8,gs)])])]),s("div",ws,[s("div",Vs,[Ss,s("div",ks,[i(p,{type:"date",size:"lg",variant:"outline",placeholder:"Invoice Date",id:"posting_date",disabled:!0,modelValue:e(o).invoice.posting_date,"onUpdate:modelValue":c[1]||(c[1]=l=>e(o).invoice.posting_date=l)},null,8,["modelValue"])])])])]),s("div",Is,[Ds,s("div",Ns,[s("div",zs,[Cs,s("div",Bs,[i(p,{type:"date",size:"lg",variant:"outline",placeholder:"Due Date",id:"due_date",disabled:!0,modelValue:e(o).invoice.due_date,"onUpdate:modelValue":c[2]||(c[2]=l=>e(o).invoice.due_date=l)},null,8,["modelValue"])])])])]),s("div",As,[Ts,s("div",Us,[s("div",Es,[Os,s("div",$s,[s("input",{type:"text",readonly:"",class:"form-control-plaintext h-100 d-inline-block",id:"payment_terms_template",value:e(o).invoice.payment_terms_template},null,8,Fs)])])])]),s("div",Hs,[s("div",Ls,[s("div",Ps,[s("div",Rs,[js,s("div",qs,[s("div",Gs,[s("div",Js,[Ks,s("div",Ms,[s("input",{type:"text",readonly:"",class:"form-control-plaintext",id:"site_code",value:(h=(m=(v=e(o))==null?void 0:v.address)==null?void 0:m.doc)==null?void 0:h.site_code},null,8,Qs)])]),s("div",Zs,[Ws,s("div",Xs,[s("input",{type:"text",readonly:"",class:"form-control-plaintext",id:"street",value:(f=(y=(b=e(o))==null?void 0:b.address)==null?void 0:y.doc)==null?void 0:f.address_line1},null,8,Ys)])]),s("div",so,[oo,s("div",eo,[s("input",{type:"text",readonly:"",class:"form-control-plaintext",id:"city",value:(w=(g=(x=e(o))==null?void 0:x.address)==null?void 0:g.doc)==null?void 0:w.city},null,8,to)])]),s("div",lo,[co,s("div",ao,[s("input",{type:"text",readonly:"",class:"form-control-plaintext",id:"state",value:(k=(S=(V=e(o))==null?void 0:V.address)==null?void 0:S.doc)==null?void 0:k.state},null,8,io)])]),s("div",no,[ro,s("div",_o,[s("input",{type:"text",readonly:"",class:"form-control-plaintext",id:"zip_code",value:(N=(D=(I=e(o))==null?void 0:I.address)==null?void 0:D.doc)==null?void 0:N.pincode},null,8,uo)])])])])])])]),s("div",po,[s("div",vo,[s("div",mo,[ho,s("div",bo,[s("div",yo,[s("div",fo,[xo,s("div",go,[i(P,{variant:"subtle",size:"md",placeholder:"Enter Notes Here",disabled:!0,modelValue:e(o).invoice.remarks,"onUpdate:modelValue":c[3]||(c[3]=l=>e(o).invoice.remarks=l),label:"",id:"remarks"},null,8,["modelValue"])])])])])])])])])],2),e(o).invoice.items?(_(),r("div",wo,[s("table",Vo,[So,s("tbody",ko,[(_(!0),r(R,null,j(e(o).invoice.items,(l,E)=>(_(),r("tr",{key:l.name},[s("th",Io,a(E+1),1),s("td",null,a(l.item_code),1),s("td",null,a(l.qty),1),s("td",null,[Do,n(" "+a(l.rate),1)]),s("td",null,[No,n(" "+a(l.amount),1)])]))),128))])])])):B("",!0),s("div",zo,[s("div",Co,[Bo,s("div",Ao,[s("div",To,[Uo,s("div",Eo,[s("div",Oo,[$o,q(s("input",{type:"text",readonly:"",class:"form-control","onUpdate:modelValue":c[4]||(c[4]=l=>e(o).invoice.grand_total=l)},null,512),[[G,e(o).invoice.grand_total,void 0,{number:!0}]])])])])])])])])])):B("",!0)}}});var Lo=O(Fo,[["__scopeId","data-v-5c4ded13"]]);export{Lo as default};
diff --git a/suppliers_portal/public/supplier-portal/assets/SupplierInvoice.77908b92.js b/suppliers_portal/public/supplier-portal/assets/SupplierInvoice.77908b92.js
deleted file mode 100644
index 8607b1e..0000000
--- a/suppliers_portal/public/supplier-portal/assets/SupplierInvoice.77908b92.js
+++ /dev/null
@@ -1 +0,0 @@
-import{_ as b,E as y,u as e,e as i,m as o,v as _,t as a,f as d,w as m,D as f,G as x,H as u,p,J as w,F as g,z as V,K as D,L as S,A as I,B as k,g as z,o as n}from"./vendor.99304cc5.js";const t=r=>(I("data-v-145c3c9a"),r=r(),k(),r),N={key:0},B={class:"container mt-5 py-3 border"},C={class:"row mb-3 vr-aligned"},U={class:"col-6"},P={class:"text-gray-900 font-bold text-[32px]"},T={class:"col-6"},A={class:"d-flex"},R={class:"ms-auto"},E={class:"btn-group",role:"group","aria-label":"Basic example"},O={type:"button",class:"btn btn-primary btn-dark"},$=_("Back"),q={class:"mb-1 row"},F={class:"col"},H={class:"row"},L=t(()=>o("label",{for:"suppplier_id",class:"col-sm-3 col-form-label"},"Supplier ID",-1)),j={class:"col-sm-8"},G=["value"],J={class:"col"},K={class:"row mb-1"},M=t(()=>o("label",{for:"service_date",class:"col-sm-3 col-form-label"},"Service Date",-1)),Q={class:"col-sm-8"},Z={class:"mb-1 row"},W={class:"col"},X={class:"row"},Y=t(()=>o("label",{for:"suppplier_name",class:"col-sm-3 col-form-label"},"Supplier Name",-1)),oo={class:"col-sm-8"},eo=["value"],so={class:"col"},to={class:"row mb-1"},lo=t(()=>o("label",{for:"invoice_date",class:"col-sm-3 col-form-label"},"Invoice Date",-1)),co={class:"col-sm-8"},ao={class:"mb-1 row"},io=t(()=>o("div",{class:"col"},null,-1)),no={class:"col"},ro={class:"row mb-1"},_o=t(()=>o("label",{for:"due_date",class:"col-sm-3 col-form-label"},"Due Date",-1)),uo={class:"col-sm-8"},po={class:"mb-1 row"},mo=t(()=>o("div",{class:"col"},null,-1)),vo={class:"col"},ho={class:"row"},bo=t(()=>o("label",{for:"invoice_terms",class:"col-sm-3 col-form-label"},"Invoice Terms",-1)),yo={class:"col-sm-8"},fo=["value"],xo={class:"mb-1 row"},wo={class:"col"},go={class:"accordion accordion-flush",id:"service-address-accordion"},Vo={class:"accordion-item"},Do=t(()=>o("h2",{class:"accordion-header ps-0"},[o("button",{class:"accordion-button",type:"button","data-bs-toggle":"collapse","data-bs-target":"#collapseOne","aria-expanded":"true","aria-controls":"collapseOne"}," Service Address ")],-1)),So={id:"collapseOne",class:"accordion-collapse collapse","data-bs-parent":"#service-address-accordion"},Io={class:"accordion-body"},ko={class:"row mb-1"},zo=t(()=>o("label",{for:"street",class:"col-sm-3 col-form-label"},"Street",-1)),No={class:"col-sm-8"},Bo=["value"],Co={class:"row mb-1"},Uo=t(()=>o("label",{for:"city",class:"col-sm-3 col-form-label"},"City",-1)),Po={class:"col-sm-8"},To=["value"],Ao={class:"row mb-1"},Ro=t(()=>o("label",{for:"state",class:"col-sm-3 col-form-label"},"State",-1)),Eo={class:"col-sm-8"},Oo=["value"],$o={class:"row mb-1"},qo=t(()=>o("label",{for:"zip_code",class:"col-sm-3 col-form-label"},"Zip Code",-1)),Fo={class:"col-sm-8"},Ho=["value"],Lo={class:"col"},jo={class:"accordion accordion-flush",id:"address-accordion"},Go={class:"accordion-item"},Jo=t(()=>o("h2",{class:"accordion-header ps-0"},[o("button",{class:"accordion-button",type:"button","data-bs-toggle":"collapse","data-bs-target":"#collapse-2","aria-expanded":"true","aria-controls":"collapse-2"}," Payment Reference and Notes ")],-1)),Ko={id:"collapse-2",class:"accordion-collapse collapse","data-bs-parent":"#address-accordion"},Mo={class:"accordion-body"},Qo={key:0,class:"row mb-1"},Zo=t(()=>o("label",{for:"payment_reference_no",class:"col-sm-4 col-form-label"},"Payment Reference",-1)),Wo={class:"col-sm-8"},Xo=["value"],Yo={key:1,class:"row mb-1"},oe=t(()=>o("label",{for:"payment_reference_date",class:"col-sm-4 col-form-label"},"Payment Date",-1)),ee={class:"col-sm-8"},se={class:"row mb-1"},te=t(()=>o("label",{for:"notes",class:"col-sm-4 col-form-label"},"Notes",-1)),le={class:"col-sm-8"},ce={key:0,class:"container"},ae={class:"table"},de=t(()=>o("thead",null,[o("tr",null,[o("th",{scope:"col"},"#"),o("th",{scope:"col",width:"30%"},"Service Type"),o("th",{scope:"col"},"Quantity"),o("th",{scope:"col"},"Rate"),o("th",{scope:"col"},"Amount")])],-1)),ie={class:"table-group-divider"},ne={scope:"row"},re=t(()=>o("i",{class:"bi bi-currency-dollar"},null,-1)),_e=t(()=>o("i",{class:"bi bi-currency-dollar"},null,-1)),ue={class:"container"},pe={class:"mb-1 row"},me=t(()=>o("div",{class:"col"},null,-1)),ve={class:"col"},he={class:"input-group"},be=t(()=>o("label",{for:"total_amount",class:"col-sm-3 col-form-label"},"Total Amount",-1)),ye={class:"cols-sm-5"},fe={class:"input-group"},xe=t(()=>o("span",{class:"input-group-text"},[o("i",{class:"bi bi-currency-dollar"})],-1)),we={props:{supplierInvoiceNumber:{type:String,required:!0}},setup(r){const s=y({doctype:"Invoices",name:r.supplierInvoiceNumber,auto:!0});return(Ve,c)=>{const v=z("router-link");return!e(s).loading&&e(s).doc?(n(),i("div",N,[o("div",B,[o("div",C,[o("div",U,[o("h1",P,[_(" Supplier Invoice: "+a(e(s).doc.name)+" ",1),d(e(f),null,{default:m(()=>[_(a(e(s).doc.status),1)]),_:1})])]),o("div",T,[o("div",A,[o("div",R,[o("div",E,[o("button",O,[d(v,{to:"/"},{default:m(()=>[$]),_:1})])])])])])]),o("div",{class:x(e(s).doc.supplier_invoice_items?"container border-bottom pb-3":"container pb-3")},[o("div",q,[o("div",F,[o("div",H,[L,o("div",j,[o("input",{type:"text",readonly:"",class:"form-control-plaintext",id:"suppplier_id",value:e(s).doc.supplier},null,8,G)])])]),o("div",J,[o("div",K,[M,o("div",Q,[d(u,{type:"date",size:"lg",variant:"outline",placeholder:"Payment Date",id:"service_date",disabled:!0,modelValue:e(s).doc.service_date,"onUpdate:modelValue":c[0]||(c[0]=l=>e(s).doc.service_date=l)},null,8,["modelValue"])])])])]),o("div",Z,[o("div",W,[o("div",X,[Y,o("div",oo,[o("input",{type:"text",readonly:"",class:"form-control-plaintext",id:"suppplier_name",value:e(s).doc.supplier_name},null,8,eo)])])]),o("div",so,[o("div",to,[lo,o("div",co,[d(u,{type:"date",size:"lg",variant:"outline",placeholder:"Invoice Date",id:"invoice_date",disabled:!0,modelValue:e(s).doc.invoice_date,"onUpdate:modelValue":c[1]||(c[1]=l=>e(s).doc.invoice_date=l)},null,8,["modelValue"])])])])]),o("div",ao,[io,o("div",no,[o("div",ro,[_o,o("div",uo,[d(u,{type:"date",size:"lg",variant:"outline",placeholder:"Due Date",id:"due_date",disabled:!0,modelValue:e(s).doc.due_date,"onUpdate:modelValue":c[2]||(c[2]=l=>e(s).doc.due_date=l)},null,8,["modelValue"])])])])]),o("div",po,[mo,o("div",vo,[o("div",ho,[bo,o("div",yo,[o("input",{type:"text",readonly:"",class:"form-control-plaintext h-100 d-inline-block",id:"invoice_terms",value:e(s).doc.invoice_terms},null,8,fo)])])])]),o("div",xo,[o("div",wo,[o("div",go,[o("div",Vo,[Do,o("div",So,[o("div",Io,[o("div",ko,[zo,o("div",No,[o("input",{type:"text",readonly:"",class:"form-control-plaintext",id:"street",value:e(s).doc.street},null,8,Bo)])]),o("div",Co,[Uo,o("div",Po,[o("input",{type:"text",readonly:"",class:"form-control-plaintext",id:"city",value:e(s).doc.city},null,8,To)])]),o("div",Ao,[Ro,o("div",Eo,[o("input",{type:"text",readonly:"",class:"form-control-plaintext",id:"state",value:e(s).doc.state},null,8,Oo)])]),o("div",$o,[qo,o("div",Fo,[o("input",{type:"text",readonly:"",class:"form-control-plaintext",id:"zip_code",value:e(s).doc.zip_code},null,8,Ho)])])])])])])]),o("div",Lo,[o("div",jo,[o("div",Go,[Jo,o("div",Ko,[o("div",Mo,[e(s).doc.payment_reference_no?(n(),i("div",Qo,[Zo,o("div",Wo,[o("input",{type:"text",readonly:"",class:"form-control-plaintext",id:"payment_reference_no",value:e(s).doc.payment_reference_no},null,8,Xo)])])):p("",!0),e(s).doc.payment_reference_date?(n(),i("div",Yo,[oe,o("div",ee,[d(u,{type:"date",size:"lg",variant:"outline",placeholder:"Payment Date",id:"payment_reference_date",disabled:!0,modelValue:e(s).doc.payment_reference_date,"onUpdate:modelValue":c[3]||(c[3]=l=>e(s).doc.payment_reference_date=l)},null,8,["modelValue"])])])):p("",!0),o("div",se,[te,o("div",le,[d(w,{variant:"subtle",size:"md",placeholder:"Enter Notes Here",disabled:!0,modelValue:e(s).doc.notes,"onUpdate:modelValue":c[4]||(c[4]=l=>e(s).doc.notes=l),label:"",id:"notes"},null,8,["modelValue"])])])])])])])])])],2),e(s).doc.supplier_invoice_items?(n(),i("div",ce,[o("table",ae,[de,o("tbody",ie,[(n(!0),i(g,null,V(e(s).doc.supplier_invoice_items,(l,h)=>(n(),i("tr",{key:l.name},[o("th",ne,a(h+1),1),o("td",null,a(l.service_type),1),o("td",null,a(l.quantity),1),o("td",null,[re,_(" "+a(l.rate),1)]),o("td",null,[_e,_(" "+a(l.amount),1)])]))),128))])])])):p("",!0),o("div",ue,[o("div",pe,[me,o("div",ve,[o("div",he,[be,o("div",ye,[o("div",fe,[xe,D(o("input",{type:"text",readonly:"",class:"form-control","onUpdate:modelValue":c[5]||(c[5]=l=>e(s).doc.total_amount=l)},null,512),[[S,e(s).doc.total_amount,void 0,{number:!0}]])])])])])])])])])):p("",!0)}}};var Se=b(we,[["__scopeId","data-v-145c3c9a"]]);export{Se as default};
diff --git a/suppliers_portal/public/supplier-portal/assets/SupplierInvoice.9dfb3ca8.css b/suppliers_portal/public/supplier-portal/assets/SupplierInvoice.9dfb3ca8.css
deleted file mode 100644
index 14746ff..0000000
--- a/suppliers_portal/public/supplier-portal/assets/SupplierInvoice.9dfb3ca8.css
+++ /dev/null
@@ -1 +0,0 @@
-.vr-aligned[data-v-145c3c9a]{vertical-align:middle}button.accordion-button[aria-expanded=true][data-v-145c3c9a]{color:#000}input.form-control-plaintext[data-v-145c3c9a]:focus,.input-group>input.form-control[data-v-145c3c9a]:focus,input.form-control[data-v-145c3c9a],.input-group>span[data-v-145c3c9a]{background-color:#fff;border-color:#fff;box-shadow:none}.disabled-date[data-v-145c3c9a]{color:#000;background:transparent;border:none!important;border-bottom:1px solid #ced4da!important}a[data-v-145c3c9a]{text-decoration:none;color:inherit}
diff --git a/suppliers_portal/public/supplier-portal/assets/SupplierInvoiceList.0fe6f3df.css b/suppliers_portal/public/supplier-portal/assets/SupplierInvoiceList.0fe6f3df.css
new file mode 100644
index 0000000..52a822d
--- /dev/null
+++ b/suppliers_portal/public/supplier-portal/assets/SupplierInvoiceList.0fe6f3df.css
@@ -0,0 +1 @@
+a[data-v-570396b7]{text-decoration:none;color:inherit}
diff --git a/suppliers_portal/public/supplier-portal/assets/SupplierInvoiceList.bd20c4e8.js b/suppliers_portal/public/supplier-portal/assets/SupplierInvoiceList.bd20c4e8.js
deleted file mode 100644
index 5359202..0000000
--- a/suppliers_portal/public/supplier-portal/assets/SupplierInvoiceList.bd20c4e8.js
+++ /dev/null
@@ -1 +0,0 @@
-import{_ as y,x as k,y as h,e as a,m as t,f as i,w as l,u as s,F as I,z as w,p as b,A as B,B as S,g,o as c,v as r,t as p,D as N}from"./vendor.99304cc5.js";import{s as d}from"./index.87704181.js";const _=u=>(B("data-v-6f6873f7"),u=u(),S(),u),L={class:"container-fluid"},C={class:"container mx-auto mt-5"},P={class:"row"},V=_(()=>t("div",{class:"col"},[t("h1",{class:"text-gray-900 font-bold text-[32px]"},"Invoices"),t("div",{class:"d-flex"},[t("div",null,[t("div",{class:"btn-group",role:"group","aria-label":"Basic example"})])])],-1)),j={class:"col"},$={class:"d-flex"},A={class:"ms-auto d-flex",style:{gap:"2px"}},D=_(()=>t("button",{type:"button",class:"btn btn-primary btn-dark"},"New",-1)),F={key:0,class:"container mx-auto mb-3 mt-5"},z={class:"table"},E=_(()=>t("thead",null,[t("tr",null,[t("th",{scope:"col"},"Invoice Number"),t("th",{scope:"col"},"Supplier"),t("th",{scope:"col"},"Status"),t("th",{scope:"col"},"Amount")])],-1)),M={class:"table-group-divider"},R=_(()=>t("i",{class:"bi bi-currency-dollar"},null,-1)),T={key:0,class:"flex justify-between mt-4"},q=r(" Previous Page "),G=r(" Next Page "),H={setup(u){k(()=>{window.location.origin==="https://accounting.seahavenind.com"&&window.location.replace("https://accounting.seahavenind.com/app")});let v={doctype:"Invoices",fields:["*"],orderBy:"creation desc",start:0,pageLength:5,auto:!0},o=null;return d.supplier_id&&d.isLoggedIn?(v.filters=[["supplier","=",d.supplier_id]],o=h(v)):o=h(v),o.fetch(),(J,n)=>{const m=g("router-link"),f=g("Button");return c(),a("div",L,[t("div",C,[t("div",P,[V,t("div",j,[t("div",$,[t("div",A,[i(m,{to:"/invoices/new"},{default:l(()=>[D]),_:1}),t("button",{type:"button",class:"btn btn-primary btn-dark",onClick:n[0]||(n[0]=(...e)=>s(d).logout.submit&&s(d).logout.submit(...e))}," Logout ")])])])]),s(o).data?(c(),a("div",F,[t("table",z,[E,t("tbody",M,[(c(!0),a(I,null,w(s(o).data,(e,x)=>(c(),a("tr",{key:x},[t("td",null,[i(m,{to:{name:"SupplierInvoice",params:{supplierInvoiceNumber:e.name}}},{default:l(()=>[r(p(e.name),1)]),_:2},1032,["to"])]),t("td",null,p(e.supplier),1),t("td",null,[i(s(N),null,{default:l(()=>[r(p(e.status),1)]),_:2},1024)]),t("td",null,[R,r(" "+p(e.total_amount),1)])]))),128))])])])):b("",!0)]),s(o).length>10?(c(),a("div",T,[i(f,{onClick:n[1]||(n[1]=e=>s(o).previous())},{default:l(()=>[q]),_:1}),i(f,{onClick:n[2]||(n[2]=e=>s(o).next())},{default:l(()=>[G]),_:1})])):b("",!0)])}}};var Q=y(H,[["__scopeId","data-v-6f6873f7"]]);export{Q as default};
diff --git a/suppliers_portal/public/supplier-portal/assets/SupplierInvoiceList.d20068c5.js b/suppliers_portal/public/supplier-portal/assets/SupplierInvoiceList.d20068c5.js
new file mode 100644
index 0000000..1cd0940
--- /dev/null
+++ b/suppliers_portal/public/supplier-portal/assets/SupplierInvoiceList.d20068c5.js
@@ -0,0 +1 @@
+import{_ as y,x as k,y as h,e as a,m as t,f as i,w as l,u as o,F as I,z as w,p as f,A as B,B as S,g,o as c,v as r,t as p,D as N}from"./vendor.3e69a9be.js";import{s as d}from"./index.a459834f.js";const _=u=>(B("data-v-570396b7"),u=u(),S(),u),L={class:"container-fluid"},C={class:"container mx-auto mt-5"},P={class:"row"},V=_(()=>t("div",{class:"col"},[t("h1",{class:"text-gray-900 font-bold text-[32px]"},"Invoices"),t("div",{class:"d-flex"},[t("div",null,[t("div",{class:"btn-group",role:"group","aria-label":"Basic example"})])])],-1)),j={class:"col"},$={class:"d-flex"},A={class:"ms-auto d-flex",style:{gap:"2px"}},D=_(()=>t("button",{type:"button",class:"btn btn-primary btn-dark"},"New",-1)),F={key:0,class:"container mx-auto mb-3 mt-5"},z={class:"table"},E=_(()=>t("thead",null,[t("tr",null,[t("th",{scope:"col"},"Invoice Number"),t("th",{scope:"col"},"Supplier"),t("th",{scope:"col"},"Status"),t("th",{scope:"col"},"Amount")])],-1)),M={class:"table-group-divider"},R=_(()=>t("i",{class:"bi bi-currency-dollar"},null,-1)),T={key:0,class:"flex justify-between mt-4"},q=r(" Previous Page "),G=r(" Next Page "),H={setup(u){k(()=>{window.location.origin==="https://accounting.seahavenind.com"&&window.location.replace("https://accounting.seahavenind.com/app")});let v={doctype:"Purchase Invoice",fields:["*"],orderBy:"creation desc",start:0,pageLength:5,auto:!0},s=null;return d.supplier_id&&d.isLoggedIn?(v.filters=[["supplier","=",d.supplier_id]],s=h(v)):s=h(v),s.fetch(),(J,n)=>{const m=g("router-link"),b=g("Button");return c(),a("div",L,[t("div",C,[t("div",P,[V,t("div",j,[t("div",$,[t("div",A,[i(m,{to:"/invoices/new"},{default:l(()=>[D]),_:1}),t("button",{type:"button",class:"btn btn-primary btn-dark",onClick:n[0]||(n[0]=(...e)=>o(d).logout.submit&&o(d).logout.submit(...e))},"Logout")])])])]),o(s).data?(c(),a("div",F,[t("table",z,[E,t("tbody",M,[(c(!0),a(I,null,w(o(s).data,(e,x)=>(c(),a("tr",{key:x},[t("td",null,[i(m,{to:{name:"SupplierInvoice",params:{supplierInvoiceNumber:e.name}}},{default:l(()=>[r(p(e.name),1)]),_:2},1032,["to"])]),t("td",null,p(e.supplier),1),t("td",null,[i(o(N),null,{default:l(()=>[r(p(e.status),1)]),_:2},1024)]),t("td",null,[R,r(" "+p(e.grand_total),1)])]))),128))])])])):f("",!0)]),o(s).length>10?(c(),a("div",T,[i(b,{onClick:n[1]||(n[1]=e=>o(s).previous())},{default:l(()=>[q]),_:1}),i(b,{onClick:n[2]||(n[2]=e=>o(s).next())},{default:l(()=>[G]),_:1})])):f("",!0)])}}};var Q=y(H,[["__scopeId","data-v-570396b7"]]);export{Q as default};
diff --git a/suppliers_portal/public/supplier-portal/assets/SupplierInvoiceList.e8de1e21.css b/suppliers_portal/public/supplier-portal/assets/SupplierInvoiceList.e8de1e21.css
deleted file mode 100644
index 03ba658..0000000
--- a/suppliers_portal/public/supplier-portal/assets/SupplierInvoiceList.e8de1e21.css
+++ /dev/null
@@ -1 +0,0 @@
-a[data-v-6f6873f7]{text-decoration:none;color:inherit}
diff --git a/suppliers_portal/public/supplier-portal/assets/index.87704181.js b/suppliers_portal/public/supplier-portal/assets/index.87704181.js
deleted file mode 100644
index 9432787..0000000
--- a/suppliers_portal/public/supplier-portal/assets/index.87704181.js
+++ /dev/null
@@ -1 +0,0 @@
-var h=(e,o,n)=>new Promise((s,r)=>{var t=p=>{try{a(n.next(p))}catch(g){r(g)}},c=p=>{try{a(n.throw(p))}catch(g){r(g)}},a=p=>p.done?s(p.value):Promise.resolve(p.value).then(t,c);a((n=n.apply(e,o)).next())});import{c as m,r as L,a as I,b as k,d as S,_ as y,e as E,f as P,g as b,o as C,h as R,s as T,i as w,j as $,C as U,I as j,k as O}from"./vendor.99304cc5.js";const A=function(){const o=document.createElement("link").relList;if(o&&o.supports&&o.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const t of r)if(t.type==="childList")for(const c of t.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&s(c)}).observe(document,{childList:!0,subtree:!0});function n(r){const t={};return r.integrity&&(t.integrity=r.integrity),r.referrerpolicy&&(t.referrerPolicy=r.referrerpolicy),r.crossorigin==="use-credentials"?t.credentials="include":r.crossorigin==="anonymous"?t.credentials="omit":t.credentials="same-origin",t}function s(r){if(r.ep)return;r.ep=!0;const t=n(r);fetch(r.href,t)}};A();const x="modulepreload",v={},N="/assets/suppliers_portal/supplier-portal/",d=function(o,n){return!n||n.length===0?o():Promise.all(n.map(s=>{if(s=`${N}${s}`,s in v)return;v[s]=!0;const r=s.endsWith(".css"),t=r?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${s}"]${t}`))return;const c=document.createElement("link");if(c.rel=r?"stylesheet":x,r||(c.as="script",c.crossOrigin=""),c.href=s,document.head.appendChild(c),r)return new Promise((a,p)=>{c.addEventListener("load",a),c.addEventListener("error",p)})})).then(()=>o())},_=m({url:"frappe.auth.get_logged_user",cache:"User",onError(e){e&&e.exc_type==="AuthenticationError"&&u.push({name:"LoginPage"})}});function f(){let o=new URLSearchParams(document.cookie.split("; ").join("&")).get("user_id");return o==="Guest"&&(o=null),o}function V(){return new URLSearchParams(document.cookie.split("; ").join("&")).get("supplier_id")}function D(){return new URLSearchParams(document.cookie.split("; ").join("&")).get("supplier_name")}const i=L({supplier_login:m({url:"suppliers_portal.suppliers_portal.api.validate_supplier_id",makeParams({supplier_id:e}){return{supplier_id:e}},onSuccess(e){e&&e.status==="success"&&(_.reload(),i.user=f(),document.cookie=`supplier_id=${e.supplier_id}`,document.cookie=`supplier_name=${e.supplier_name}`,i.supplier_id=e.supplier_id,i.supplier_name=e.supplier_name,i.login.reset(),u.replace({name:"SupplierInvoiceList"}))},onError(e){console.error("Login failed",e)}}),login:m({url:"login",makeParams({email:e,password:o}){return{usr:e,pwd:o}},onSuccess(e){e&&(_.reload(),i.user=f(),document.cookie=`supplier_id=${i.supplier_id}; expires=Thu, 01 Jan 1970 00:00:00 UTC'`,document.cookie=`supplier_id=${i.supplier_name}; expires=Thu, 01 Jan 1970 00:00:00 UTC'`,i.supplier_id="",i.supplier_name="",i.login.reset(),u.replace({name:"SupplierInvoiceList"}))},onError(e){console.error("Login failed",e)}}),logout:m({url:"logout",onSuccess(){document.cookie=`supplier_id=${i.supplier_id}; expires=Thu, 01 Jan 1970 00:00:00 UTC'`,document.cookie=`supplier_id=${i.supplier_name}; expires=Thu, 01 Jan 1970 00:00:00 UTC'`,i.supplier_id="",i.supplier_name="",_.reset(),i.user=f(),u.replace({name:"Login"})}}),user:f(),supplier_id:V(),supplier_name:D(),isLoggedIn:I(()=>!!i.user)}),J=[{name:"Login",path:"/login",component:()=>d(()=>import("./Login.14c1625b.js"),["assets/Login.14c1625b.js","assets/vendor.99304cc5.js","assets/vendor.52e2d7c1.css"])},{name:"SupplierInvoiceList",path:"/",component:()=>d(()=>import("./SupplierInvoiceList.bd20c4e8.js"),["assets/SupplierInvoiceList.bd20c4e8.js","assets/SupplierInvoiceList.e8de1e21.css","assets/vendor.99304cc5.js","assets/vendor.52e2d7c1.css"])},{name:"SupplierInvoice",path:"/invoices/:supplierInvoiceNumber",component:()=>d(()=>import("./SupplierInvoice.77908b92.js"),["assets/SupplierInvoice.77908b92.js","assets/SupplierInvoice.9dfb3ca8.css","assets/vendor.99304cc5.js","assets/vendor.52e2d7c1.css"]),props:!0},{name:"SupplierInvoiceCreate",path:"/invoices/new",component:()=>d(()=>import("./NewInvoice.632d4fad.js"),["assets/NewInvoice.632d4fad.js","assets/NewInvoice.67c196f0.css","assets/vendor.99304cc5.js","assets/vendor.52e2d7c1.css"])}];let u=k({history:S("/supplier-portal"),routes:J});u.beforeEach((e,o,n)=>h(void 0,null,function*(){let s=i.isLoggedIn;try{yield _.promise}catch(r){s=!1}console.log("isLoggedIn",s),console.log("to",e),console.log("from",o),e.name==="Login"&&s?n({name:"SupplierInvoiceList"}):e.name!=="Login"&&!s?n({name:"Login"}):n()}));const q={};function B(e,o){const n=b("router-view");return C(),E("div",null,[P(n)])}var F=y(q,[["render",B]]);let l=R(F);T("resourceFetcher",O);l.use(u);l.use(w);l.component("Button",$);l.component("Card",U);l.component("Input",j);l.mount("#app");export{f as a,V as b,D as c,u as r,i as s};
diff --git a/suppliers_portal/public/supplier-portal/assets/index.a459834f.js b/suppliers_portal/public/supplier-portal/assets/index.a459834f.js
new file mode 100644
index 0000000..831bc80
--- /dev/null
+++ b/suppliers_portal/public/supplier-portal/assets/index.a459834f.js
@@ -0,0 +1 @@
+var h=(e,s,i)=>new Promise((n,r)=>{var t=c=>{try{l(i.next(c))}catch(g){r(g)}},p=c=>{try{l(i.throw(c))}catch(g){r(g)}},l=c=>c.done?n(c.value):Promise.resolve(c.value).then(t,p);l((i=i.apply(e,s)).next())});import{c as m,r as L,a as k,b as I,d as S,_ as y,e as E,f as P,g as b,o as C,h as R,s as T,i as w,j as $,C as U,I as j,k as O}from"./vendor.3e69a9be.js";const A=function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))n(r);new MutationObserver(r=>{for(const t of r)if(t.type==="childList")for(const p of t.addedNodes)p.tagName==="LINK"&&p.rel==="modulepreload"&&n(p)}).observe(document,{childList:!0,subtree:!0});function i(r){const t={};return r.integrity&&(t.integrity=r.integrity),r.referrerpolicy&&(t.referrerPolicy=r.referrerpolicy),r.crossorigin==="use-credentials"?t.credentials="include":r.crossorigin==="anonymous"?t.credentials="omit":t.credentials="same-origin",t}function n(r){if(r.ep)return;r.ep=!0;const t=i(r);fetch(r.href,t)}};A();const x="modulepreload",v={},N="/assets/suppliers_portal/supplier-portal/",d=function(s,i){return!i||i.length===0?s():Promise.all(i.map(n=>{if(n=`${N}${n}`,n in v)return;v[n]=!0;const r=n.endsWith(".css"),t=r?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${n}"]${t}`))return;const p=document.createElement("link");if(p.rel=r?"stylesheet":x,r||(p.as="script",p.crossOrigin=""),p.href=n,document.head.appendChild(p),r)return new Promise((l,c)=>{p.addEventListener("load",l),p.addEventListener("error",c)})})).then(()=>s())},_=m({url:"frappe.auth.get_logged_user",cache:"User",onError(e){e&&e.exc_type==="AuthenticationError"&&u.push({name:"LoginPage"})}});function f(){let s=new URLSearchParams(document.cookie.split("; ").join("&")).get("user_id");return s==="Guest"&&(s=null),s}function V(){return new URLSearchParams(document.cookie.split("; ").join("&")).get("supplier_id")}function D(){return new URLSearchParams(document.cookie.split("; ").join("&")).get("supplier_name")}const o=L({supplier_login:m({url:"suppliers_portal.suppliers_portal.api.validate_supplier_id",makeParams({supplier_id:e}){return{supplier_id:e}},onSuccess(e){e&&e.status==="success"&&(_.reload(),o.user=f(),document.cookie=`supplier_id=${e.supplier_id}`,document.cookie=`supplier_name=${e.supplier_name}`,o.supplier_id=e.supplier_id,o.supplier_name=e.supplier_name,o.login.reset(),u.replace({name:"SupplierInvoiceList"}))},onError(e){console.error("Login failed",e)}}),login:m({url:"login",makeParams({email:e,password:s}){return{usr:e,pwd:s}},onSuccess(e){e&&(_.reload(),o.user=f(),document.cookie=`supplier_id=${o.supplier_id}; expires=Thu, 01 Jan 1970 00:00:00 UTC'`,document.cookie=`supplier_id=${o.supplier_name}; expires=Thu, 01 Jan 1970 00:00:00 UTC'`,o.supplier_id="",o.supplier_name="",o.login.reset(),u.replace({name:"SupplierInvoiceList"}))},onError(e){console.error("Login failed",e)}}),logout:m({url:"logout",onSuccess(){document.cookie=`supplier_id=${o.supplier_id}; expires=Thu, 01 Jan 1970 00:00:00 UTC'`,document.cookie=`supplier_id=${o.supplier_name}; expires=Thu, 01 Jan 1970 00:00:00 UTC'`,o.supplier_id="",o.supplier_name="",_.reset(),o.user=f(),u.replace({name:"Login"})}}),user:f(),supplier_id:V(),supplier_name:D(),isLoggedIn:k(()=>!!o.user)}),J=[{name:"Login",path:"/login",component:()=>d(()=>import("./Login.2ab92036.js"),["assets/Login.2ab92036.js","assets/vendor.3e69a9be.js","assets/vendor.43acabc4.css"])},{name:"SupplierInvoiceList",path:"/",component:()=>d(()=>import("./SupplierInvoiceList.d20068c5.js"),["assets/SupplierInvoiceList.d20068c5.js","assets/SupplierInvoiceList.0fe6f3df.css","assets/vendor.3e69a9be.js","assets/vendor.43acabc4.css"])},{name:"SupplierInvoice",path:"/invoices/:supplierInvoiceNumber",component:()=>d(()=>import("./SupplierInvoice.6fa41666.js"),["assets/SupplierInvoice.6fa41666.js","assets/SupplierInvoice.062d709e.css","assets/vendor.3e69a9be.js","assets/vendor.43acabc4.css"]),props:!0},{name:"SupplierInvoiceCreate",path:"/invoices/new",component:()=>d(()=>import("./NewInvoice.15ff173a.js"),["assets/NewInvoice.15ff173a.js","assets/NewInvoice.e56a66d4.css","assets/vendor.3e69a9be.js","assets/vendor.43acabc4.css"])}];let u=I({history:S("/supplier-portal"),routes:J});u.beforeEach((e,s,i)=>h(void 0,null,function*(){let n=o.isLoggedIn;try{yield _.promise}catch(r){n=!1}e.name==="Login"&&n?i({name:"SupplierInvoiceList"}):e.name!=="Login"&&!n?i({name:"Login"}):i()}));const q={};function B(e,s){const i=b("router-view");return C(),E("div",null,[P(i)])}var F=y(q,[["render",B]]);let a=R(F);T("resourceFetcher",O);a.use(u);a.use(w);a.component("Button",$);a.component("Card",U);a.component("Input",j);a.mount("#app");export{f as a,V as b,D as c,u as r,o as s};
diff --git a/suppliers_portal/public/supplier-portal/assets/vendor.99304cc5.js b/suppliers_portal/public/supplier-portal/assets/vendor.3e69a9be.js
similarity index 99%
rename from suppliers_portal/public/supplier-portal/assets/vendor.99304cc5.js
rename to suppliers_portal/public/supplier-portal/assets/vendor.3e69a9be.js
index 063c153..5b0f437 100644
--- a/suppliers_portal/public/supplier-portal/assets/vendor.99304cc5.js
+++ b/suppliers_portal/public/supplier-portal/assets/vendor.3e69a9be.js
@@ -36,7 +36,7 @@ var FT=Object.defineProperty,HT=Object.defineProperties;var VT=Object.getOwnProp
`,Jj="\uFE0F",Kj="\u200D";let Ah=null,Oh=null;function Uj(n){n===void 0&&(n=[]);const e={};$n.groups=e;const t=new $n;Ah==null&&(Ah=O_(Bj)),Oh==null&&(Oh=O_(jj)),re(t,"'",ph),re(t,"{",la),re(t,"[",ru),re(t,"<",iu),re(t,"(",su),re(t,"}",Vo),re(t,"]",aa),re(t,">",ca),re(t,")",Wo),re(t,"&",hh),re(t,"*",mh),re(t,"@",Ss),re(t,"`",yh),re(t,"^",vh),re(t,":",ks),re(t,",",D0),re(t,"$",bh),re(t,".",si),re(t,"=",wh),re(t,"!",P0),re(t,"-",oi),re(t,"%",xh),re(t,"|",Sh),re(t,"+",kh),re(t,"#",Eh),re(t,"?",Ch),re(t,'"',L0),re(t,"/",li),re(t,";",$0),re(t,"~",ou),re(t,"_",_h),re(t,"\\",gh);const r=xr(t,j0,R0,{[C0]:!0});xr(r,j0,r);const i=xr(t,ua,Mi,{[_0]:!0});xr(i,ua,i);const s=xr(t,z0,O0,{[T0]:!0});xr(s,ua),xr(s,z0,s);const o=xr(t,T_,E_,{[S_]:!0});re(t,A_,I0,{[S_]:!0}),re(o,A_),xr(o,T_,o);const l=xr(t,B0,C_,{[x_]:!0});xr(l,B0,l),re(l,Jj,l);const a=re(l,Kj);xr(a,B0,l);const c=[[ua,i]],u=[[ua,null],[z0,s]];for(let d=0;dd[0]>f[0]?1:-1);for(let d=0;d=0?m[A0]=!0:ua.test(f)?j0.test(f)?m[uh]=!0:m[_0]=!0:m[C0]=!0,k_(t,f,f,m)}return k_(t,"localhost",nu,{ascii:!0}),t.jd=new $n(Th),{start:t,tokens:sa({groups:e},__)}}function qj(n,e){const t=Gj(e.replace(/[A-Z]/g,l=>l.toLowerCase())),r=t.length,i=[];let s=0,o=0;for(;o=0&&(d+=t[o].length,f++),c+=t[o].length,s+=t[o].length,o++;s-=d,o-=f,c-=d,i.push({t:u.t,v:e.slice(s-c,s),s:s-c,e:s})}return i}function Gj(n){const e=[],t=n.length;let r=0;for(;r56319||r+1===t||(s=n.charCodeAt(r+1))<56320||s>57343?n[r]:n.slice(r,r+2);e.push(o),r+=o.length}return e}function Es(n,e,t,r,i){let s;const o=e.length;for(let l=0;l=0;)s++;if(s>0){e.push(t.join(""));for(let o=parseInt(n.substring(r,r+s),10);o>0;o--)t.pop();r+=s}else t.push(n[r]),r++}return e}const lu={defaultProtocol:"http",events:null,format:M_,formatHref:M_,nl2br:!1,tagName:"a",target:null,rel:null,validate:!0,truncate:1/0,className:null,attributes:null,ignoreTags:[],render:null};function F0(n,e){e===void 0&&(e=null);let t=sa({},lu);n&&(t=sa(t,n instanceof F0?n.o:n));const r=t.ignoreTags,i=[];for(let s=0;st?r.substring(0,t)+"\u2026":r},toFormattedHref(n){return n.get("formatHref",this.toHref(n.get("defaultProtocol")),this)},startIndex(){return this.tk[0].s},endIndex(){return this.tk[this.tk.length-1].e},toObject(n){return n===void 0&&(n=lu.defaultProtocol),{type:this.t,value:this.toString(),isLink:this.isLink,href:this.toHref(n),start:this.startIndex(),end:this.endIndex()}},toFormattedObject(n){return{type:this.t,value:this.toFormattedString(n),isLink:this.isLink,href:this.toFormattedHref(n),start:this.startIndex(),end:this.endIndex()}},validate(n){return n.get("validate",this.toString(),this)},render(n){const e=this,t=this.toHref(n.get("defaultProtocol")),r=n.get("formatHref",t,this),i=n.get("tagName",t,e),s=this.toFormattedString(n),o={},l=n.get("className",t,e),a=n.get("target",t,e),c=n.get("rel",t,e),u=n.getObj("attributes",t,e),d=n.getObj("events",t,e);return o.href=r,l&&(o.class=l),a&&(o.target=a),c&&(o.rel=c),u&&sa(o,u),{tagName:i,attributes:o,content:s,eventListeners:d}}};function Mh(n,e){class t extends N_{constructor(i,s){super(i,s);this.t=n}}for(const r in e)t.prototype[r]=e[r];return t.t=n,t}const R_=Mh("email",{isLink:!0,toHref(){return"mailto:"+this.toString()}}),I_=Mh("text"),Yj=Mh("nl"),Jo=Mh("url",{isLink:!0,toHref(n){return n===void 0&&(n=lu.defaultProtocol),this.hasProtocol()?this.v:`${n}://${this.v}`},hasProtocol(){const n=this.tk;return n.length>=2&&n[0].t!==nu&&n[1].t===ks}}),tn=n=>new $n(n);function Xj(n){let{groups:e}=n;const t=e.domain.concat([hh,mh,Ss,gh,yh,vh,bh,wh,oi,R0,xh,Sh,kh,Eh,li,Th,ou,_h]),r=[ph,ca,Vo,aa,Wo,ks,D0,si,P0,iu,la,ru,su,Ch,L0,$0],i=[hh,ph,mh,gh,yh,vh,Vo,bh,wh,oi,la,xh,Sh,kh,Eh,Ch,li,Th,ou,_h],s=tn(),o=re(s,ou);xe(o,i,o),xe(o,e.domain,o);const l=tn(),a=tn(),c=tn();xe(s,e.domain,l),xe(s,e.scheme,a),xe(s,e.slashscheme,c),xe(l,i,o),xe(l,e.domain,l);const u=re(l,Ss);re(o,Ss,u),re(a,Ss,u),re(c,Ss,u);const d=re(o,si);xe(d,i,o),xe(d,e.domain,o);const f=tn();xe(u,e.domain,f),xe(f,e.domain,f);const p=re(f,si);xe(p,e.domain,f);const m=tn(R_);xe(p,e.tld,m),xe(p,e.utld,m),re(u,nu,m);const v=re(f,oi);xe(v,e.domain,f),xe(m,e.domain,f),re(m,si,p),re(m,oi,v);const b=re(m,ks);xe(b,e.numeric,R_);const w=re(l,oi),S=re(l,si);xe(w,e.domain,l),xe(S,i,o),xe(S,e.domain,l);const C=tn(Jo);xe(S,e.tld,C),xe(S,e.utld,C),xe(C,e.domain,l),xe(C,i,o),re(C,si,S),re(C,oi,w),re(C,Ss,u);const h=re(C,ks),y=tn(Jo);xe(h,e.numeric,y);const g=tn(Jo),x=tn();xe(g,t,g),xe(g,r,x),xe(x,t,g),xe(x,r,x),re(C,li,g),re(y,li,g);const k=re(a,ks),_=re(c,ks),E=re(_,li),A=re(E,li);xe(a,e.domain,l),re(a,si,S),re(a,oi,w),xe(c,e.domain,l),re(c,si,S),re(c,oi,w),xe(k,e.domain,g),re(k,li,g),xe(A,e.domain,g),xe(A,t,g),re(A,li,g);const M=re(g,la),N=re(g,ru),D=re(g,iu),P=re(g,su);re(x,la,M),re(x,ru,N),re(x,iu,D),re(x,su,P),re(M,Vo,g),re(N,aa,g),re(D,ca,g),re(P,Wo,g),re(M,Vo,g);const T=tn(Jo),R=tn(Jo),z=tn(Jo),W=tn(Jo);xe(M,t,T),xe(N,t,R),xe(D,t,z),xe(P,t,W);const le=tn(),J=tn(),ae=tn(),ye=tn();return xe(M,r),xe(N,r),xe(D,r),xe(P,r),xe(T,t,T),xe(R,t,R),xe(z,t,z),xe(W,t,W),xe(T,r,T),xe(R,r,R),xe(z,r,z),xe(W,r,W),xe(le,t,le),xe(J,t,R),xe(ae,t,z),xe(ye,t,W),xe(le,r,le),xe(J,r,J),xe(ae,r,ae),xe(ye,r,ye),re(R,aa,g),re(z,ca,g),re(W,Wo,g),re(T,Vo,g),re(J,aa,g),re(ae,ca,g),re(ye,Wo,g),re(le,Wo,g),re(s,nu,C),re(s,I0,Yj),{start:s,tokens:__}}function Qj(n,e,t){let r=t.length,i=0,s=[],o=[];for(;i=0&&f++,i++,u++;if(f<0)i-=u,i0&&(s.push(H0(I_,e,o)),o=[]),i-=f,u-=f;const p=d.t,m=t.slice(i-u,i);s.push(H0(p,e,m))}}return o.length>0&&s.push(H0(I_,e,o)),s}function H0(n,e,t){const r=t[0].s,i=t[t.length-1].e,s=e.slice(r,i);return new n(s,t)}const Zj=typeof console!="undefined"&&console&&console.warn||(()=>{}),e7="until manual call of linkify.init(). Register all schemes and plugins before invoking linkify the first time.",Ct={scanner:null,parser:null,tokenQueue:[],pluginQueue:[],customSchemes:[],initialized:!1};function t7(){$n.groups={},Ct.scanner=null,Ct.parser=null,Ct.tokenQueue=[],Ct.pluginQueue=[],Ct.customSchemes=[],Ct.initialized=!1}function D_(n,e){if(e===void 0&&(e=!1),Ct.initialized&&Zj(`linkifyjs: already initialized - will not register custom scheme "${n}" ${e7}`),!/^[0-9a-z]+(-[0-9a-z]+)*$/.test(n))throw new Error(`linkifyjs: incorrect scheme format.
1. Must only contain digits, lowercase ASCII letters or "-"
2. Cannot start or end with "-"
- 3. "-" cannot repeat`);Ct.customSchemes.push([n,e])}function n7(){Ct.scanner=Uj(Ct.customSchemes);for(let n=0;n{const i=e.some(c=>c.docChanged)&&!t.doc.eq(r.doc),s=e.some(c=>c.getMeta("preventAutolink"));if(!i||s)return;const{tr:o}=r,l=W5(t.doc,[...e]);if(X5(l).forEach(({newRange:c})=>{const u=K5(r.doc,c,p=>p.isTextblock);let d,f;if(u.length>1?(d=u[0],f=r.doc.textBetween(d.pos,d.pos+d.node.nodeSize,void 0," ")):u.length&&r.doc.textBetween(c.from,c.to," "," ").endsWith(" ")&&(d=u[0],f=r.doc.textBetween(d.pos,c.to,void 0," ")),d&&f){const p=f.split(" ").filter(w=>w!=="");if(p.length<=0)return!1;const m=p[p.length-1],v=d.pos+f.lastIndexOf(m);if(!m)return!1;const b=P_(m).map(w=>w.toObject(n.defaultProtocol));if(!r7(b))return!1;b.filter(w=>w.isLink).map(w=>ue(L({},w),{from:v+w.start+1,to:v+w.end+1})).filter(w=>r.schema.marks.code?!r.doc.rangeHasMark(w.from,w.to,r.schema.marks.code):!0).filter(w=>n.validate(w.value)).forEach(w=>{O1(w.from,w.to,r.doc).some(S=>S.mark.type===n.type)||o.addMark(w.from,w.to,n.type.create({href:w.href}))})}}),!!o.steps.length)return o}})}function s7(n){return new Jn({key:new Nn("handleClickLink"),props:{handleClick:(e,t,r)=>{var i,s;if(r.button!==0||!e.editable)return!1;let o=r.target;const l=[];for(;o.nodeName!=="DIV";)l.push(o),o=o.parentNode;if(!l.find(f=>f.nodeName==="A"))return!1;const a=q5(e.state,n.type.name),c=r.target,u=(i=c==null?void 0:c.href)!==null&&i!==void 0?i:a.href,d=(s=c==null?void 0:c.target)!==null&&s!==void 0?s:a.target;return c&&u?(window.open(u,d),!0):!1}}})}function o7(n){return new Jn({key:new Nn("handlePasteLink"),props:{handlePaste:(e,t,r)=>{const{state:i}=e,{selection:s}=i,{empty:o}=s;if(o)return!1;let l="";r.content.forEach(c=>{l+=c.textContent});const a=L_(l,{defaultProtocol:n.defaultProtocol}).find(c=>c.isLink&&c.value===l);return!l||!a?!1:(n.editor.commands.setMark(n.type,{href:a.href}),!0)}}})}const l7=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g;function $_(n,e){const t=["http","https","ftp","ftps","mailto","tel","callto","sms","cid","xmpp"];return e&&e.forEach(r=>{const i=typeof r=="string"?r:r.scheme;i&&t.push(i)}),!n||n.replace(l7,"").match(new RegExp(`^(?:(?:${t.join("|")}):|[^a-z]|[a-z+.-]+(?:[^a-z+.-:]|$))`,"i"))}const eX=pr.create({name:"link",priority:1e3,keepOnSplit:!1,exitable:!0,onCreate(){this.options.protocols.forEach(n=>{if(typeof n=="string"){D_(n);return}D_(n.scheme,n.optionalSlashes)})},onDestroy(){t7()},inclusive(){return this.options.autolink},addOptions(){return{openOnClick:!0,linkOnPaste:!0,autolink:!0,protocols:[],defaultProtocol:"http",HTMLAttributes:{target:"_blank",rel:"noopener noreferrer nofollow",class:null},validate:n=>!!n}},addAttributes(){return{href:{default:null,parseHTML(n){return n.getAttribute("href")}},target:{default:this.options.HTMLAttributes.target},rel:{default:this.options.HTMLAttributes.rel},class:{default:this.options.HTMLAttributes.class}}},parseHTML(){return[{tag:"a[href]",getAttrs:n=>{const e=n.getAttribute("href");return!e||!$_(e,this.options.protocols)?!1:null}}]},renderHTML({HTMLAttributes:n}){return $_(n.href,this.options.protocols)?["a",tt(this.options.HTMLAttributes,n),0]:["a",tt(this.options.HTMLAttributes,ue(L({},n),{href:""})),0]},addCommands(){return{setLink:n=>({chain:e})=>e().setMark(this.name,n).setMeta("preventAutolink",!0).run(),toggleLink:n=>({chain:e})=>e().toggleMark(this.name,n,{extendEmptyMarkRange:!0}).setMeta("preventAutolink",!0).run(),unsetLink:()=>({chain:n})=>n().unsetMark(this.name,{extendEmptyMarkRange:!0}).setMeta("preventAutolink",!0).run()}},addPasteRules(){return[ps({find:n=>{const e=[];if(n){const{validate:t}=this.options,r=L_(n).filter(i=>i.isLink&&t(i.value));r.length&&r.forEach(i=>e.push({text:i.value,data:{href:i.href},index:i.start}))}return e},type:this.type,getAttributes:n=>{var e;return{href:(e=n.data)===null||e===void 0?void 0:e.href}}})]},addProseMirrorPlugins(){const n=[];return this.options.autolink&&n.push(i7({type:this.type,defaultProtocol:this.options.defaultProtocol,validate:this.options.validate})),this.options.openOnClick===!0&&n.push(s7({type:this.type})),this.options.linkOnPaste&&n.push(o7({editor:this.editor,defaultProtocol:this.options.defaultProtocol,type:this.type})),n}}),a7=n=>Mt({find:/--$/,replace:n!=null?n:"\u2014"}),c7=n=>Mt({find:/\.\.\.$/,replace:n!=null?n:"\u2026"}),u7=n=>Mt({find:/(?:^|[\s{[(<'"\u2018\u201C])(")$/,replace:n!=null?n:"\u201C"}),d7=n=>Mt({find:/"$/,replace:n!=null?n:"\u201D"}),f7=n=>Mt({find:/(?:^|[\s{[(<'"\u2018\u201C])(')$/,replace:n!=null?n:"\u2018"}),h7=n=>Mt({find:/'$/,replace:n!=null?n:"\u2019"}),p7=n=>Mt({find:/<-$/,replace:n!=null?n:"\u2190"}),m7=n=>Mt({find:/->$/,replace:n!=null?n:"\u2192"}),g7=n=>Mt({find:/\(c\)$/,replace:n!=null?n:"\xA9"}),y7=n=>Mt({find:/\(tm\)$/,replace:n!=null?n:"\u2122"}),v7=n=>Mt({find:/\(sm\)$/,replace:n!=null?n:"\u2120"}),b7=n=>Mt({find:/\(r\)$/,replace:n!=null?n:"\xAE"}),w7=n=>Mt({find:/(?:^|\s)(1\/2)\s$/,replace:n!=null?n:"\xBD"}),x7=n=>Mt({find:/\+\/-$/,replace:n!=null?n:"\xB1"}),S7=n=>Mt({find:/!=$/,replace:n!=null?n:"\u2260"}),k7=n=>Mt({find:/<<$/,replace:n!=null?n:"\xAB"}),E7=n=>Mt({find:/>>$/,replace:n!=null?n:"\xBB"}),C7=n=>Mt({find:/\d+\s?([*x])\s?\d+$/,replace:n!=null?n:"\xD7"}),_7=n=>Mt({find:/\^2$/,replace:n!=null?n:"\xB2"}),T7=n=>Mt({find:/\^3$/,replace:n!=null?n:"\xB3"}),A7=n=>Mt({find:/(?:^|\s)(1\/4)\s$/,replace:n!=null?n:"\xBC"}),O7=n=>Mt({find:/(?:^|\s)(3\/4)\s$/,replace:n!=null?n:"\xBE"}),tX=Qt.create({name:"typography",addOptions(){return{closeDoubleQuote:"\u201D",closeSingleQuote:"\u2019",copyright:"\xA9",ellipsis:"\u2026",emDash:"\u2014",laquo:"\xAB",leftArrow:"\u2190",multiplication:"\xD7",notEqual:"\u2260",oneHalf:"\xBD",oneQuarter:"\xBC",openDoubleQuote:"\u201C",openSingleQuote:"\u2018",plusMinus:"\xB1",raquo:"\xBB",registeredTrademark:"\xAE",rightArrow:"\u2192",servicemark:"\u2120",superscriptThree:"\xB3",superscriptTwo:"\xB2",threeQuarters:"\xBE",trademark:"\u2122"}},addInputRules(){const n=[];return this.options.emDash!==!1&&n.push(a7(this.options.emDash)),this.options.ellipsis!==!1&&n.push(c7(this.options.ellipsis)),this.options.openDoubleQuote!==!1&&n.push(u7(this.options.openDoubleQuote)),this.options.closeDoubleQuote!==!1&&n.push(d7(this.options.closeDoubleQuote)),this.options.openSingleQuote!==!1&&n.push(f7(this.options.openSingleQuote)),this.options.closeSingleQuote!==!1&&n.push(h7(this.options.closeSingleQuote)),this.options.leftArrow!==!1&&n.push(p7(this.options.leftArrow)),this.options.rightArrow!==!1&&n.push(m7(this.options.rightArrow)),this.options.copyright!==!1&&n.push(g7(this.options.copyright)),this.options.trademark!==!1&&n.push(y7(this.options.trademark)),this.options.servicemark!==!1&&n.push(v7(this.options.servicemark)),this.options.registeredTrademark!==!1&&n.push(b7(this.options.registeredTrademark)),this.options.oneHalf!==!1&&n.push(w7(this.options.oneHalf)),this.options.plusMinus!==!1&&n.push(x7(this.options.plusMinus)),this.options.notEqual!==!1&&n.push(S7(this.options.notEqual)),this.options.laquo!==!1&&n.push(k7(this.options.laquo)),this.options.raquo!==!1&&n.push(E7(this.options.raquo)),this.options.multiplication!==!1&&n.push(C7(this.options.multiplication)),this.options.superscriptTwo!==!1&&n.push(_7(this.options.superscriptTwo)),this.options.superscriptThree!==!1&&n.push(T7(this.options.superscriptThree)),this.options.oneQuarter!==!1&&n.push(A7(this.options.oneQuarter)),this.options.threeQuarters!==!1&&n.push(O7(this.options.threeQuarters)),n}}),nX=pr.create({name:"textStyle",priority:101,addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"span",getAttrs:n=>n.hasAttribute("style")?{}:!1}]},renderHTML({HTMLAttributes:n}){return["span",tt(this.options.HTMLAttributes,n),0]},addCommands(){return{removeEmptyTextStyle:()=>({state:n,commands:e})=>{const t=jc(n,this.type);return Object.entries(t).some(([,i])=>!!i)?!0:e.unsetMark(this.name)}}}}),M7=/(?:^|\s)(==(?!\s+==)((?:[^=]+))==(?!\s+==))$/,N7=/(?:^|\s)(==(?!\s+==)((?:[^=]+))==(?!\s+==))/g,rX=pr.create({name:"highlight",addOptions(){return{multicolor:!1,HTMLAttributes:{}}},addAttributes(){return this.options.multicolor?{color:{default:null,parseHTML:n=>n.getAttribute("data-color")||n.style.backgroundColor,renderHTML:n=>n.color?{"data-color":n.color,style:`background-color: ${n.color}; color: inherit`}:{}}}:{}},parseHTML(){return[{tag:"mark"}]},renderHTML({HTMLAttributes:n}){return["mark",tt(this.options.HTMLAttributes,n),0]},addCommands(){return{setHighlight:n=>({commands:e})=>e.setMark(this.name,n),toggleHighlight:n=>({commands:e})=>e.toggleMark(this.name,n),unsetHighlight:()=>({commands:n})=>n.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-h":()=>this.editor.commands.toggleHighlight()}},addInputRules(){return[No({find:M7,type:this.type})]},addPasteRules(){return[ps({find:N7,type:this.type})]}}),iX=Qt.create({name:"color",addOptions(){return{types:["textStyle"]}},addGlobalAttributes(){return[{types:this.options.types,attributes:{color:{default:null,parseHTML:n=>{var e;return(e=n.style.color)===null||e===void 0?void 0:e.replace(/['"]+/g,"")},renderHTML:n=>n.color?{style:`color: ${n.color}`}:{}}}}]},addCommands(){return{setColor:n=>({chain:e})=>e().setMark("textStyle",{color:n}).run(),unsetColor:()=>({chain:n})=>n().setMark("textStyle",{color:null}).removeEmptyTextStyle().run()}}});function R7(n){var e;const{char:t,allowSpaces:r,allowedPrefixes:i,startOfLine:s,$position:o}=n,l=b$(t),a=new RegExp(`\\s${l}$`),c=s?"^":"",u=r?new RegExp(`${c}${l}.*?(?=\\s${l}|$)`,"gm"):new RegExp(`${c}(?:^)?${l}[^\\s${l}]*`,"gm"),d=((e=o.nodeBefore)===null||e===void 0?void 0:e.isText)&&o.nodeBefore.text;if(!d)return null;const f=o.pos-d.length,p=Array.from(d.matchAll(u)).pop();if(!p||p.input===void 0||p.index===void 0)return null;const m=p.input.slice(Math.max(0,p.index-1),p.index),v=new RegExp(`^[${i==null?void 0:i.join("")}\0]?$`).test(m);if(i!==null&&!v)return null;const b=f+p.index;let w=b+p[0].length;return r&&a.test(d.slice(w-1,w+1))&&(p[0]+=" ",w+=1),b=o.pos?{range:{from:b,to:w},query:p[0].slice(t.length),text:p[0]}:null}const I7=new Nn("suggestion");function D7({pluginKey:n=I7,editor:e,char:t="@",allowSpaces:r=!1,allowedPrefixes:i=[" "],startOfLine:s=!1,decorationTag:o="span",decorationClass:l="suggestion",command:a=()=>null,items:c=()=>[],render:u=()=>({}),allow:d=()=>!0,findSuggestionMatch:f=R7}){let p;const m=u==null?void 0:u(),v=new Jn({key:n,view(){return{update:(b,w)=>_t(this,null,function*(){var S,C,h,y,g,x,k;const _=(S=this.key)===null||S===void 0?void 0:S.getState(w),E=(C=this.key)===null||C===void 0?void 0:C.getState(b.state),A=_.active&&E.active&&_.range.from!==E.range.from,M=!_.active&&E.active,N=_.active&&!E.active,D=!M&&!N&&_.query!==E.query,P=M||A&&D,T=D||A,R=N||A&&D;if(!P&&!T&&!R)return;const z=R&&!P?_:E,W=b.dom.querySelector(`[data-decoration-id="${z.decorationId}"]`);p={editor:e,range:z.range,query:z.query,text:z.text,items:[],command:le=>a({editor:e,range:z.range,props:le}),decorationNode:W,clientRect:W?()=>{var le;const{decorationId:J}=(le=this.key)===null||le===void 0?void 0:le.getState(e.state),ae=b.dom.querySelector(`[data-decoration-id="${J}"]`);return(ae==null?void 0:ae.getBoundingClientRect())||null}:null},P&&((h=m==null?void 0:m.onBeforeStart)===null||h===void 0||h.call(m,p)),T&&((y=m==null?void 0:m.onBeforeUpdate)===null||y===void 0||y.call(m,p)),(T||P)&&(p.items=yield c({editor:e,query:z.query})),R&&((g=m==null?void 0:m.onExit)===null||g===void 0||g.call(m,p)),T&&((x=m==null?void 0:m.onUpdate)===null||x===void 0||x.call(m,p)),P&&((k=m==null?void 0:m.onStart)===null||k===void 0||k.call(m,p))}),destroy:()=>{var b;!p||(b=m==null?void 0:m.onExit)===null||b===void 0||b.call(m,p)}}},state:{init(){return{active:!1,range:{from:0,to:0},query:null,text:null,composing:!1}},apply(b,w,S,C){const{isEditable:h}=e,{composing:y}=e.view,{selection:g}=b,{empty:x,from:k}=g,_=L({},w);if(_.composing=y,h&&(x||e.view.composing)){(kw.range.to)&&!y&&!w.composing&&(_.active=!1);const E=f({char:t,allowSpaces:r,allowedPrefixes:i,startOfLine:s,$position:g.$from}),A=`id_${Math.floor(Math.random()*4294967295)}`;E&&d({editor:e,state:C,range:E.range,isActive:w.active})?(_.active=!0,_.decorationId=w.decorationId?w.decorationId:A,_.range=E.range,_.query=E.query,_.text=E.text):_.active=!1}else _.active=!1;return _.active||(_.decorationId=null,_.range={from:0,to:0},_.query=null,_.text=null),_}},props:{handleKeyDown(b,w){var S;const{active:C,range:h}=v.getState(b.state);return C&&((S=m==null?void 0:m.onKeyDown)===null||S===void 0?void 0:S.call(m,{view:b,event:w,range:h}))||!1},decorations(b){const{active:w,range:S,decorationId:C}=v.getState(b);return w?qt.create(b.doc,[Ar.inline(S.from,S.to,{nodeName:o,class:l,"data-decoration-id":C})]):null}}});return v}const P7=new Nn("mention"),sX=Et.create({name:"mention",addOptions(){return{HTMLAttributes:{},renderText({options:n,node:e}){var t;return`${n.suggestion.char}${(t=e.attrs.label)!==null&&t!==void 0?t:e.attrs.id}`},deleteTriggerWithBackspace:!1,renderHTML({options:n,node:e}){var t;return["span",tt(this.HTMLAttributes,n.HTMLAttributes),`${n.suggestion.char}${(t=e.attrs.label)!==null&&t!==void 0?t:e.attrs.id}`]},suggestion:{char:"@",pluginKey:P7,command:({editor:n,range:e,props:t})=>{var r,i,s;const o=n.view.state.selection.$to.nodeAfter;((r=o==null?void 0:o.text)===null||r===void 0?void 0:r.startsWith(" "))&&(e.to+=1),n.chain().focus().insertContentAt(e,[{type:this.name,attrs:t},{type:"text",text:" "}]).run(),(s=(i=n.view.dom.ownerDocument.defaultView)===null||i===void 0?void 0:i.getSelection())===null||s===void 0||s.collapseToEnd()},allow:({state:n,range:e})=>{const t=n.doc.resolve(e.from),r=n.schema.nodes[this.name];return!!t.parent.type.contentMatch.matchType(r)}}}},group:"inline",inline:!0,selectable:!1,atom:!0,addAttributes(){return{id:{default:null,parseHTML:n=>n.getAttribute("data-id"),renderHTML:n=>n.id?{"data-id":n.id}:{}},label:{default:null,parseHTML:n=>n.getAttribute("data-label"),renderHTML:n=>n.label?{"data-label":n.label}:{}}}},parseHTML(){return[{tag:`span[data-type="${this.name}"]`}]},renderHTML({node:n,HTMLAttributes:e}){if(this.options.renderLabel!==void 0)return console.warn("renderLabel is deprecated use renderText and renderHTML instead"),["span",tt({"data-type":this.name},this.options.HTMLAttributes,e),this.options.renderLabel({options:this.options,node:n})];const t=L({},this.options);t.HTMLAttributes=tt({"data-type":this.name},this.options.HTMLAttributes,e);const r=this.options.renderHTML({options:t,node:n});return typeof r=="string"?["span",tt({"data-type":this.name},this.options.HTMLAttributes,e),r]:r},renderText({node:n}){return this.options.renderLabel!==void 0?(console.warn("renderLabel is deprecated use renderText and renderHTML instead"),this.options.renderLabel({options:this.options,node:n})):this.options.renderText({options:this.options,node:n})},addKeyboardShortcuts(){return{Backspace:()=>this.editor.commands.command(({tr:n,state:e})=>{let t=!1;const{selection:r}=e,{empty:i,anchor:s}=r;return i?(e.doc.nodesBetween(s-1,s,(o,l)=>{if(o.type.name===this.name)return t=!0,n.insertText(this.options.deleteTriggerWithBackspace?"":this.options.suggestion.char||"",l,l+o.nodeSize),!1}),t):!1})}},addProseMirrorPlugins(){return[D7(L({editor:this.editor},this.options.suggestion))]}});const L7={},$7={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},z7=te("path",{fill:"none",d:"M0 0H24V24H0z"},null,-1),B7=te("path",{d:"M13 20h-2v-7H4v7H2V4h2v7h7V4h2v16zm8-12v12h-2v-9.796l-2 .536V8.67L19.5 8H21z",fill:"currentColor"},null,-1),j7=[z7,B7];function F7(n,e){return V(),oe("svg",$7,j7)}var H7=qe(L7,[["render",F7]]);const V7={},W7={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},J7=te("path",{fill:"none",d:"M0 0H24V24H0z"},null,-1),K7=te("path",{d:"M4 4v7h7V4h2v16h-2v-7H4v7H2V4h2zm14.5 4c2.071 0 3.75 1.679 3.75 3.75 0 .857-.288 1.648-.772 2.28l-.148.18L18.034 18H22v2h-7v-1.556l4.82-5.546c.268-.307.43-.709.43-1.148 0-.966-.784-1.75-1.75-1.75-.918 0-1.671.707-1.744 1.606l-.006.144h-2C14.75 9.679 16.429 8 18.5 8z",fill:"currentColor"},null,-1),U7=[J7,K7];function q7(n,e){return V(),oe("svg",W7,U7)}var G7=qe(V7,[["render",q7]]);const Y7={},X7={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},Q7=te("path",{fill:"none",d:"M0 0H24V24H0z"},null,-1),Z7=te("path",{d:"M22 8l-.002 2-2.505 2.883c1.59.435 2.757 1.89 2.757 3.617 0 2.071-1.679 3.75-3.75 3.75-1.826 0-3.347-1.305-3.682-3.033l1.964-.382c.156.806.866 1.415 1.718 1.415.966 0 1.75-.784 1.75-1.75s-.784-1.75-1.75-1.75c-.286 0-.556.069-.794.19l-1.307-1.547L19.35 10H15V8h7zM4 4v7h7V4h2v16h-2v-7H4v7H2V4h2z",fill:"currentColor"},null,-1),eF=[Q7,Z7];function tF(n,e){return V(),oe("svg",X7,eF)}var nF=qe(Y7,[["render",tF]]);const rF={},iF={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},sF=te("path",{fill:"none",d:"M0 0H24V24H0z"},null,-1),oF=te("path",{d:"M13 20h-2v-7H4v7H2V4h2v7h7V4h2v16zm9-12v8h1.5v2H22v2h-2v-2h-5.5v-1.34l5-8.66H22zm-2 3.133L17.19 16H20v-4.867z",fill:"currentColor"},null,-1),lF=[sF,oF];function aF(n,e){return V(),oe("svg",iF,lF)}var cF=qe(rF,[["render",aF]]);const uF={},dF={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},fF=te("path",{fill:"none",d:"M0 0H24V24H0z"},null,-1),hF=te("path",{d:"M22 8v2h-4.323l-.464 2.636c.33-.089.678-.136 1.037-.136 2.21 0 4 1.79 4 4s-1.79 4-4 4c-1.827 0-3.367-1.224-3.846-2.897l1.923-.551c.24.836 1.01 1.448 1.923 1.448 1.105 0 2-.895 2-2s-.895-2-2-2c-.63 0-1.193.292-1.56.748l-1.81-.904L16 8h6zM4 4v7h7V4h2v16h-2v-7H4v7H2V4h2z",fill:"currentColor"},null,-1),pF=[fF,hF];function mF(n,e){return V(),oe("svg",dF,pF)}var gF=qe(uF,[["render",mF]]);const yF={},vF={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},bF=te("path",{fill:"none",d:"M0 0H24V24H0z"},null,-1),wF=te("path",{d:"M21.097 8l-2.598 4.5c2.21 0 4.001 1.79 4.001 4s-1.79 4-4 4-4-1.79-4-4c0-.736.199-1.426.546-2.019L18.788 8h2.309zM4 4v7h7V4h2v16h-2v-7H4v7H2V4h2zm14.5 10.5c-1.105 0-2 .895-2 2s.895 2 2 2 2-.895 2-2-.895-2-2-2z",fill:"currentColor"},null,-1),xF=[bF,wF];function SF(n,e){return V(),oe("svg",vF,xF)}var kF=qe(yF,[["render",SF]]);const EF={},CF={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},_F=te("path",{fill:"none",d:"M0 0h24v24H0z"},null,-1),TF=te("path",{d:"M13 6v15h-2V6H5V4h14v2z",fill:"currentColor"},null,-1),AF=[_F,TF];function OF(n,e){return V(),oe("svg",CF,AF)}var MF=qe(EF,[["render",OF]]);const NF={},RF={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},IF=te("path",{fill:"none",d:"M0 0h24v24H0z"},null,-1),DF=te("path",{d:"M8 11h4.5a2.5 2.5 0 1 0 0-5H8v5zm10 4.5a4.5 4.5 0 0 1-4.5 4.5H6V4h6.5a4.5 4.5 0 0 1 3.256 7.606A4.498 4.498 0 0 1 18 15.5zM8 13v5h5.5a2.5 2.5 0 1 0 0-5H8z",fill:"currentColor"},null,-1),PF=[IF,DF];function LF(n,e){return V(),oe("svg",RF,PF)}var $F=qe(NF,[["render",LF]]);const zF={},BF={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},jF=te("path",{fill:"none",d:"M0 0h24v24H0z"},null,-1),FF=te("path",{d:"M15 20H7v-2h2.927l2.116-12H9V4h8v2h-2.927l-2.116 12H15z",fill:"currentColor"},null,-1),HF=[jF,FF];function VF(n,e){return V(),oe("svg",BF,HF)}var WF=qe(zF,[["render",VF]]);const JF={},KF={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},UF=te("path",{fill:"none",d:"M0 0h24v24H0z"},null,-1),qF=te("path",{d:"M8 3v9a4 4 0 1 0 8 0V3h2v9a6 6 0 1 1-12 0V3h2zM4 20h16v2H4v-2z",fill:"currentColor"},null,-1),GF=[UF,qF];function YF(n,e){return V(),oe("svg",KF,GF)}var XF=qe(JF,[["render",YF]]);const QF={},ZF={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},e9=te("path",{fill:"none",d:"M0 0h24v24H0z"},null,-1),t9=te("path",{d:"M3 4h18v2H3V4zm2 15h14v2H5v-2zm-2-5h18v2H3v-2zm2-5h14v2H5V9z",fill:"currentColor"},null,-1),n9=[e9,t9];function r9(n,e){return V(),oe("svg",ZF,n9)}var i9=qe(QF,[["render",r9]]);const s9={},o9={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},l9=te("path",{fill:"none",d:"M0 0h24v24H0z"},null,-1),a9=te("path",{d:"M3 4h18v2H3V4zm0 15h14v2H3v-2zm0-5h18v2H3v-2zm0-5h14v2H3V9z",fill:"currentColor"},null,-1),c9=[l9,a9];function u9(n,e){return V(),oe("svg",o9,c9)}var d9=qe(s9,[["render",u9]]);const f9={},h9={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},p9=te("path",{fill:"none",d:"M0 0h24v24H0z"},null,-1),m9=te("path",{d:"M3 4h18v2H3V4zm4 15h14v2H7v-2zm-4-5h18v2H3v-2zm4-5h14v2H7V9z",fill:"currentColor"},null,-1),g9=[p9,m9];function y9(n,e){return V(),oe("svg",h9,g9)}var v9=qe(f9,[["render",y9]]);const b9={},w9={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},x9=te("path",{fill:"none",d:"M0 0h24v24H0z"},null,-1),S9=te("path",{d:"M15.246 14H8.754l-1.6 4H5l6-15h2l6 15h-2.154l-1.6-4zm-.8-2L12 5.885 9.554 12h4.892zM3 20h18v2H3v-2z",fill:"currentColor"},null,-1),k9=[x9,S9];function E9(n,e){return V(),oe("svg",w9,k9)}var C9=qe(b9,[["render",E9]]);const _9={},T9={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},A9=te("path",{fill:"none",d:"M0 0h24v24H0z"},null,-1),O9=te("path",{d:"M8 4h13v2H8V4zM5 3v3h1v1H3V6h1V4H3V3h2zM3 14v-2.5h2V11H3v-1h3v2.5H4v.5h2v1H3zm2 5.5H3v-1h2V18H3v-1h3v4H3v-1h2v-.5zM8 11h13v2H8v-2zm0 7h13v2H8v-2z",fill:"currentColor"},null,-1),M9=[A9,O9];function N9(n,e){return V(),oe("svg",T9,M9)}var R9=qe(_9,[["render",N9]]);const I9={},D9={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},P9=te("path",{fill:"none",d:"M0 0h24v24H0z"},null,-1),L9=te("path",{d:"M8 4h13v2H8V4zM4.5 6.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm0 7a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm0 6.9a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zM8 11h13v2H8v-2zm0 7h13v2H8v-2z",fill:"currentColor"},null,-1),$9=[P9,L9];function z9(n,e){return V(),oe("svg",D9,$9)}var B9=qe(I9,[["render",z9]]);const j9={},F9={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},H9=te("path",{fill:"none",d:"M0 0h24v24H0z"},null,-1),V9=te("path",{d:"M19.417 6.679C20.447 7.773 21 9 21 10.989c0 3.5-2.457 6.637-6.03 8.188l-.893-1.378c3.335-1.804 3.987-4.145 4.247-5.621-.537.278-1.24.375-1.929.311-1.804-.167-3.226-1.648-3.226-3.489a3.5 3.5 0 0 1 3.5-3.5c1.073 0 2.099.49 2.748 1.179zm-10 0C10.447 7.773 11 9 11 10.989c0 3.5-2.457 6.637-6.03 8.188l-.893-1.378c3.335-1.804 3.987-4.145 4.247-5.621-.537.278-1.24.375-1.929.311C4.591 12.322 3.17 10.841 3.17 9a3.5 3.5 0 0 1 3.5-3.5c1.073 0 2.099.49 2.748 1.179z",fill:"currentColor"},null,-1),W9=[H9,V9];function J9(n,e){return V(),oe("svg",F9,W9)}var K9=qe(j9,[["render",J9]]);const U9={},q9={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},G9=te("path",{fill:"none",d:"M0 0h24v24H0z"},null,-1),Y9=te("path",{d:"M16.95 8.464l1.414-1.414 4.95 4.95-4.95 4.95-1.414-1.414L20.485 12 16.95 8.464zm-9.9 0L3.515 12l3.535 3.536-1.414 1.414L.686 12l4.95-4.95L7.05 8.464z",fill:"currentColor"},null,-1),X9=[G9,Y9];function Q9(n,e){return V(),oe("svg",q9,X9)}var Z9=qe(U9,[["render",Q9]]);const eH={},tH={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},nH=te("path",{fill:"none",d:"M0 0h24v24H0z"},null,-1),rH=te("path",{d:"M18.364 15.536L16.95 14.12l1.414-1.414a5 5 0 1 0-7.071-7.071L9.879 7.05 8.464 5.636 9.88 4.222a7 7 0 0 1 9.9 9.9l-1.415 1.414zm-2.828 2.828l-1.415 1.414a7 7 0 0 1-9.9-9.9l1.415-1.414L7.05 9.88l-1.414 1.414a5 5 0 1 0 7.071 7.071l1.414-1.414 1.415 1.414zm-.708-10.607l1.415 1.415-7.071 7.07-1.415-1.414 7.071-7.07z",fill:"currentColor"},null,-1),iH=[nH,rH];function sH(n,e){return V(),oe("svg",tH,iH)}var oH=qe(eH,[["render",sH]]);const lH={},aH={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},cH=te("path",{fill:"none",d:"M0 0h24v24H0z"},null,-1),uH=te("path",{d:"M21 15v3h3v2h-3v3h-2v-3h-3v-2h3v-3h2zm.008-12c.548 0 .992.445.992.993V13h-2V5H4v13.999L14 9l3 3v2.829l-3-3L6.827 19H14v2H2.992A.993.993 0 0 1 2 20.007V3.993A1 1 0 0 1 2.992 3h18.016zM8 7a2 2 0 1 1 0 4 2 2 0 0 1 0-4z",fill:"currentColor"},null,-1),dH=[cH,uH];function fH(n,e){return V(),oe("svg",aH,dH)}var hH=qe(lH,[["render",fH]]);const pH={},mH={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},gH=te("path",{fill:"none",d:"M0 0H24V24H0z"},null,-1),yH=te("path",{d:"M16 4c.552 0 1 .448 1 1v4.2l5.213-3.65c.226-.158.538-.103.697.124.058.084.09.184.09.286v12.08c0 .276-.224.5-.5.5-.103 0-.203-.032-.287-.09L17 14.8V19c0 .552-.448 1-1 1H2c-.552 0-1-.448-1-1V5c0-.552.448-1 1-1h14zm-1 2H3v12h12V6zM8 8h2v3h3v2H9.999L10 16H8l-.001-3H5v-2h3V8zm13 .841l-4 2.8v.718l4 2.8V8.84z",fill:"currentColor"},null,-1),vH=[gH,yH];function bH(n,e){return V(),oe("svg",mH,vH)}var wH=qe(pH,[["render",bH]]);const xH={},SH={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},kH=te("path",{fill:"none",d:"M0 0h24v24H0z"},null,-1),EH=te("path",{d:"M5.828 7l2.536 2.536L6.95 10.95 2 6l4.95-4.95 1.414 1.414L5.828 5H13a8 8 0 1 1 0 16H4v-2h9a6 6 0 1 0 0-12H5.828z",fill:"currentColor"},null,-1),CH=[kH,EH];function _H(n,e){return V(),oe("svg",SH,CH)}var TH=qe(xH,[["render",_H]]);const AH={},OH={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},MH=te("path",{fill:"none",d:"M0 0h24v24H0z"},null,-1),NH=te("path",{d:"M18.172 7H11a6 6 0 1 0 0 12h9v2h-9a8 8 0 1 1 0-16h7.172l-2.536-2.536L17.05 1.05 22 6l-4.95 4.95-1.414-1.414L18.172 7z",fill:"currentColor"},null,-1),RH=[MH,NH];function IH(n,e){return V(),oe("svg",OH,RH)}var DH=qe(AH,[["render",IH]]);const PH={},LH={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},$H=te("path",{fill:"none",d:"M0 0h24v24H0z"},null,-1),zH=te("path",{d:"M2 11h2v2H2v-2zm4 0h12v2H6v-2zm14 0h2v2h-2v-2z",fill:"currentColor"},null,-1),BH=[$H,zH];function jH(n,e){return V(),oe("svg",LH,BH)}var FH=qe(PH,[["render",jH]]);const HH={},VH={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},WH=te("path",{fill:"none",d:"M0 0h24v24H0z"},null,-1),JH=te("path",{d:"M13 10v4h6v-4h-6zm-2 0H5v4h6v-4zm2 9h6v-3h-6v3zm-2 0v-3H5v3h6zm2-14v3h6V5h-6zm-2 0H5v3h6V5zM4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z",fill:"currentColor"},null,-1),KH=[WH,JH];function UH(n,e){return V(),oe("svg",VH,KH)}var qH=qe(HH,[["render",UH]]),oX={Paragraph:{label:"Paragraph",icon:MF,action:n=>n.chain().focus().setParagraph().run(),isActive:n=>n.isActive("paragraph")},"Heading 1":{label:"Heading 1",text:"H1",icon:H7,action:n=>n.chain().focus().toggleHeading({level:1}).run(),isActive:n=>n.isActive("heading",{level:1})},"Heading 2":{label:"Heading 2",text:"H2",icon:G7,action:n=>n.chain().focus().toggleHeading({level:2}).run(),isActive:n=>n.isActive("heading",{level:2})},"Heading 3":{label:"Heading 3",text:"H3",icon:nF,action:n=>n.chain().focus().toggleHeading({level:3}).run(),isActive:n=>n.isActive("heading",{level:3})},"Heading 4":{label:"Heading 4",text:"H4",icon:cF,action:n=>n.chain().focus().toggleHeading({level:4}).run(),isActive:n=>n.isActive("heading",{level:4})},"Heading 5":{label:"Heading 5",text:"H5",icon:gF,action:n=>n.chain().focus().toggleHeading({level:5}).run(),isActive:n=>n.isActive("heading",{level:5})},"Heading 6":{label:"Heading 6",text:"H6",icon:kF,action:n=>n.chain().focus().toggleHeading({level:6}).run(),isActive:n=>n.isActive("heading",{level:6})},Bold:{label:"Bold",icon:$F,action:n=>n.chain().focus().toggleBold().run(),isActive:n=>n.isActive("bold")},Italic:{label:"Italic",icon:WF,action:n=>n.chain().focus().toggleItalic().run(),isActive:n=>n.isActive("italic")},Underline:{label:"Underline",icon:XF,action:n=>n.chain().focus().toggleUnderline().run(),isActive:n=>n.isActive("underline")},"Bullet List":{label:"Bullet List",icon:B9,action:n=>n.chain().focus().toggleBulletList().run(),isActive:n=>n.isActive("bulletList")},"Numbered List":{label:"Numbered List",icon:R9,action:n=>n.chain().focus().toggleOrderedList().run(),isActive:n=>n.isActive("orderedList")},"Align Center":{label:"Align Center",icon:i9,action:n=>n.chain().focus().setTextAlign("center").run(),isActive:n=>n.isActive({textAlign:"center"})},"Align Left":{label:"Align Left",icon:d9,action:n=>n.chain().focus().setTextAlign("left").run(),isActive:n=>n.isActive({textAlign:"left"})},"Align Right":{label:"Align Right",icon:v9,action:n=>n.chain().focus().setTextAlign("right").run(),isActive:n=>n.isActive({textAlign:"right"})},FontColor:{label:"Font Color",icon:C9,isActive:n=>n.isActive("textStyle")||n.isActive("highlight"),component:Qu(()=>import("./FontColor.34d8b32f.js"))},Blockquote:{label:"Blockquote",icon:K9,action:n=>n.chain().focus().toggleBlockquote().run(),isActive:n=>n.isActive("blockquote")},Code:{label:"Code",icon:Z9,action:n=>n.chain().focus().toggleCodeBlock().run(),isActive:n=>n.isActive("codeBlock")},"Horizontal Rule":{label:"Horizontal Rule",icon:FH,action:n=>n.chain().focus().setHorizontalRule().run(),isActive:n=>!1},Link:{label:"Link",icon:oH,isActive:n=>n.isActive("link"),component:Qu(()=>import("./InsertLink.8bedb4cf.js"))},Image:{label:"Image",icon:hH,isActive:n=>!1,component:Qu(()=>import("./InsertImage.06a04647.js"))},Video:{label:"Video",icon:wH,isActive:n=>!1,component:Qu(()=>import("./InsertVideo.15a62665.js"))},Undo:{label:"Undo",icon:TH,action:n=>n.chain().focus().undo().run(),isActive:n=>!1},Redo:{label:"Redo",icon:DH,action:n=>n.chain().focus().redo().run(),isActive:n=>!1},InsertTable:{label:"Insert Table",icon:qH,action:n=>n.chain().focus().insertTable({rows:3,cols:3,withHeaderRow:!0}).run(),isActive:n=>!1},AddColumnBefore:{label:"Add Column Before",action:n=>n.chain().focus().addColumnBefore().run(),isActive:n=>!1,isDisabled:n=>!n.can().addColumnBefore()},AddColumnAfter:{label:"Add Column After",action:n=>n.chain().focus().addColumnAfter().run(),isActive:n=>!1,isDisabled:n=>!n.can().addColumnAfter()},DeleteColumn:{label:"Delete Column",action:n=>n.chain().focus().deleteColumn().run(),isActive:n=>!1,isDisabled:n=>!n.can().deleteColumn()},AddRowBefore:{label:"Add Row Before",action:n=>n.chain().focus().addRowBefore().run(),isActive:n=>!1,isDisabled:n=>!n.can().addRowBefore()},AddRowAfter:{label:"Add Row After",action:n=>n.chain().focus().addRowAfter().run(),isActive:n=>!1,isDisabled:n=>!n.can().addRowAfter()},DeleteRow:{label:"Delete Row",action:n=>n.chain().focus().deleteRow().run(),isActive:n=>!1,isDisabled:n=>!n.can().deleteRow()},DeleteTable:{label:"Delete Table",action:n=>n.chain().focus().deleteTable().run(),isActive:n=>!1,isDisabled:n=>!n.can().deleteTable()},MergeCells:{label:"Merge Cells",action:n=>n.chain().focus().mergeCells().run(),isActive:n=>!1,isDisabled:n=>!n.can().mergeCells()},SplitCell:{label:"Split Cell",action:n=>n.chain().focus().splitCell().run(),isActive:n=>!1,isDisabled:n=>!n.can().splitCell()},ToggleHeaderColumn:{label:"Toggle Header Column",action:n=>n.chain().focus().toggleHeaderColumn().run(),isActive:n=>!1,isDisabled:n=>!n.can().toggleHeaderColumn()},ToggleHeaderRow:{label:"Toggle Header Row",action:n=>n.chain().focus().toggleHeaderRow().run(),isActive:n=>!1,isDisabled:n=>!n.can().toggleHeaderRow()},ToggleHeaderCell:{label:"Toggle Header Cell",action:n=>n.chain().focus().toggleHeaderCell().run(),isActive:n=>!1,isDisabled:n=>!n.can().toggleHeaderCell()},Separator:{type:"separator"}};var z_={exports:{}};(function(n){(function(){function e(h){var y={omitExtraWLInCodeBlocks:{defaultValue:!1,describe:"Omit the default extra whiteline added to code blocks",type:"boolean"},noHeaderId:{defaultValue:!1,describe:"Turn on/off generated header id",type:"boolean"},prefixHeaderId:{defaultValue:!1,describe:"Add a prefix to the generated header ids. Passing a string will prefix that string to the header id. Setting to true will add a generic 'section-' prefix",type:"string"},rawPrefixHeaderId:{defaultValue:!1,describe:'Setting this option to true will prevent showdown from modifying the prefix. This might result in malformed IDs (if, for instance, the " char is used in the prefix)',type:"boolean"},ghCompatibleHeaderId:{defaultValue:!1,describe:"Generate header ids compatible with github style (spaces are replaced with dashes, a bunch of non alphanumeric chars are removed)",type:"boolean"},rawHeaderId:{defaultValue:!1,describe:`Remove only spaces, ' and " from generated header ids (including prefixes), replacing them with dashes (-). WARNING: This might result in malformed ids`,type:"boolean"},headerLevelStart:{defaultValue:!1,describe:"The header blocks level start",type:"integer"},parseImgDimensions:{defaultValue:!1,describe:"Turn on/off image dimension parsing",type:"boolean"},simplifiedAutoLink:{defaultValue:!1,describe:"Turn on/off GFM autolink style",type:"boolean"},excludeTrailingPunctuationFromURLs:{defaultValue:!1,describe:"Excludes trailing punctuation from links generated with autoLinking",type:"boolean"},literalMidWordUnderscores:{defaultValue:!1,describe:"Parse midword underscores as literal underscores",type:"boolean"},literalMidWordAsterisks:{defaultValue:!1,describe:"Parse midword asterisks as literal asterisks",type:"boolean"},strikethrough:{defaultValue:!1,describe:"Turn on/off strikethrough support",type:"boolean"},tables:{defaultValue:!1,describe:"Turn on/off tables support",type:"boolean"},tablesHeaderId:{defaultValue:!1,describe:"Add an id to table headers",type:"boolean"},ghCodeBlocks:{defaultValue:!0,describe:"Turn on/off GFM fenced code blocks support",type:"boolean"},tasklists:{defaultValue:!1,describe:"Turn on/off GFM tasklist support",type:"boolean"},smoothLivePreview:{defaultValue:!1,describe:"Prevents weird effects in live previews due to incomplete input",type:"boolean"},smartIndentationFix:{defaultValue:!1,describe:"Tries to smartly fix indentation in es6 strings",type:"boolean"},disableForced4SpacesIndentedSublists:{defaultValue:!1,describe:"Disables the requirement of indenting nested sublists by 4 spaces",type:"boolean"},simpleLineBreaks:{defaultValue:!1,describe:"Parses simple line breaks as (GFM Style)",type:"boolean"},requireSpaceBeforeHeadingText:{defaultValue:!1,describe:"Makes adding a space between `#` and the header text mandatory (GFM Style)",type:"boolean"},ghMentions:{defaultValue:!1,describe:"Enables github @mentions",type:"boolean"},ghMentionsLink:{defaultValue:"https://github.com/{u}",describe:"Changes the link generated by @mentions. Only applies if ghMentions option is enabled.",type:"string"},encodeEmails:{defaultValue:!0,describe:"Encode e-mail addresses through the use of Character Entities, transforming ASCII e-mail addresses into its equivalent decimal entities",type:"boolean"},openLinksInNewWindow:{defaultValue:!1,describe:"Open all links in new windows",type:"boolean"},backslashEscapesHTMLTags:{defaultValue:!1,describe:"Support for HTML Tag escaping. ex: foo ",type:"boolean"},emoji:{defaultValue:!1,describe:"Enable emoji support. Ex: `this is a :smile: emoji`",type:"boolean"},underline:{defaultValue:!1,describe:"Enable support for underline. Syntax is double or triple underscores: `__underline word__`. With this option enabled, underscores no longer parses into `` and ``",type:"boolean"},ellipsis:{defaultValue:!0,describe:"Replaces three dots with the ellipsis unicode character",type:"boolean"},completeHTMLDocument:{defaultValue:!1,describe:"Outputs a complete html document, including ``, `` and `` tags",type:"boolean"},metadata:{defaultValue:!1,describe:"Enable support for document metadata (defined at the top of the document between `\xAB\xAB\xAB` and `\xBB\xBB\xBB` or between `---` and `---`).",type:"boolean"},splitAdjacentBlockquotes:{defaultValue:!1,describe:"Split adjacent blockquote blocks",type:"boolean"}};if(h===!1)return JSON.parse(JSON.stringify(y));var g={};for(var x in y)y.hasOwnProperty(x)&&(g[x]=y[x].defaultValue);return g}function t(){var h=e(!0),y={};for(var g in h)h.hasOwnProperty(g)&&(y[g]=!0);return y}var r={},i={},s={},o=e(!0),l="vanilla",a={github:{omitExtraWLInCodeBlocks:!0,simplifiedAutoLink:!0,excludeTrailingPunctuationFromURLs:!0,literalMidWordUnderscores:!0,strikethrough:!0,tables:!0,tablesHeaderId:!0,ghCodeBlocks:!0,tasklists:!0,disableForced4SpacesIndentedSublists:!0,simpleLineBreaks:!0,requireSpaceBeforeHeadingText:!0,ghCompatibleHeaderId:!0,ghMentions:!0,backslashEscapesHTMLTags:!0,emoji:!0,splitAdjacentBlockquotes:!0},original:{noHeaderId:!0,ghCodeBlocks:!1},ghost:{omitExtraWLInCodeBlocks:!0,parseImgDimensions:!0,simplifiedAutoLink:!0,excludeTrailingPunctuationFromURLs:!0,literalMidWordUnderscores:!0,strikethrough:!0,tables:!0,tablesHeaderId:!0,ghCodeBlocks:!0,tasklists:!0,smoothLivePreview:!0,simpleLineBreaks:!0,requireSpaceBeforeHeadingText:!0,ghMentions:!1,encodeEmails:!0},vanilla:e(!0),allOn:t()};r.helper={},r.extensions={},r.setOption=function(h,y){return o[h]=y,this},r.getOption=function(h){return o[h]},r.getOptions=function(){return o},r.resetOptions=function(){o=e(!0)},r.setFlavor=function(h){if(!a.hasOwnProperty(h))throw Error(h+" flavor was not found");r.resetOptions();var y=a[h];l=h;for(var g in y)y.hasOwnProperty(g)&&(o[g]=y[g])},r.getFlavor=function(){return l},r.getFlavorOptions=function(h){if(a.hasOwnProperty(h))return a[h]},r.getDefaultOptions=function(h){return e(h)},r.subParser=function(h,y){if(r.helper.isString(h))if(typeof y!="undefined")i[h]=y;else{if(i.hasOwnProperty(h))return i[h];throw Error("SubParser named "+h+" not registered!")}},r.extension=function(h,y){if(!r.helper.isString(h))throw Error("Extension 'name' must be a string");if(h=r.helper.stdExtName(h),r.helper.isUndefined(y)){if(!s.hasOwnProperty(h))throw Error("Extension named "+h+" is not registered!");return s[h]}else{typeof y=="function"&&(y=y()),r.helper.isArray(y)||(y=[y]);var g=c(y,h);if(g.valid)s[h]=y;else throw Error(g.error)}},r.getAllExtensions=function(){return s},r.removeExtension=function(h){delete s[h]},r.resetExtensions=function(){s={}};function c(h,y){var g=y?"Error in "+y+" extension->":"Error in unnamed extension",x={valid:!0,error:""};r.helper.isArray(h)||(h=[h]);for(var k=0;k").replace(/&/g,"&")};var d=function(h,y,g,x){var k=x||"",_=k.indexOf("g")>-1,E=new RegExp(y+"|"+g,"g"+k.replace(/g/g,"")),A=new RegExp(y,k.replace(/g/g,"")),M=[],N,D,P,T,R;do for(N=0;P=E.exec(h);)if(A.test(P[0]))N++||(D=E.lastIndex,T=D-P[0].length);else if(N&&!--N){R=P.index+P[0].length;var z={left:{start:T,end:D},match:{start:D,end:P.index},right:{start:P.index,end:R},wholeMatch:{start:T,end:R}};if(M.push(z),!_)return M}while(N&&(E.lastIndex=D));return M};r.helper.matchRecursiveRegExp=function(h,y,g,x){for(var k=d(h,y,g,x),_=[],E=0;E0){var N=[];E[0].wholeMatch.start!==0&&N.push(h.slice(0,E[0].wholeMatch.start));for(var D=0;D=0?x+(g||0):x},r.helper.splitAtIndex=function(h,y){if(!r.helper.isString(h))throw"InvalidArgumentError: first parameter of showdown.helper.regexIndexOf function must be a string";return[h.substring(0,y),h.substring(y)]},r.helper.encodeEmailAddress=function(h){var y=[function(g){return""+g.charCodeAt(0)+";"},function(g){return""+g.charCodeAt(0).toString(16)+";"},function(g){return g}];return h=h.replace(/./g,function(g){if(g==="@")g=y[Math.floor(Math.random()*2)](g);else{var x=Math.random();g=x>.9?y[2](g):x>.45?y[1](g):y[0](g)}return g}),h},r.helper.padEnd=function(y,g,x){return g=g>>0,x=String(x||" "),y.length>g?String(y):(g=g-y.length,g>x.length&&(x+=x.repeat(g/x.length)),String(y)+x.slice(0,g))},typeof console=="undefined"&&(console={warn:function(h){alert(h)},log:function(h){alert(h)},error:function(h){throw h}}),r.helper.regexes={asteriskDashAndColon:/([*_:~])/g},r.helper.emojis={"+1":"\u{1F44D}","-1":"\u{1F44E}","100":"\u{1F4AF}","1234":"\u{1F522}","1st_place_medal":"\u{1F947}","2nd_place_medal":"\u{1F948}","3rd_place_medal":"\u{1F949}","8ball":"\u{1F3B1}",a:"\u{1F170}\uFE0F",ab:"\u{1F18E}",abc:"\u{1F524}",abcd:"\u{1F521}",accept:"\u{1F251}",aerial_tramway:"\u{1F6A1}",airplane:"\u2708\uFE0F",alarm_clock:"\u23F0",alembic:"\u2697\uFE0F",alien:"\u{1F47D}",ambulance:"\u{1F691}",amphora:"\u{1F3FA}",anchor:"\u2693\uFE0F",angel:"\u{1F47C}",anger:"\u{1F4A2}",angry:"\u{1F620}",anguished:"\u{1F627}",ant:"\u{1F41C}",apple:"\u{1F34E}",aquarius:"\u2652\uFE0F",aries:"\u2648\uFE0F",arrow_backward:"\u25C0\uFE0F",arrow_double_down:"\u23EC",arrow_double_up:"\u23EB",arrow_down:"\u2B07\uFE0F",arrow_down_small:"\u{1F53D}",arrow_forward:"\u25B6\uFE0F",arrow_heading_down:"\u2935\uFE0F",arrow_heading_up:"\u2934\uFE0F",arrow_left:"\u2B05\uFE0F",arrow_lower_left:"\u2199\uFE0F",arrow_lower_right:"\u2198\uFE0F",arrow_right:"\u27A1\uFE0F",arrow_right_hook:"\u21AA\uFE0F",arrow_up:"\u2B06\uFE0F",arrow_up_down:"\u2195\uFE0F",arrow_up_small:"\u{1F53C}",arrow_upper_left:"\u2196\uFE0F",arrow_upper_right:"\u2197\uFE0F",arrows_clockwise:"\u{1F503}",arrows_counterclockwise:"\u{1F504}",art:"\u{1F3A8}",articulated_lorry:"\u{1F69B}",artificial_satellite:"\u{1F6F0}",astonished:"\u{1F632}",athletic_shoe:"\u{1F45F}",atm:"\u{1F3E7}",atom_symbol:"\u269B\uFE0F",avocado:"\u{1F951}",b:"\u{1F171}\uFE0F",baby:"\u{1F476}",baby_bottle:"\u{1F37C}",baby_chick:"\u{1F424}",baby_symbol:"\u{1F6BC}",back:"\u{1F519}",bacon:"\u{1F953}",badminton:"\u{1F3F8}",baggage_claim:"\u{1F6C4}",baguette_bread:"\u{1F956}",balance_scale:"\u2696\uFE0F",balloon:"\u{1F388}",ballot_box:"\u{1F5F3}",ballot_box_with_check:"\u2611\uFE0F",bamboo:"\u{1F38D}",banana:"\u{1F34C}",bangbang:"\u203C\uFE0F",bank:"\u{1F3E6}",bar_chart:"\u{1F4CA}",barber:"\u{1F488}",baseball:"\u26BE\uFE0F",basketball:"\u{1F3C0}",basketball_man:"\u26F9\uFE0F",basketball_woman:"\u26F9\uFE0F\u2640\uFE0F",bat:"\u{1F987}",bath:"\u{1F6C0}",bathtub:"\u{1F6C1}",battery:"\u{1F50B}",beach_umbrella:"\u{1F3D6}",bear:"\u{1F43B}",bed:"\u{1F6CF}",bee:"\u{1F41D}",beer:"\u{1F37A}",beers:"\u{1F37B}",beetle:"\u{1F41E}",beginner:"\u{1F530}",bell:"\u{1F514}",bellhop_bell:"\u{1F6CE}",bento:"\u{1F371}",biking_man:"\u{1F6B4}",bike:"\u{1F6B2}",biking_woman:"\u{1F6B4}\u2640\uFE0F",bikini:"\u{1F459}",biohazard:"\u2623\uFE0F",bird:"\u{1F426}",birthday:"\u{1F382}",black_circle:"\u26AB\uFE0F",black_flag:"\u{1F3F4}",black_heart:"\u{1F5A4}",black_joker:"\u{1F0CF}",black_large_square:"\u2B1B\uFE0F",black_medium_small_square:"\u25FE\uFE0F",black_medium_square:"\u25FC\uFE0F",black_nib:"\u2712\uFE0F",black_small_square:"\u25AA\uFE0F",black_square_button:"\u{1F532}",blonde_man:"\u{1F471}",blonde_woman:"\u{1F471}\u2640\uFE0F",blossom:"\u{1F33C}",blowfish:"\u{1F421}",blue_book:"\u{1F4D8}",blue_car:"\u{1F699}",blue_heart:"\u{1F499}",blush:"\u{1F60A}",boar:"\u{1F417}",boat:"\u26F5\uFE0F",bomb:"\u{1F4A3}",book:"\u{1F4D6}",bookmark:"\u{1F516}",bookmark_tabs:"\u{1F4D1}",books:"\u{1F4DA}",boom:"\u{1F4A5}",boot:"\u{1F462}",bouquet:"\u{1F490}",bowing_man:"\u{1F647}",bow_and_arrow:"\u{1F3F9}",bowing_woman:"\u{1F647}\u2640\uFE0F",bowling:"\u{1F3B3}",boxing_glove:"\u{1F94A}",boy:"\u{1F466}",bread:"\u{1F35E}",bride_with_veil:"\u{1F470}",bridge_at_night:"\u{1F309}",briefcase:"\u{1F4BC}",broken_heart:"\u{1F494}",bug:"\u{1F41B}",building_construction:"\u{1F3D7}",bulb:"\u{1F4A1}",bullettrain_front:"\u{1F685}",bullettrain_side:"\u{1F684}",burrito:"\u{1F32F}",bus:"\u{1F68C}",business_suit_levitating:"\u{1F574}",busstop:"\u{1F68F}",bust_in_silhouette:"\u{1F464}",busts_in_silhouette:"\u{1F465}",butterfly:"\u{1F98B}",cactus:"\u{1F335}",cake:"\u{1F370}",calendar:"\u{1F4C6}",call_me_hand:"\u{1F919}",calling:"\u{1F4F2}",camel:"\u{1F42B}",camera:"\u{1F4F7}",camera_flash:"\u{1F4F8}",camping:"\u{1F3D5}",cancer:"\u264B\uFE0F",candle:"\u{1F56F}",candy:"\u{1F36C}",canoe:"\u{1F6F6}",capital_abcd:"\u{1F520}",capricorn:"\u2651\uFE0F",car:"\u{1F697}",card_file_box:"\u{1F5C3}",card_index:"\u{1F4C7}",card_index_dividers:"\u{1F5C2}",carousel_horse:"\u{1F3A0}",carrot:"\u{1F955}",cat:"\u{1F431}",cat2:"\u{1F408}",cd:"\u{1F4BF}",chains:"\u26D3",champagne:"\u{1F37E}",chart:"\u{1F4B9}",chart_with_downwards_trend:"\u{1F4C9}",chart_with_upwards_trend:"\u{1F4C8}",checkered_flag:"\u{1F3C1}",cheese:"\u{1F9C0}",cherries:"\u{1F352}",cherry_blossom:"\u{1F338}",chestnut:"\u{1F330}",chicken:"\u{1F414}",children_crossing:"\u{1F6B8}",chipmunk:"\u{1F43F}",chocolate_bar:"\u{1F36B}",christmas_tree:"\u{1F384}",church:"\u26EA\uFE0F",cinema:"\u{1F3A6}",circus_tent:"\u{1F3AA}",city_sunrise:"\u{1F307}",city_sunset:"\u{1F306}",cityscape:"\u{1F3D9}",cl:"\u{1F191}",clamp:"\u{1F5DC}",clap:"\u{1F44F}",clapper:"\u{1F3AC}",classical_building:"\u{1F3DB}",clinking_glasses:"\u{1F942}",clipboard:"\u{1F4CB}",clock1:"\u{1F550}",clock10:"\u{1F559}",clock1030:"\u{1F565}",clock11:"\u{1F55A}",clock1130:"\u{1F566}",clock12:"\u{1F55B}",clock1230:"\u{1F567}",clock130:"\u{1F55C}",clock2:"\u{1F551}",clock230:"\u{1F55D}",clock3:"\u{1F552}",clock330:"\u{1F55E}",clock4:"\u{1F553}",clock430:"\u{1F55F}",clock5:"\u{1F554}",clock530:"\u{1F560}",clock6:"\u{1F555}",clock630:"\u{1F561}",clock7:"\u{1F556}",clock730:"\u{1F562}",clock8:"\u{1F557}",clock830:"\u{1F563}",clock9:"\u{1F558}",clock930:"\u{1F564}",closed_book:"\u{1F4D5}",closed_lock_with_key:"\u{1F510}",closed_umbrella:"\u{1F302}",cloud:"\u2601\uFE0F",cloud_with_lightning:"\u{1F329}",cloud_with_lightning_and_rain:"\u26C8",cloud_with_rain:"\u{1F327}",cloud_with_snow:"\u{1F328}",clown_face:"\u{1F921}",clubs:"\u2663\uFE0F",cocktail:"\u{1F378}",coffee:"\u2615\uFE0F",coffin:"\u26B0\uFE0F",cold_sweat:"\u{1F630}",comet:"\u2604\uFE0F",computer:"\u{1F4BB}",computer_mouse:"\u{1F5B1}",confetti_ball:"\u{1F38A}",confounded:"\u{1F616}",confused:"\u{1F615}",congratulations:"\u3297\uFE0F",construction:"\u{1F6A7}",construction_worker_man:"\u{1F477}",construction_worker_woman:"\u{1F477}\u2640\uFE0F",control_knobs:"\u{1F39B}",convenience_store:"\u{1F3EA}",cookie:"\u{1F36A}",cool:"\u{1F192}",policeman:"\u{1F46E}",copyright:"\xA9\uFE0F",corn:"\u{1F33D}",couch_and_lamp:"\u{1F6CB}",couple:"\u{1F46B}",couple_with_heart_woman_man:"\u{1F491}",couple_with_heart_man_man:"\u{1F468}\u2764\uFE0F\u{1F468}",couple_with_heart_woman_woman:"\u{1F469}\u2764\uFE0F\u{1F469}",couplekiss_man_man:"\u{1F468}\u2764\uFE0F\u{1F48B}\u{1F468}",couplekiss_man_woman:"\u{1F48F}",couplekiss_woman_woman:"\u{1F469}\u2764\uFE0F\u{1F48B}\u{1F469}",cow:"\u{1F42E}",cow2:"\u{1F404}",cowboy_hat_face:"\u{1F920}",crab:"\u{1F980}",crayon:"\u{1F58D}",credit_card:"\u{1F4B3}",crescent_moon:"\u{1F319}",cricket:"\u{1F3CF}",crocodile:"\u{1F40A}",croissant:"\u{1F950}",crossed_fingers:"\u{1F91E}",crossed_flags:"\u{1F38C}",crossed_swords:"\u2694\uFE0F",crown:"\u{1F451}",cry:"\u{1F622}",crying_cat_face:"\u{1F63F}",crystal_ball:"\u{1F52E}",cucumber:"\u{1F952}",cupid:"\u{1F498}",curly_loop:"\u27B0",currency_exchange:"\u{1F4B1}",curry:"\u{1F35B}",custard:"\u{1F36E}",customs:"\u{1F6C3}",cyclone:"\u{1F300}",dagger:"\u{1F5E1}",dancer:"\u{1F483}",dancing_women:"\u{1F46F}",dancing_men:"\u{1F46F}\u2642\uFE0F",dango:"\u{1F361}",dark_sunglasses:"\u{1F576}",dart:"\u{1F3AF}",dash:"\u{1F4A8}",date:"\u{1F4C5}",deciduous_tree:"\u{1F333}",deer:"\u{1F98C}",department_store:"\u{1F3EC}",derelict_house:"\u{1F3DA}",desert:"\u{1F3DC}",desert_island:"\u{1F3DD}",desktop_computer:"\u{1F5A5}",male_detective:"\u{1F575}\uFE0F",diamond_shape_with_a_dot_inside:"\u{1F4A0}",diamonds:"\u2666\uFE0F",disappointed:"\u{1F61E}",disappointed_relieved:"\u{1F625}",dizzy:"\u{1F4AB}",dizzy_face:"\u{1F635}",do_not_litter:"\u{1F6AF}",dog:"\u{1F436}",dog2:"\u{1F415}",dollar:"\u{1F4B5}",dolls:"\u{1F38E}",dolphin:"\u{1F42C}",door:"\u{1F6AA}",doughnut:"\u{1F369}",dove:"\u{1F54A}",dragon:"\u{1F409}",dragon_face:"\u{1F432}",dress:"\u{1F457}",dromedary_camel:"\u{1F42A}",drooling_face:"\u{1F924}",droplet:"\u{1F4A7}",drum:"\u{1F941}",duck:"\u{1F986}",dvd:"\u{1F4C0}","e-mail":"\u{1F4E7}",eagle:"\u{1F985}",ear:"\u{1F442}",ear_of_rice:"\u{1F33E}",earth_africa:"\u{1F30D}",earth_americas:"\u{1F30E}",earth_asia:"\u{1F30F}",egg:"\u{1F95A}",eggplant:"\u{1F346}",eight_pointed_black_star:"\u2734\uFE0F",eight_spoked_asterisk:"\u2733\uFE0F",electric_plug:"\u{1F50C}",elephant:"\u{1F418}",email:"\u2709\uFE0F",end:"\u{1F51A}",envelope_with_arrow:"\u{1F4E9}",euro:"\u{1F4B6}",european_castle:"\u{1F3F0}",european_post_office:"\u{1F3E4}",evergreen_tree:"\u{1F332}",exclamation:"\u2757\uFE0F",expressionless:"\u{1F611}",eye:"\u{1F441}",eye_speech_bubble:"\u{1F441}\u{1F5E8}",eyeglasses:"\u{1F453}",eyes:"\u{1F440}",face_with_head_bandage:"\u{1F915}",face_with_thermometer:"\u{1F912}",fist_oncoming:"\u{1F44A}",factory:"\u{1F3ED}",fallen_leaf:"\u{1F342}",family_man_woman_boy:"\u{1F46A}",family_man_boy:"\u{1F468}\u{1F466}",family_man_boy_boy:"\u{1F468}\u{1F466}\u{1F466}",family_man_girl:"\u{1F468}\u{1F467}",family_man_girl_boy:"\u{1F468}\u{1F467}\u{1F466}",family_man_girl_girl:"\u{1F468}\u{1F467}\u{1F467}",family_man_man_boy:"\u{1F468}\u{1F468}\u{1F466}",family_man_man_boy_boy:"\u{1F468}\u{1F468}\u{1F466}\u{1F466}",family_man_man_girl:"\u{1F468}\u{1F468}\u{1F467}",family_man_man_girl_boy:"\u{1F468}\u{1F468}\u{1F467}\u{1F466}",family_man_man_girl_girl:"\u{1F468}\u{1F468}\u{1F467}\u{1F467}",family_man_woman_boy_boy:"\u{1F468}\u{1F469}\u{1F466}\u{1F466}",family_man_woman_girl:"\u{1F468}\u{1F469}\u{1F467}",family_man_woman_girl_boy:"\u{1F468}\u{1F469}\u{1F467}\u{1F466}",family_man_woman_girl_girl:"\u{1F468}\u{1F469}\u{1F467}\u{1F467}",family_woman_boy:"\u{1F469}\u{1F466}",family_woman_boy_boy:"\u{1F469}\u{1F466}\u{1F466}",family_woman_girl:"\u{1F469}\u{1F467}",family_woman_girl_boy:"\u{1F469}\u{1F467}\u{1F466}",family_woman_girl_girl:"\u{1F469}\u{1F467}\u{1F467}",family_woman_woman_boy:"\u{1F469}\u{1F469}\u{1F466}",family_woman_woman_boy_boy:"\u{1F469}\u{1F469}\u{1F466}\u{1F466}",family_woman_woman_girl:"\u{1F469}\u{1F469}\u{1F467}",family_woman_woman_girl_boy:"\u{1F469}\u{1F469}\u{1F467}\u{1F466}",family_woman_woman_girl_girl:"\u{1F469}\u{1F469}\u{1F467}\u{1F467}",fast_forward:"\u23E9",fax:"\u{1F4E0}",fearful:"\u{1F628}",feet:"\u{1F43E}",female_detective:"\u{1F575}\uFE0F\u2640\uFE0F",ferris_wheel:"\u{1F3A1}",ferry:"\u26F4",field_hockey:"\u{1F3D1}",file_cabinet:"\u{1F5C4}",file_folder:"\u{1F4C1}",film_projector:"\u{1F4FD}",film_strip:"\u{1F39E}",fire:"\u{1F525}",fire_engine:"\u{1F692}",fireworks:"\u{1F386}",first_quarter_moon:"\u{1F313}",first_quarter_moon_with_face:"\u{1F31B}",fish:"\u{1F41F}",fish_cake:"\u{1F365}",fishing_pole_and_fish:"\u{1F3A3}",fist_raised:"\u270A",fist_left:"\u{1F91B}",fist_right:"\u{1F91C}",flags:"\u{1F38F}",flashlight:"\u{1F526}",fleur_de_lis:"\u269C\uFE0F",flight_arrival:"\u{1F6EC}",flight_departure:"\u{1F6EB}",floppy_disk:"\u{1F4BE}",flower_playing_cards:"\u{1F3B4}",flushed:"\u{1F633}",fog:"\u{1F32B}",foggy:"\u{1F301}",football:"\u{1F3C8}",footprints:"\u{1F463}",fork_and_knife:"\u{1F374}",fountain:"\u26F2\uFE0F",fountain_pen:"\u{1F58B}",four_leaf_clover:"\u{1F340}",fox_face:"\u{1F98A}",framed_picture:"\u{1F5BC}",free:"\u{1F193}",fried_egg:"\u{1F373}",fried_shrimp:"\u{1F364}",fries:"\u{1F35F}",frog:"\u{1F438}",frowning:"\u{1F626}",frowning_face:"\u2639\uFE0F",frowning_man:"\u{1F64D}\u2642\uFE0F",frowning_woman:"\u{1F64D}",middle_finger:"\u{1F595}",fuelpump:"\u26FD\uFE0F",full_moon:"\u{1F315}",full_moon_with_face:"\u{1F31D}",funeral_urn:"\u26B1\uFE0F",game_die:"\u{1F3B2}",gear:"\u2699\uFE0F",gem:"\u{1F48E}",gemini:"\u264A\uFE0F",ghost:"\u{1F47B}",gift:"\u{1F381}",gift_heart:"\u{1F49D}",girl:"\u{1F467}",globe_with_meridians:"\u{1F310}",goal_net:"\u{1F945}",goat:"\u{1F410}",golf:"\u26F3\uFE0F",golfing_man:"\u{1F3CC}\uFE0F",golfing_woman:"\u{1F3CC}\uFE0F\u2640\uFE0F",gorilla:"\u{1F98D}",grapes:"\u{1F347}",green_apple:"\u{1F34F}",green_book:"\u{1F4D7}",green_heart:"\u{1F49A}",green_salad:"\u{1F957}",grey_exclamation:"\u2755",grey_question:"\u2754",grimacing:"\u{1F62C}",grin:"\u{1F601}",grinning:"\u{1F600}",guardsman:"\u{1F482}",guardswoman:"\u{1F482}\u2640\uFE0F",guitar:"\u{1F3B8}",gun:"\u{1F52B}",haircut_woman:"\u{1F487}",haircut_man:"\u{1F487}\u2642\uFE0F",hamburger:"\u{1F354}",hammer:"\u{1F528}",hammer_and_pick:"\u2692",hammer_and_wrench:"\u{1F6E0}",hamster:"\u{1F439}",hand:"\u270B",handbag:"\u{1F45C}",handshake:"\u{1F91D}",hankey:"\u{1F4A9}",hatched_chick:"\u{1F425}",hatching_chick:"\u{1F423}",headphones:"\u{1F3A7}",hear_no_evil:"\u{1F649}",heart:"\u2764\uFE0F",heart_decoration:"\u{1F49F}",heart_eyes:"\u{1F60D}",heart_eyes_cat:"\u{1F63B}",heartbeat:"\u{1F493}",heartpulse:"\u{1F497}",hearts:"\u2665\uFE0F",heavy_check_mark:"\u2714\uFE0F",heavy_division_sign:"\u2797",heavy_dollar_sign:"\u{1F4B2}",heavy_heart_exclamation:"\u2763\uFE0F",heavy_minus_sign:"\u2796",heavy_multiplication_x:"\u2716\uFE0F",heavy_plus_sign:"\u2795",helicopter:"\u{1F681}",herb:"\u{1F33F}",hibiscus:"\u{1F33A}",high_brightness:"\u{1F506}",high_heel:"\u{1F460}",hocho:"\u{1F52A}",hole:"\u{1F573}",honey_pot:"\u{1F36F}",horse:"\u{1F434}",horse_racing:"\u{1F3C7}",hospital:"\u{1F3E5}",hot_pepper:"\u{1F336}",hotdog:"\u{1F32D}",hotel:"\u{1F3E8}",hotsprings:"\u2668\uFE0F",hourglass:"\u231B\uFE0F",hourglass_flowing_sand:"\u23F3",house:"\u{1F3E0}",house_with_garden:"\u{1F3E1}",houses:"\u{1F3D8}",hugs:"\u{1F917}",hushed:"\u{1F62F}",ice_cream:"\u{1F368}",ice_hockey:"\u{1F3D2}",ice_skate:"\u26F8",icecream:"\u{1F366}",id:"\u{1F194}",ideograph_advantage:"\u{1F250}",imp:"\u{1F47F}",inbox_tray:"\u{1F4E5}",incoming_envelope:"\u{1F4E8}",tipping_hand_woman:"\u{1F481}",information_source:"\u2139\uFE0F",innocent:"\u{1F607}",interrobang:"\u2049\uFE0F",iphone:"\u{1F4F1}",izakaya_lantern:"\u{1F3EE}",jack_o_lantern:"\u{1F383}",japan:"\u{1F5FE}",japanese_castle:"\u{1F3EF}",japanese_goblin:"\u{1F47A}",japanese_ogre:"\u{1F479}",jeans:"\u{1F456}",joy:"\u{1F602}",joy_cat:"\u{1F639}",joystick:"\u{1F579}",kaaba:"\u{1F54B}",key:"\u{1F511}",keyboard:"\u2328\uFE0F",keycap_ten:"\u{1F51F}",kick_scooter:"\u{1F6F4}",kimono:"\u{1F458}",kiss:"\u{1F48B}",kissing:"\u{1F617}",kissing_cat:"\u{1F63D}",kissing_closed_eyes:"\u{1F61A}",kissing_heart:"\u{1F618}",kissing_smiling_eyes:"\u{1F619}",kiwi_fruit:"\u{1F95D}",koala:"\u{1F428}",koko:"\u{1F201}",label:"\u{1F3F7}",large_blue_circle:"\u{1F535}",large_blue_diamond:"\u{1F537}",large_orange_diamond:"\u{1F536}",last_quarter_moon:"\u{1F317}",last_quarter_moon_with_face:"\u{1F31C}",latin_cross:"\u271D\uFE0F",laughing:"\u{1F606}",leaves:"\u{1F343}",ledger:"\u{1F4D2}",left_luggage:"\u{1F6C5}",left_right_arrow:"\u2194\uFE0F",leftwards_arrow_with_hook:"\u21A9\uFE0F",lemon:"\u{1F34B}",leo:"\u264C\uFE0F",leopard:"\u{1F406}",level_slider:"\u{1F39A}",libra:"\u264E\uFE0F",light_rail:"\u{1F688}",link:"\u{1F517}",lion:"\u{1F981}",lips:"\u{1F444}",lipstick:"\u{1F484}",lizard:"\u{1F98E}",lock:"\u{1F512}",lock_with_ink_pen:"\u{1F50F}",lollipop:"\u{1F36D}",loop:"\u27BF",loud_sound:"\u{1F50A}",loudspeaker:"\u{1F4E2}",love_hotel:"\u{1F3E9}",love_letter:"\u{1F48C}",low_brightness:"\u{1F505}",lying_face:"\u{1F925}",m:"\u24C2\uFE0F",mag:"\u{1F50D}",mag_right:"\u{1F50E}",mahjong:"\u{1F004}\uFE0F",mailbox:"\u{1F4EB}",mailbox_closed:"\u{1F4EA}",mailbox_with_mail:"\u{1F4EC}",mailbox_with_no_mail:"\u{1F4ED}",man:"\u{1F468}",man_artist:"\u{1F468}\u{1F3A8}",man_astronaut:"\u{1F468}\u{1F680}",man_cartwheeling:"\u{1F938}\u2642\uFE0F",man_cook:"\u{1F468}\u{1F373}",man_dancing:"\u{1F57A}",man_facepalming:"\u{1F926}\u2642\uFE0F",man_factory_worker:"\u{1F468}\u{1F3ED}",man_farmer:"\u{1F468}\u{1F33E}",man_firefighter:"\u{1F468}\u{1F692}",man_health_worker:"\u{1F468}\u2695\uFE0F",man_in_tuxedo:"\u{1F935}",man_judge:"\u{1F468}\u2696\uFE0F",man_juggling:"\u{1F939}\u2642\uFE0F",man_mechanic:"\u{1F468}\u{1F527}",man_office_worker:"\u{1F468}\u{1F4BC}",man_pilot:"\u{1F468}\u2708\uFE0F",man_playing_handball:"\u{1F93E}\u2642\uFE0F",man_playing_water_polo:"\u{1F93D}\u2642\uFE0F",man_scientist:"\u{1F468}\u{1F52C}",man_shrugging:"\u{1F937}\u2642\uFE0F",man_singer:"\u{1F468}\u{1F3A4}",man_student:"\u{1F468}\u{1F393}",man_teacher:"\u{1F468}\u{1F3EB}",man_technologist:"\u{1F468}\u{1F4BB}",man_with_gua_pi_mao:"\u{1F472}",man_with_turban:"\u{1F473}",tangerine:"\u{1F34A}",mans_shoe:"\u{1F45E}",mantelpiece_clock:"\u{1F570}",maple_leaf:"\u{1F341}",martial_arts_uniform:"\u{1F94B}",mask:"\u{1F637}",massage_woman:"\u{1F486}",massage_man:"\u{1F486}\u2642\uFE0F",meat_on_bone:"\u{1F356}",medal_military:"\u{1F396}",medal_sports:"\u{1F3C5}",mega:"\u{1F4E3}",melon:"\u{1F348}",memo:"\u{1F4DD}",men_wrestling:"\u{1F93C}\u2642\uFE0F",menorah:"\u{1F54E}",mens:"\u{1F6B9}",metal:"\u{1F918}",metro:"\u{1F687}",microphone:"\u{1F3A4}",microscope:"\u{1F52C}",milk_glass:"\u{1F95B}",milky_way:"\u{1F30C}",minibus:"\u{1F690}",minidisc:"\u{1F4BD}",mobile_phone_off:"\u{1F4F4}",money_mouth_face:"\u{1F911}",money_with_wings:"\u{1F4B8}",moneybag:"\u{1F4B0}",monkey:"\u{1F412}",monkey_face:"\u{1F435}",monorail:"\u{1F69D}",moon:"\u{1F314}",mortar_board:"\u{1F393}",mosque:"\u{1F54C}",motor_boat:"\u{1F6E5}",motor_scooter:"\u{1F6F5}",motorcycle:"\u{1F3CD}",motorway:"\u{1F6E3}",mount_fuji:"\u{1F5FB}",mountain:"\u26F0",mountain_biking_man:"\u{1F6B5}",mountain_biking_woman:"\u{1F6B5}\u2640\uFE0F",mountain_cableway:"\u{1F6A0}",mountain_railway:"\u{1F69E}",mountain_snow:"\u{1F3D4}",mouse:"\u{1F42D}",mouse2:"\u{1F401}",movie_camera:"\u{1F3A5}",moyai:"\u{1F5FF}",mrs_claus:"\u{1F936}",muscle:"\u{1F4AA}",mushroom:"\u{1F344}",musical_keyboard:"\u{1F3B9}",musical_note:"\u{1F3B5}",musical_score:"\u{1F3BC}",mute:"\u{1F507}",nail_care:"\u{1F485}",name_badge:"\u{1F4DB}",national_park:"\u{1F3DE}",nauseated_face:"\u{1F922}",necktie:"\u{1F454}",negative_squared_cross_mark:"\u274E",nerd_face:"\u{1F913}",neutral_face:"\u{1F610}",new:"\u{1F195}",new_moon:"\u{1F311}",new_moon_with_face:"\u{1F31A}",newspaper:"\u{1F4F0}",newspaper_roll:"\u{1F5DE}",next_track_button:"\u23ED",ng:"\u{1F196}",no_good_man:"\u{1F645}\u2642\uFE0F",no_good_woman:"\u{1F645}",night_with_stars:"\u{1F303}",no_bell:"\u{1F515}",no_bicycles:"\u{1F6B3}",no_entry:"\u26D4\uFE0F",no_entry_sign:"\u{1F6AB}",no_mobile_phones:"\u{1F4F5}",no_mouth:"\u{1F636}",no_pedestrians:"\u{1F6B7}",no_smoking:"\u{1F6AD}","non-potable_water":"\u{1F6B1}",nose:"\u{1F443}",notebook:"\u{1F4D3}",notebook_with_decorative_cover:"\u{1F4D4}",notes:"\u{1F3B6}",nut_and_bolt:"\u{1F529}",o:"\u2B55\uFE0F",o2:"\u{1F17E}\uFE0F",ocean:"\u{1F30A}",octopus:"\u{1F419}",oden:"\u{1F362}",office:"\u{1F3E2}",oil_drum:"\u{1F6E2}",ok:"\u{1F197}",ok_hand:"\u{1F44C}",ok_man:"\u{1F646}\u2642\uFE0F",ok_woman:"\u{1F646}",old_key:"\u{1F5DD}",older_man:"\u{1F474}",older_woman:"\u{1F475}",om:"\u{1F549}",on:"\u{1F51B}",oncoming_automobile:"\u{1F698}",oncoming_bus:"\u{1F68D}",oncoming_police_car:"\u{1F694}",oncoming_taxi:"\u{1F696}",open_file_folder:"\u{1F4C2}",open_hands:"\u{1F450}",open_mouth:"\u{1F62E}",open_umbrella:"\u2602\uFE0F",ophiuchus:"\u26CE",orange_book:"\u{1F4D9}",orthodox_cross:"\u2626\uFE0F",outbox_tray:"\u{1F4E4}",owl:"\u{1F989}",ox:"\u{1F402}",package:"\u{1F4E6}",page_facing_up:"\u{1F4C4}",page_with_curl:"\u{1F4C3}",pager:"\u{1F4DF}",paintbrush:"\u{1F58C}",palm_tree:"\u{1F334}",pancakes:"\u{1F95E}",panda_face:"\u{1F43C}",paperclip:"\u{1F4CE}",paperclips:"\u{1F587}",parasol_on_ground:"\u26F1",parking:"\u{1F17F}\uFE0F",part_alternation_mark:"\u303D\uFE0F",partly_sunny:"\u26C5\uFE0F",passenger_ship:"\u{1F6F3}",passport_control:"\u{1F6C2}",pause_button:"\u23F8",peace_symbol:"\u262E\uFE0F",peach:"\u{1F351}",peanuts:"\u{1F95C}",pear:"\u{1F350}",pen:"\u{1F58A}",pencil2:"\u270F\uFE0F",penguin:"\u{1F427}",pensive:"\u{1F614}",performing_arts:"\u{1F3AD}",persevere:"\u{1F623}",person_fencing:"\u{1F93A}",pouting_woman:"\u{1F64E}",phone:"\u260E\uFE0F",pick:"\u26CF",pig:"\u{1F437}",pig2:"\u{1F416}",pig_nose:"\u{1F43D}",pill:"\u{1F48A}",pineapple:"\u{1F34D}",ping_pong:"\u{1F3D3}",pisces:"\u2653\uFE0F",pizza:"\u{1F355}",place_of_worship:"\u{1F6D0}",plate_with_cutlery:"\u{1F37D}",play_or_pause_button:"\u23EF",point_down:"\u{1F447}",point_left:"\u{1F448}",point_right:"\u{1F449}",point_up:"\u261D\uFE0F",point_up_2:"\u{1F446}",police_car:"\u{1F693}",policewoman:"\u{1F46E}\u2640\uFE0F",poodle:"\u{1F429}",popcorn:"\u{1F37F}",post_office:"\u{1F3E3}",postal_horn:"\u{1F4EF}",postbox:"\u{1F4EE}",potable_water:"\u{1F6B0}",potato:"\u{1F954}",pouch:"\u{1F45D}",poultry_leg:"\u{1F357}",pound:"\u{1F4B7}",rage:"\u{1F621}",pouting_cat:"\u{1F63E}",pouting_man:"\u{1F64E}\u2642\uFE0F",pray:"\u{1F64F}",prayer_beads:"\u{1F4FF}",pregnant_woman:"\u{1F930}",previous_track_button:"\u23EE",prince:"\u{1F934}",princess:"\u{1F478}",printer:"\u{1F5A8}",purple_heart:"\u{1F49C}",purse:"\u{1F45B}",pushpin:"\u{1F4CC}",put_litter_in_its_place:"\u{1F6AE}",question:"\u2753",rabbit:"\u{1F430}",rabbit2:"\u{1F407}",racehorse:"\u{1F40E}",racing_car:"\u{1F3CE}",radio:"\u{1F4FB}",radio_button:"\u{1F518}",radioactive:"\u2622\uFE0F",railway_car:"\u{1F683}",railway_track:"\u{1F6E4}",rainbow:"\u{1F308}",rainbow_flag:"\u{1F3F3}\uFE0F\u{1F308}",raised_back_of_hand:"\u{1F91A}",raised_hand_with_fingers_splayed:"\u{1F590}",raised_hands:"\u{1F64C}",raising_hand_woman:"\u{1F64B}",raising_hand_man:"\u{1F64B}\u2642\uFE0F",ram:"\u{1F40F}",ramen:"\u{1F35C}",rat:"\u{1F400}",record_button:"\u23FA",recycle:"\u267B\uFE0F",red_circle:"\u{1F534}",registered:"\xAE\uFE0F",relaxed:"\u263A\uFE0F",relieved:"\u{1F60C}",reminder_ribbon:"\u{1F397}",repeat:"\u{1F501}",repeat_one:"\u{1F502}",rescue_worker_helmet:"\u26D1",restroom:"\u{1F6BB}",revolving_hearts:"\u{1F49E}",rewind:"\u23EA",rhinoceros:"\u{1F98F}",ribbon:"\u{1F380}",rice:"\u{1F35A}",rice_ball:"\u{1F359}",rice_cracker:"\u{1F358}",rice_scene:"\u{1F391}",right_anger_bubble:"\u{1F5EF}",ring:"\u{1F48D}",robot:"\u{1F916}",rocket:"\u{1F680}",rofl:"\u{1F923}",roll_eyes:"\u{1F644}",roller_coaster:"\u{1F3A2}",rooster:"\u{1F413}",rose:"\u{1F339}",rosette:"\u{1F3F5}",rotating_light:"\u{1F6A8}",round_pushpin:"\u{1F4CD}",rowing_man:"\u{1F6A3}",rowing_woman:"\u{1F6A3}\u2640\uFE0F",rugby_football:"\u{1F3C9}",running_man:"\u{1F3C3}",running_shirt_with_sash:"\u{1F3BD}",running_woman:"\u{1F3C3}\u2640\uFE0F",sa:"\u{1F202}\uFE0F",sagittarius:"\u2650\uFE0F",sake:"\u{1F376}",sandal:"\u{1F461}",santa:"\u{1F385}",satellite:"\u{1F4E1}",saxophone:"\u{1F3B7}",school:"\u{1F3EB}",school_satchel:"\u{1F392}",scissors:"\u2702\uFE0F",scorpion:"\u{1F982}",scorpius:"\u264F\uFE0F",scream:"\u{1F631}",scream_cat:"\u{1F640}",scroll:"\u{1F4DC}",seat:"\u{1F4BA}",secret:"\u3299\uFE0F",see_no_evil:"\u{1F648}",seedling:"\u{1F331}",selfie:"\u{1F933}",shallow_pan_of_food:"\u{1F958}",shamrock:"\u2618\uFE0F",shark:"\u{1F988}",shaved_ice:"\u{1F367}",sheep:"\u{1F411}",shell:"\u{1F41A}",shield:"\u{1F6E1}",shinto_shrine:"\u26E9",ship:"\u{1F6A2}",shirt:"\u{1F455}",shopping:"\u{1F6CD}",shopping_cart:"\u{1F6D2}",shower:"\u{1F6BF}",shrimp:"\u{1F990}",signal_strength:"\u{1F4F6}",six_pointed_star:"\u{1F52F}",ski:"\u{1F3BF}",skier:"\u26F7",skull:"\u{1F480}",skull_and_crossbones:"\u2620\uFE0F",sleeping:"\u{1F634}",sleeping_bed:"\u{1F6CC}",sleepy:"\u{1F62A}",slightly_frowning_face:"\u{1F641}",slightly_smiling_face:"\u{1F642}",slot_machine:"\u{1F3B0}",small_airplane:"\u{1F6E9}",small_blue_diamond:"\u{1F539}",small_orange_diamond:"\u{1F538}",small_red_triangle:"\u{1F53A}",small_red_triangle_down:"\u{1F53B}",smile:"\u{1F604}",smile_cat:"\u{1F638}",smiley:"\u{1F603}",smiley_cat:"\u{1F63A}",smiling_imp:"\u{1F608}",smirk:"\u{1F60F}",smirk_cat:"\u{1F63C}",smoking:"\u{1F6AC}",snail:"\u{1F40C}",snake:"\u{1F40D}",sneezing_face:"\u{1F927}",snowboarder:"\u{1F3C2}",snowflake:"\u2744\uFE0F",snowman:"\u26C4\uFE0F",snowman_with_snow:"\u2603\uFE0F",sob:"\u{1F62D}",soccer:"\u26BD\uFE0F",soon:"\u{1F51C}",sos:"\u{1F198}",sound:"\u{1F509}",space_invader:"\u{1F47E}",spades:"\u2660\uFE0F",spaghetti:"\u{1F35D}",sparkle:"\u2747\uFE0F",sparkler:"\u{1F387}",sparkles:"\u2728",sparkling_heart:"\u{1F496}",speak_no_evil:"\u{1F64A}",speaker:"\u{1F508}",speaking_head:"\u{1F5E3}",speech_balloon:"\u{1F4AC}",speedboat:"\u{1F6A4}",spider:"\u{1F577}",spider_web:"\u{1F578}",spiral_calendar:"\u{1F5D3}",spiral_notepad:"\u{1F5D2}",spoon:"\u{1F944}",squid:"\u{1F991}",stadium:"\u{1F3DF}",star:"\u2B50\uFE0F",star2:"\u{1F31F}",star_and_crescent:"\u262A\uFE0F",star_of_david:"\u2721\uFE0F",stars:"\u{1F320}",station:"\u{1F689}",statue_of_liberty:"\u{1F5FD}",steam_locomotive:"\u{1F682}",stew:"\u{1F372}",stop_button:"\u23F9",stop_sign:"\u{1F6D1}",stopwatch:"\u23F1",straight_ruler:"\u{1F4CF}",strawberry:"\u{1F353}",stuck_out_tongue:"\u{1F61B}",stuck_out_tongue_closed_eyes:"\u{1F61D}",stuck_out_tongue_winking_eye:"\u{1F61C}",studio_microphone:"\u{1F399}",stuffed_flatbread:"\u{1F959}",sun_behind_large_cloud:"\u{1F325}",sun_behind_rain_cloud:"\u{1F326}",sun_behind_small_cloud:"\u{1F324}",sun_with_face:"\u{1F31E}",sunflower:"\u{1F33B}",sunglasses:"\u{1F60E}",sunny:"\u2600\uFE0F",sunrise:"\u{1F305}",sunrise_over_mountains:"\u{1F304}",surfing_man:"\u{1F3C4}",surfing_woman:"\u{1F3C4}\u2640\uFE0F",sushi:"\u{1F363}",suspension_railway:"\u{1F69F}",sweat:"\u{1F613}",sweat_drops:"\u{1F4A6}",sweat_smile:"\u{1F605}",sweet_potato:"\u{1F360}",swimming_man:"\u{1F3CA}",swimming_woman:"\u{1F3CA}\u2640\uFE0F",symbols:"\u{1F523}",synagogue:"\u{1F54D}",syringe:"\u{1F489}",taco:"\u{1F32E}",tada:"\u{1F389}",tanabata_tree:"\u{1F38B}",taurus:"\u2649\uFE0F",taxi:"\u{1F695}",tea:"\u{1F375}",telephone_receiver:"\u{1F4DE}",telescope:"\u{1F52D}",tennis:"\u{1F3BE}",tent:"\u26FA\uFE0F",thermometer:"\u{1F321}",thinking:"\u{1F914}",thought_balloon:"\u{1F4AD}",ticket:"\u{1F3AB}",tickets:"\u{1F39F}",tiger:"\u{1F42F}",tiger2:"\u{1F405}",timer_clock:"\u23F2",tipping_hand_man:"\u{1F481}\u2642\uFE0F",tired_face:"\u{1F62B}",tm:"\u2122\uFE0F",toilet:"\u{1F6BD}",tokyo_tower:"\u{1F5FC}",tomato:"\u{1F345}",tongue:"\u{1F445}",top:"\u{1F51D}",tophat:"\u{1F3A9}",tornado:"\u{1F32A}",trackball:"\u{1F5B2}",tractor:"\u{1F69C}",traffic_light:"\u{1F6A5}",train:"\u{1F68B}",train2:"\u{1F686}",tram:"\u{1F68A}",triangular_flag_on_post:"\u{1F6A9}",triangular_ruler:"\u{1F4D0}",trident:"\u{1F531}",triumph:"\u{1F624}",trolleybus:"\u{1F68E}",trophy:"\u{1F3C6}",tropical_drink:"\u{1F379}",tropical_fish:"\u{1F420}",truck:"\u{1F69A}",trumpet:"\u{1F3BA}",tulip:"\u{1F337}",tumbler_glass:"\u{1F943}",turkey:"\u{1F983}",turtle:"\u{1F422}",tv:"\u{1F4FA}",twisted_rightwards_arrows:"\u{1F500}",two_hearts:"\u{1F495}",two_men_holding_hands:"\u{1F46C}",two_women_holding_hands:"\u{1F46D}",u5272:"\u{1F239}",u5408:"\u{1F234}",u55b6:"\u{1F23A}",u6307:"\u{1F22F}\uFE0F",u6708:"\u{1F237}\uFE0F",u6709:"\u{1F236}",u6e80:"\u{1F235}",u7121:"\u{1F21A}\uFE0F",u7533:"\u{1F238}",u7981:"\u{1F232}",u7a7a:"\u{1F233}",umbrella:"\u2614\uFE0F",unamused:"\u{1F612}",underage:"\u{1F51E}",unicorn:"\u{1F984}",unlock:"\u{1F513}",up:"\u{1F199}",upside_down_face:"\u{1F643}",v:"\u270C\uFE0F",vertical_traffic_light:"\u{1F6A6}",vhs:"\u{1F4FC}",vibration_mode:"\u{1F4F3}",video_camera:"\u{1F4F9}",video_game:"\u{1F3AE}",violin:"\u{1F3BB}",virgo:"\u264D\uFE0F",volcano:"\u{1F30B}",volleyball:"\u{1F3D0}",vs:"\u{1F19A}",vulcan_salute:"\u{1F596}",walking_man:"\u{1F6B6}",walking_woman:"\u{1F6B6}\u2640\uFE0F",waning_crescent_moon:"\u{1F318}",waning_gibbous_moon:"\u{1F316}",warning:"\u26A0\uFE0F",wastebasket:"\u{1F5D1}",watch:"\u231A\uFE0F",water_buffalo:"\u{1F403}",watermelon:"\u{1F349}",wave:"\u{1F44B}",wavy_dash:"\u3030\uFE0F",waxing_crescent_moon:"\u{1F312}",wc:"\u{1F6BE}",weary:"\u{1F629}",wedding:"\u{1F492}",weight_lifting_man:"\u{1F3CB}\uFE0F",weight_lifting_woman:"\u{1F3CB}\uFE0F\u2640\uFE0F",whale:"\u{1F433}",whale2:"\u{1F40B}",wheel_of_dharma:"\u2638\uFE0F",wheelchair:"\u267F\uFE0F",white_check_mark:"\u2705",white_circle:"\u26AA\uFE0F",white_flag:"\u{1F3F3}\uFE0F",white_flower:"\u{1F4AE}",white_large_square:"\u2B1C\uFE0F",white_medium_small_square:"\u25FD\uFE0F",white_medium_square:"\u25FB\uFE0F",white_small_square:"\u25AB\uFE0F",white_square_button:"\u{1F533}",wilted_flower:"\u{1F940}",wind_chime:"\u{1F390}",wind_face:"\u{1F32C}",wine_glass:"\u{1F377}",wink:"\u{1F609}",wolf:"\u{1F43A}",woman:"\u{1F469}",woman_artist:"\u{1F469}\u{1F3A8}",woman_astronaut:"\u{1F469}\u{1F680}",woman_cartwheeling:"\u{1F938}\u2640\uFE0F",woman_cook:"\u{1F469}\u{1F373}",woman_facepalming:"\u{1F926}\u2640\uFE0F",woman_factory_worker:"\u{1F469}\u{1F3ED}",woman_farmer:"\u{1F469}\u{1F33E}",woman_firefighter:"\u{1F469}\u{1F692}",woman_health_worker:"\u{1F469}\u2695\uFE0F",woman_judge:"\u{1F469}\u2696\uFE0F",woman_juggling:"\u{1F939}\u2640\uFE0F",woman_mechanic:"\u{1F469}\u{1F527}",woman_office_worker:"\u{1F469}\u{1F4BC}",woman_pilot:"\u{1F469}\u2708\uFE0F",woman_playing_handball:"\u{1F93E}\u2640\uFE0F",woman_playing_water_polo:"\u{1F93D}\u2640\uFE0F",woman_scientist:"\u{1F469}\u{1F52C}",woman_shrugging:"\u{1F937}\u2640\uFE0F",woman_singer:"\u{1F469}\u{1F3A4}",woman_student:"\u{1F469}\u{1F393}",woman_teacher:"\u{1F469}\u{1F3EB}",woman_technologist:"\u{1F469}\u{1F4BB}",woman_with_turban:"\u{1F473}\u2640\uFE0F",womans_clothes:"\u{1F45A}",womans_hat:"\u{1F452}",women_wrestling:"\u{1F93C}\u2640\uFE0F",womens:"\u{1F6BA}",world_map:"\u{1F5FA}",worried:"\u{1F61F}",wrench:"\u{1F527}",writing_hand:"\u270D\uFE0F",x:"\u274C",yellow_heart:"\u{1F49B}",yen:"\u{1F4B4}",yin_yang:"\u262F\uFE0F",yum:"\u{1F60B}",zap:"\u26A1\uFE0F",zipper_mouth_face:"\u{1F910}",zzz:"\u{1F4A4}",octocat:' ',showdown:`S`},r.Converter=function(h){var y={},g=[],x=[],k={},_=l,E={parsed:{},raw:"",format:""};A();function A(){h=h||{};for(var T in o)o.hasOwnProperty(T)&&(y[T]=o[T]);if(typeof h=="object")for(var R in h)h.hasOwnProperty(R)&&(y[R]=h[R]);else throw Error("Converter expects the passed parameter to be an object, but "+typeof h+" was passed instead.");y.extensions&&r.helper.forEach(y.extensions,M)}function M(T,R){if(R=R||null,r.helper.isString(T))if(T=r.helper.stdExtName(T),R=T,r.extensions[T]){console.warn("DEPRECATION WARNING: "+T+" is an old extension that uses a deprecated loading method.Please inform the developer that the extension should be updated!"),N(r.extensions[T],T);return}else if(!r.helper.isUndefined(s[T]))T=s[T];else throw Error('Extension "'+T+'" could not be loaded. It was either not found or is not a valid extension.');typeof T=="function"&&(T=T()),r.helper.isArray(T)||(T=[T]);var z=c(T,R);if(!z.valid)throw Error(z.error);for(var W=0;W{const i=e.some(c=>c.docChanged)&&!t.doc.eq(r.doc),s=e.some(c=>c.getMeta("preventAutolink"));if(!i||s)return;const{tr:o}=r,l=W5(t.doc,[...e]);if(X5(l).forEach(({newRange:c})=>{const u=K5(r.doc,c,p=>p.isTextblock);let d,f;if(u.length>1?(d=u[0],f=r.doc.textBetween(d.pos,d.pos+d.node.nodeSize,void 0," ")):u.length&&r.doc.textBetween(c.from,c.to," "," ").endsWith(" ")&&(d=u[0],f=r.doc.textBetween(d.pos,c.to,void 0," ")),d&&f){const p=f.split(" ").filter(w=>w!=="");if(p.length<=0)return!1;const m=p[p.length-1],v=d.pos+f.lastIndexOf(m);if(!m)return!1;const b=P_(m).map(w=>w.toObject(n.defaultProtocol));if(!r7(b))return!1;b.filter(w=>w.isLink).map(w=>ue(L({},w),{from:v+w.start+1,to:v+w.end+1})).filter(w=>r.schema.marks.code?!r.doc.rangeHasMark(w.from,w.to,r.schema.marks.code):!0).filter(w=>n.validate(w.value)).forEach(w=>{O1(w.from,w.to,r.doc).some(S=>S.mark.type===n.type)||o.addMark(w.from,w.to,n.type.create({href:w.href}))})}}),!!o.steps.length)return o}})}function s7(n){return new Jn({key:new Nn("handleClickLink"),props:{handleClick:(e,t,r)=>{var i,s;if(r.button!==0||!e.editable)return!1;let o=r.target;const l=[];for(;o.nodeName!=="DIV";)l.push(o),o=o.parentNode;if(!l.find(f=>f.nodeName==="A"))return!1;const a=q5(e.state,n.type.name),c=r.target,u=(i=c==null?void 0:c.href)!==null&&i!==void 0?i:a.href,d=(s=c==null?void 0:c.target)!==null&&s!==void 0?s:a.target;return c&&u?(window.open(u,d),!0):!1}}})}function o7(n){return new Jn({key:new Nn("handlePasteLink"),props:{handlePaste:(e,t,r)=>{const{state:i}=e,{selection:s}=i,{empty:o}=s;if(o)return!1;let l="";r.content.forEach(c=>{l+=c.textContent});const a=L_(l,{defaultProtocol:n.defaultProtocol}).find(c=>c.isLink&&c.value===l);return!l||!a?!1:(n.editor.commands.setMark(n.type,{href:a.href}),!0)}}})}const l7=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g;function $_(n,e){const t=["http","https","ftp","ftps","mailto","tel","callto","sms","cid","xmpp"];return e&&e.forEach(r=>{const i=typeof r=="string"?r:r.scheme;i&&t.push(i)}),!n||n.replace(l7,"").match(new RegExp(`^(?:(?:${t.join("|")}):|[^a-z]|[a-z+.-]+(?:[^a-z+.-:]|$))`,"i"))}const eX=pr.create({name:"link",priority:1e3,keepOnSplit:!1,exitable:!0,onCreate(){this.options.protocols.forEach(n=>{if(typeof n=="string"){D_(n);return}D_(n.scheme,n.optionalSlashes)})},onDestroy(){t7()},inclusive(){return this.options.autolink},addOptions(){return{openOnClick:!0,linkOnPaste:!0,autolink:!0,protocols:[],defaultProtocol:"http",HTMLAttributes:{target:"_blank",rel:"noopener noreferrer nofollow",class:null},validate:n=>!!n}},addAttributes(){return{href:{default:null,parseHTML(n){return n.getAttribute("href")}},target:{default:this.options.HTMLAttributes.target},rel:{default:this.options.HTMLAttributes.rel},class:{default:this.options.HTMLAttributes.class}}},parseHTML(){return[{tag:"a[href]",getAttrs:n=>{const e=n.getAttribute("href");return!e||!$_(e,this.options.protocols)?!1:null}}]},renderHTML({HTMLAttributes:n}){return $_(n.href,this.options.protocols)?["a",tt(this.options.HTMLAttributes,n),0]:["a",tt(this.options.HTMLAttributes,ue(L({},n),{href:""})),0]},addCommands(){return{setLink:n=>({chain:e})=>e().setMark(this.name,n).setMeta("preventAutolink",!0).run(),toggleLink:n=>({chain:e})=>e().toggleMark(this.name,n,{extendEmptyMarkRange:!0}).setMeta("preventAutolink",!0).run(),unsetLink:()=>({chain:n})=>n().unsetMark(this.name,{extendEmptyMarkRange:!0}).setMeta("preventAutolink",!0).run()}},addPasteRules(){return[ps({find:n=>{const e=[];if(n){const{validate:t}=this.options,r=L_(n).filter(i=>i.isLink&&t(i.value));r.length&&r.forEach(i=>e.push({text:i.value,data:{href:i.href},index:i.start}))}return e},type:this.type,getAttributes:n=>{var e;return{href:(e=n.data)===null||e===void 0?void 0:e.href}}})]},addProseMirrorPlugins(){const n=[];return this.options.autolink&&n.push(i7({type:this.type,defaultProtocol:this.options.defaultProtocol,validate:this.options.validate})),this.options.openOnClick===!0&&n.push(s7({type:this.type})),this.options.linkOnPaste&&n.push(o7({editor:this.editor,defaultProtocol:this.options.defaultProtocol,type:this.type})),n}}),a7=n=>Mt({find:/--$/,replace:n!=null?n:"\u2014"}),c7=n=>Mt({find:/\.\.\.$/,replace:n!=null?n:"\u2026"}),u7=n=>Mt({find:/(?:^|[\s{[(<'"\u2018\u201C])(")$/,replace:n!=null?n:"\u201C"}),d7=n=>Mt({find:/"$/,replace:n!=null?n:"\u201D"}),f7=n=>Mt({find:/(?:^|[\s{[(<'"\u2018\u201C])(')$/,replace:n!=null?n:"\u2018"}),h7=n=>Mt({find:/'$/,replace:n!=null?n:"\u2019"}),p7=n=>Mt({find:/<-$/,replace:n!=null?n:"\u2190"}),m7=n=>Mt({find:/->$/,replace:n!=null?n:"\u2192"}),g7=n=>Mt({find:/\(c\)$/,replace:n!=null?n:"\xA9"}),y7=n=>Mt({find:/\(tm\)$/,replace:n!=null?n:"\u2122"}),v7=n=>Mt({find:/\(sm\)$/,replace:n!=null?n:"\u2120"}),b7=n=>Mt({find:/\(r\)$/,replace:n!=null?n:"\xAE"}),w7=n=>Mt({find:/(?:^|\s)(1\/2)\s$/,replace:n!=null?n:"\xBD"}),x7=n=>Mt({find:/\+\/-$/,replace:n!=null?n:"\xB1"}),S7=n=>Mt({find:/!=$/,replace:n!=null?n:"\u2260"}),k7=n=>Mt({find:/<<$/,replace:n!=null?n:"\xAB"}),E7=n=>Mt({find:/>>$/,replace:n!=null?n:"\xBB"}),C7=n=>Mt({find:/\d+\s?([*x])\s?\d+$/,replace:n!=null?n:"\xD7"}),_7=n=>Mt({find:/\^2$/,replace:n!=null?n:"\xB2"}),T7=n=>Mt({find:/\^3$/,replace:n!=null?n:"\xB3"}),A7=n=>Mt({find:/(?:^|\s)(1\/4)\s$/,replace:n!=null?n:"\xBC"}),O7=n=>Mt({find:/(?:^|\s)(3\/4)\s$/,replace:n!=null?n:"\xBE"}),tX=Qt.create({name:"typography",addOptions(){return{closeDoubleQuote:"\u201D",closeSingleQuote:"\u2019",copyright:"\xA9",ellipsis:"\u2026",emDash:"\u2014",laquo:"\xAB",leftArrow:"\u2190",multiplication:"\xD7",notEqual:"\u2260",oneHalf:"\xBD",oneQuarter:"\xBC",openDoubleQuote:"\u201C",openSingleQuote:"\u2018",plusMinus:"\xB1",raquo:"\xBB",registeredTrademark:"\xAE",rightArrow:"\u2192",servicemark:"\u2120",superscriptThree:"\xB3",superscriptTwo:"\xB2",threeQuarters:"\xBE",trademark:"\u2122"}},addInputRules(){const n=[];return this.options.emDash!==!1&&n.push(a7(this.options.emDash)),this.options.ellipsis!==!1&&n.push(c7(this.options.ellipsis)),this.options.openDoubleQuote!==!1&&n.push(u7(this.options.openDoubleQuote)),this.options.closeDoubleQuote!==!1&&n.push(d7(this.options.closeDoubleQuote)),this.options.openSingleQuote!==!1&&n.push(f7(this.options.openSingleQuote)),this.options.closeSingleQuote!==!1&&n.push(h7(this.options.closeSingleQuote)),this.options.leftArrow!==!1&&n.push(p7(this.options.leftArrow)),this.options.rightArrow!==!1&&n.push(m7(this.options.rightArrow)),this.options.copyright!==!1&&n.push(g7(this.options.copyright)),this.options.trademark!==!1&&n.push(y7(this.options.trademark)),this.options.servicemark!==!1&&n.push(v7(this.options.servicemark)),this.options.registeredTrademark!==!1&&n.push(b7(this.options.registeredTrademark)),this.options.oneHalf!==!1&&n.push(w7(this.options.oneHalf)),this.options.plusMinus!==!1&&n.push(x7(this.options.plusMinus)),this.options.notEqual!==!1&&n.push(S7(this.options.notEqual)),this.options.laquo!==!1&&n.push(k7(this.options.laquo)),this.options.raquo!==!1&&n.push(E7(this.options.raquo)),this.options.multiplication!==!1&&n.push(C7(this.options.multiplication)),this.options.superscriptTwo!==!1&&n.push(_7(this.options.superscriptTwo)),this.options.superscriptThree!==!1&&n.push(T7(this.options.superscriptThree)),this.options.oneQuarter!==!1&&n.push(A7(this.options.oneQuarter)),this.options.threeQuarters!==!1&&n.push(O7(this.options.threeQuarters)),n}}),nX=pr.create({name:"textStyle",priority:101,addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"span",getAttrs:n=>n.hasAttribute("style")?{}:!1}]},renderHTML({HTMLAttributes:n}){return["span",tt(this.options.HTMLAttributes,n),0]},addCommands(){return{removeEmptyTextStyle:()=>({state:n,commands:e})=>{const t=jc(n,this.type);return Object.entries(t).some(([,i])=>!!i)?!0:e.unsetMark(this.name)}}}}),M7=/(?:^|\s)(==(?!\s+==)((?:[^=]+))==(?!\s+==))$/,N7=/(?:^|\s)(==(?!\s+==)((?:[^=]+))==(?!\s+==))/g,rX=pr.create({name:"highlight",addOptions(){return{multicolor:!1,HTMLAttributes:{}}},addAttributes(){return this.options.multicolor?{color:{default:null,parseHTML:n=>n.getAttribute("data-color")||n.style.backgroundColor,renderHTML:n=>n.color?{"data-color":n.color,style:`background-color: ${n.color}; color: inherit`}:{}}}:{}},parseHTML(){return[{tag:"mark"}]},renderHTML({HTMLAttributes:n}){return["mark",tt(this.options.HTMLAttributes,n),0]},addCommands(){return{setHighlight:n=>({commands:e})=>e.setMark(this.name,n),toggleHighlight:n=>({commands:e})=>e.toggleMark(this.name,n),unsetHighlight:()=>({commands:n})=>n.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-h":()=>this.editor.commands.toggleHighlight()}},addInputRules(){return[No({find:M7,type:this.type})]},addPasteRules(){return[ps({find:N7,type:this.type})]}}),iX=Qt.create({name:"color",addOptions(){return{types:["textStyle"]}},addGlobalAttributes(){return[{types:this.options.types,attributes:{color:{default:null,parseHTML:n=>{var e;return(e=n.style.color)===null||e===void 0?void 0:e.replace(/['"]+/g,"")},renderHTML:n=>n.color?{style:`color: ${n.color}`}:{}}}}]},addCommands(){return{setColor:n=>({chain:e})=>e().setMark("textStyle",{color:n}).run(),unsetColor:()=>({chain:n})=>n().setMark("textStyle",{color:null}).removeEmptyTextStyle().run()}}});function R7(n){var e;const{char:t,allowSpaces:r,allowedPrefixes:i,startOfLine:s,$position:o}=n,l=b$(t),a=new RegExp(`\\s${l}$`),c=s?"^":"",u=r?new RegExp(`${c}${l}.*?(?=\\s${l}|$)`,"gm"):new RegExp(`${c}(?:^)?${l}[^\\s${l}]*`,"gm"),d=((e=o.nodeBefore)===null||e===void 0?void 0:e.isText)&&o.nodeBefore.text;if(!d)return null;const f=o.pos-d.length,p=Array.from(d.matchAll(u)).pop();if(!p||p.input===void 0||p.index===void 0)return null;const m=p.input.slice(Math.max(0,p.index-1),p.index),v=new RegExp(`^[${i==null?void 0:i.join("")}\0]?$`).test(m);if(i!==null&&!v)return null;const b=f+p.index;let w=b+p[0].length;return r&&a.test(d.slice(w-1,w+1))&&(p[0]+=" ",w+=1),b=o.pos?{range:{from:b,to:w},query:p[0].slice(t.length),text:p[0]}:null}const I7=new Nn("suggestion");function D7({pluginKey:n=I7,editor:e,char:t="@",allowSpaces:r=!1,allowedPrefixes:i=[" "],startOfLine:s=!1,decorationTag:o="span",decorationClass:l="suggestion",command:a=()=>null,items:c=()=>[],render:u=()=>({}),allow:d=()=>!0,findSuggestionMatch:f=R7}){let p;const m=u==null?void 0:u(),v=new Jn({key:n,view(){return{update:(b,w)=>_t(this,null,function*(){var S,C,h,y,g,x,k;const _=(S=this.key)===null||S===void 0?void 0:S.getState(w),E=(C=this.key)===null||C===void 0?void 0:C.getState(b.state),A=_.active&&E.active&&_.range.from!==E.range.from,M=!_.active&&E.active,N=_.active&&!E.active,D=!M&&!N&&_.query!==E.query,P=M||A&&D,T=D||A,R=N||A&&D;if(!P&&!T&&!R)return;const z=R&&!P?_:E,W=b.dom.querySelector(`[data-decoration-id="${z.decorationId}"]`);p={editor:e,range:z.range,query:z.query,text:z.text,items:[],command:le=>a({editor:e,range:z.range,props:le}),decorationNode:W,clientRect:W?()=>{var le;const{decorationId:J}=(le=this.key)===null||le===void 0?void 0:le.getState(e.state),ae=b.dom.querySelector(`[data-decoration-id="${J}"]`);return(ae==null?void 0:ae.getBoundingClientRect())||null}:null},P&&((h=m==null?void 0:m.onBeforeStart)===null||h===void 0||h.call(m,p)),T&&((y=m==null?void 0:m.onBeforeUpdate)===null||y===void 0||y.call(m,p)),(T||P)&&(p.items=yield c({editor:e,query:z.query})),R&&((g=m==null?void 0:m.onExit)===null||g===void 0||g.call(m,p)),T&&((x=m==null?void 0:m.onUpdate)===null||x===void 0||x.call(m,p)),P&&((k=m==null?void 0:m.onStart)===null||k===void 0||k.call(m,p))}),destroy:()=>{var b;!p||(b=m==null?void 0:m.onExit)===null||b===void 0||b.call(m,p)}}},state:{init(){return{active:!1,range:{from:0,to:0},query:null,text:null,composing:!1}},apply(b,w,S,C){const{isEditable:h}=e,{composing:y}=e.view,{selection:g}=b,{empty:x,from:k}=g,_=L({},w);if(_.composing=y,h&&(x||e.view.composing)){(kw.range.to)&&!y&&!w.composing&&(_.active=!1);const E=f({char:t,allowSpaces:r,allowedPrefixes:i,startOfLine:s,$position:g.$from}),A=`id_${Math.floor(Math.random()*4294967295)}`;E&&d({editor:e,state:C,range:E.range,isActive:w.active})?(_.active=!0,_.decorationId=w.decorationId?w.decorationId:A,_.range=E.range,_.query=E.query,_.text=E.text):_.active=!1}else _.active=!1;return _.active||(_.decorationId=null,_.range={from:0,to:0},_.query=null,_.text=null),_}},props:{handleKeyDown(b,w){var S;const{active:C,range:h}=v.getState(b.state);return C&&((S=m==null?void 0:m.onKeyDown)===null||S===void 0?void 0:S.call(m,{view:b,event:w,range:h}))||!1},decorations(b){const{active:w,range:S,decorationId:C}=v.getState(b);return w?qt.create(b.doc,[Ar.inline(S.from,S.to,{nodeName:o,class:l,"data-decoration-id":C})]):null}}});return v}const P7=new Nn("mention"),sX=Et.create({name:"mention",addOptions(){return{HTMLAttributes:{},renderText({options:n,node:e}){var t;return`${n.suggestion.char}${(t=e.attrs.label)!==null&&t!==void 0?t:e.attrs.id}`},deleteTriggerWithBackspace:!1,renderHTML({options:n,node:e}){var t;return["span",tt(this.HTMLAttributes,n.HTMLAttributes),`${n.suggestion.char}${(t=e.attrs.label)!==null&&t!==void 0?t:e.attrs.id}`]},suggestion:{char:"@",pluginKey:P7,command:({editor:n,range:e,props:t})=>{var r,i,s;const o=n.view.state.selection.$to.nodeAfter;((r=o==null?void 0:o.text)===null||r===void 0?void 0:r.startsWith(" "))&&(e.to+=1),n.chain().focus().insertContentAt(e,[{type:this.name,attrs:t},{type:"text",text:" "}]).run(),(s=(i=n.view.dom.ownerDocument.defaultView)===null||i===void 0?void 0:i.getSelection())===null||s===void 0||s.collapseToEnd()},allow:({state:n,range:e})=>{const t=n.doc.resolve(e.from),r=n.schema.nodes[this.name];return!!t.parent.type.contentMatch.matchType(r)}}}},group:"inline",inline:!0,selectable:!1,atom:!0,addAttributes(){return{id:{default:null,parseHTML:n=>n.getAttribute("data-id"),renderHTML:n=>n.id?{"data-id":n.id}:{}},label:{default:null,parseHTML:n=>n.getAttribute("data-label"),renderHTML:n=>n.label?{"data-label":n.label}:{}}}},parseHTML(){return[{tag:`span[data-type="${this.name}"]`}]},renderHTML({node:n,HTMLAttributes:e}){if(this.options.renderLabel!==void 0)return console.warn("renderLabel is deprecated use renderText and renderHTML instead"),["span",tt({"data-type":this.name},this.options.HTMLAttributes,e),this.options.renderLabel({options:this.options,node:n})];const t=L({},this.options);t.HTMLAttributes=tt({"data-type":this.name},this.options.HTMLAttributes,e);const r=this.options.renderHTML({options:t,node:n});return typeof r=="string"?["span",tt({"data-type":this.name},this.options.HTMLAttributes,e),r]:r},renderText({node:n}){return this.options.renderLabel!==void 0?(console.warn("renderLabel is deprecated use renderText and renderHTML instead"),this.options.renderLabel({options:this.options,node:n})):this.options.renderText({options:this.options,node:n})},addKeyboardShortcuts(){return{Backspace:()=>this.editor.commands.command(({tr:n,state:e})=>{let t=!1;const{selection:r}=e,{empty:i,anchor:s}=r;return i?(e.doc.nodesBetween(s-1,s,(o,l)=>{if(o.type.name===this.name)return t=!0,n.insertText(this.options.deleteTriggerWithBackspace?"":this.options.suggestion.char||"",l,l+o.nodeSize),!1}),t):!1})}},addProseMirrorPlugins(){return[D7(L({editor:this.editor},this.options.suggestion))]}});const L7={},$7={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},z7=te("path",{fill:"none",d:"M0 0H24V24H0z"},null,-1),B7=te("path",{d:"M13 20h-2v-7H4v7H2V4h2v7h7V4h2v16zm8-12v12h-2v-9.796l-2 .536V8.67L19.5 8H21z",fill:"currentColor"},null,-1),j7=[z7,B7];function F7(n,e){return V(),oe("svg",$7,j7)}var H7=qe(L7,[["render",F7]]);const V7={},W7={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},J7=te("path",{fill:"none",d:"M0 0H24V24H0z"},null,-1),K7=te("path",{d:"M4 4v7h7V4h2v16h-2v-7H4v7H2V4h2zm14.5 4c2.071 0 3.75 1.679 3.75 3.75 0 .857-.288 1.648-.772 2.28l-.148.18L18.034 18H22v2h-7v-1.556l4.82-5.546c.268-.307.43-.709.43-1.148 0-.966-.784-1.75-1.75-1.75-.918 0-1.671.707-1.744 1.606l-.006.144h-2C14.75 9.679 16.429 8 18.5 8z",fill:"currentColor"},null,-1),U7=[J7,K7];function q7(n,e){return V(),oe("svg",W7,U7)}var G7=qe(V7,[["render",q7]]);const Y7={},X7={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},Q7=te("path",{fill:"none",d:"M0 0H24V24H0z"},null,-1),Z7=te("path",{d:"M22 8l-.002 2-2.505 2.883c1.59.435 2.757 1.89 2.757 3.617 0 2.071-1.679 3.75-3.75 3.75-1.826 0-3.347-1.305-3.682-3.033l1.964-.382c.156.806.866 1.415 1.718 1.415.966 0 1.75-.784 1.75-1.75s-.784-1.75-1.75-1.75c-.286 0-.556.069-.794.19l-1.307-1.547L19.35 10H15V8h7zM4 4v7h7V4h2v16h-2v-7H4v7H2V4h2z",fill:"currentColor"},null,-1),eF=[Q7,Z7];function tF(n,e){return V(),oe("svg",X7,eF)}var nF=qe(Y7,[["render",tF]]);const rF={},iF={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},sF=te("path",{fill:"none",d:"M0 0H24V24H0z"},null,-1),oF=te("path",{d:"M13 20h-2v-7H4v7H2V4h2v7h7V4h2v16zm9-12v8h1.5v2H22v2h-2v-2h-5.5v-1.34l5-8.66H22zm-2 3.133L17.19 16H20v-4.867z",fill:"currentColor"},null,-1),lF=[sF,oF];function aF(n,e){return V(),oe("svg",iF,lF)}var cF=qe(rF,[["render",aF]]);const uF={},dF={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},fF=te("path",{fill:"none",d:"M0 0H24V24H0z"},null,-1),hF=te("path",{d:"M22 8v2h-4.323l-.464 2.636c.33-.089.678-.136 1.037-.136 2.21 0 4 1.79 4 4s-1.79 4-4 4c-1.827 0-3.367-1.224-3.846-2.897l1.923-.551c.24.836 1.01 1.448 1.923 1.448 1.105 0 2-.895 2-2s-.895-2-2-2c-.63 0-1.193.292-1.56.748l-1.81-.904L16 8h6zM4 4v7h7V4h2v16h-2v-7H4v7H2V4h2z",fill:"currentColor"},null,-1),pF=[fF,hF];function mF(n,e){return V(),oe("svg",dF,pF)}var gF=qe(uF,[["render",mF]]);const yF={},vF={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},bF=te("path",{fill:"none",d:"M0 0H24V24H0z"},null,-1),wF=te("path",{d:"M21.097 8l-2.598 4.5c2.21 0 4.001 1.79 4.001 4s-1.79 4-4 4-4-1.79-4-4c0-.736.199-1.426.546-2.019L18.788 8h2.309zM4 4v7h7V4h2v16h-2v-7H4v7H2V4h2zm14.5 10.5c-1.105 0-2 .895-2 2s.895 2 2 2 2-.895 2-2-.895-2-2-2z",fill:"currentColor"},null,-1),xF=[bF,wF];function SF(n,e){return V(),oe("svg",vF,xF)}var kF=qe(yF,[["render",SF]]);const EF={},CF={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},_F=te("path",{fill:"none",d:"M0 0h24v24H0z"},null,-1),TF=te("path",{d:"M13 6v15h-2V6H5V4h14v2z",fill:"currentColor"},null,-1),AF=[_F,TF];function OF(n,e){return V(),oe("svg",CF,AF)}var MF=qe(EF,[["render",OF]]);const NF={},RF={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},IF=te("path",{fill:"none",d:"M0 0h24v24H0z"},null,-1),DF=te("path",{d:"M8 11h4.5a2.5 2.5 0 1 0 0-5H8v5zm10 4.5a4.5 4.5 0 0 1-4.5 4.5H6V4h6.5a4.5 4.5 0 0 1 3.256 7.606A4.498 4.498 0 0 1 18 15.5zM8 13v5h5.5a2.5 2.5 0 1 0 0-5H8z",fill:"currentColor"},null,-1),PF=[IF,DF];function LF(n,e){return V(),oe("svg",RF,PF)}var $F=qe(NF,[["render",LF]]);const zF={},BF={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},jF=te("path",{fill:"none",d:"M0 0h24v24H0z"},null,-1),FF=te("path",{d:"M15 20H7v-2h2.927l2.116-12H9V4h8v2h-2.927l-2.116 12H15z",fill:"currentColor"},null,-1),HF=[jF,FF];function VF(n,e){return V(),oe("svg",BF,HF)}var WF=qe(zF,[["render",VF]]);const JF={},KF={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},UF=te("path",{fill:"none",d:"M0 0h24v24H0z"},null,-1),qF=te("path",{d:"M8 3v9a4 4 0 1 0 8 0V3h2v9a6 6 0 1 1-12 0V3h2zM4 20h16v2H4v-2z",fill:"currentColor"},null,-1),GF=[UF,qF];function YF(n,e){return V(),oe("svg",KF,GF)}var XF=qe(JF,[["render",YF]]);const QF={},ZF={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},e9=te("path",{fill:"none",d:"M0 0h24v24H0z"},null,-1),t9=te("path",{d:"M3 4h18v2H3V4zm2 15h14v2H5v-2zm-2-5h18v2H3v-2zm2-5h14v2H5V9z",fill:"currentColor"},null,-1),n9=[e9,t9];function r9(n,e){return V(),oe("svg",ZF,n9)}var i9=qe(QF,[["render",r9]]);const s9={},o9={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},l9=te("path",{fill:"none",d:"M0 0h24v24H0z"},null,-1),a9=te("path",{d:"M3 4h18v2H3V4zm0 15h14v2H3v-2zm0-5h18v2H3v-2zm0-5h14v2H3V9z",fill:"currentColor"},null,-1),c9=[l9,a9];function u9(n,e){return V(),oe("svg",o9,c9)}var d9=qe(s9,[["render",u9]]);const f9={},h9={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},p9=te("path",{fill:"none",d:"M0 0h24v24H0z"},null,-1),m9=te("path",{d:"M3 4h18v2H3V4zm4 15h14v2H7v-2zm-4-5h18v2H3v-2zm4-5h14v2H7V9z",fill:"currentColor"},null,-1),g9=[p9,m9];function y9(n,e){return V(),oe("svg",h9,g9)}var v9=qe(f9,[["render",y9]]);const b9={},w9={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},x9=te("path",{fill:"none",d:"M0 0h24v24H0z"},null,-1),S9=te("path",{d:"M15.246 14H8.754l-1.6 4H5l6-15h2l6 15h-2.154l-1.6-4zm-.8-2L12 5.885 9.554 12h4.892zM3 20h18v2H3v-2z",fill:"currentColor"},null,-1),k9=[x9,S9];function E9(n,e){return V(),oe("svg",w9,k9)}var C9=qe(b9,[["render",E9]]);const _9={},T9={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},A9=te("path",{fill:"none",d:"M0 0h24v24H0z"},null,-1),O9=te("path",{d:"M8 4h13v2H8V4zM5 3v3h1v1H3V6h1V4H3V3h2zM3 14v-2.5h2V11H3v-1h3v2.5H4v.5h2v1H3zm2 5.5H3v-1h2V18H3v-1h3v4H3v-1h2v-.5zM8 11h13v2H8v-2zm0 7h13v2H8v-2z",fill:"currentColor"},null,-1),M9=[A9,O9];function N9(n,e){return V(),oe("svg",T9,M9)}var R9=qe(_9,[["render",N9]]);const I9={},D9={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},P9=te("path",{fill:"none",d:"M0 0h24v24H0z"},null,-1),L9=te("path",{d:"M8 4h13v2H8V4zM4.5 6.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm0 7a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm0 6.9a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zM8 11h13v2H8v-2zm0 7h13v2H8v-2z",fill:"currentColor"},null,-1),$9=[P9,L9];function z9(n,e){return V(),oe("svg",D9,$9)}var B9=qe(I9,[["render",z9]]);const j9={},F9={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},H9=te("path",{fill:"none",d:"M0 0h24v24H0z"},null,-1),V9=te("path",{d:"M19.417 6.679C20.447 7.773 21 9 21 10.989c0 3.5-2.457 6.637-6.03 8.188l-.893-1.378c3.335-1.804 3.987-4.145 4.247-5.621-.537.278-1.24.375-1.929.311-1.804-.167-3.226-1.648-3.226-3.489a3.5 3.5 0 0 1 3.5-3.5c1.073 0 2.099.49 2.748 1.179zm-10 0C10.447 7.773 11 9 11 10.989c0 3.5-2.457 6.637-6.03 8.188l-.893-1.378c3.335-1.804 3.987-4.145 4.247-5.621-.537.278-1.24.375-1.929.311C4.591 12.322 3.17 10.841 3.17 9a3.5 3.5 0 0 1 3.5-3.5c1.073 0 2.099.49 2.748 1.179z",fill:"currentColor"},null,-1),W9=[H9,V9];function J9(n,e){return V(),oe("svg",F9,W9)}var K9=qe(j9,[["render",J9]]);const U9={},q9={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},G9=te("path",{fill:"none",d:"M0 0h24v24H0z"},null,-1),Y9=te("path",{d:"M16.95 8.464l1.414-1.414 4.95 4.95-4.95 4.95-1.414-1.414L20.485 12 16.95 8.464zm-9.9 0L3.515 12l3.535 3.536-1.414 1.414L.686 12l4.95-4.95L7.05 8.464z",fill:"currentColor"},null,-1),X9=[G9,Y9];function Q9(n,e){return V(),oe("svg",q9,X9)}var Z9=qe(U9,[["render",Q9]]);const eH={},tH={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},nH=te("path",{fill:"none",d:"M0 0h24v24H0z"},null,-1),rH=te("path",{d:"M18.364 15.536L16.95 14.12l1.414-1.414a5 5 0 1 0-7.071-7.071L9.879 7.05 8.464 5.636 9.88 4.222a7 7 0 0 1 9.9 9.9l-1.415 1.414zm-2.828 2.828l-1.415 1.414a7 7 0 0 1-9.9-9.9l1.415-1.414L7.05 9.88l-1.414 1.414a5 5 0 1 0 7.071 7.071l1.414-1.414 1.415 1.414zm-.708-10.607l1.415 1.415-7.071 7.07-1.415-1.414 7.071-7.07z",fill:"currentColor"},null,-1),iH=[nH,rH];function sH(n,e){return V(),oe("svg",tH,iH)}var oH=qe(eH,[["render",sH]]);const lH={},aH={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},cH=te("path",{fill:"none",d:"M0 0h24v24H0z"},null,-1),uH=te("path",{d:"M21 15v3h3v2h-3v3h-2v-3h-3v-2h3v-3h2zm.008-12c.548 0 .992.445.992.993V13h-2V5H4v13.999L14 9l3 3v2.829l-3-3L6.827 19H14v2H2.992A.993.993 0 0 1 2 20.007V3.993A1 1 0 0 1 2.992 3h18.016zM8 7a2 2 0 1 1 0 4 2 2 0 0 1 0-4z",fill:"currentColor"},null,-1),dH=[cH,uH];function fH(n,e){return V(),oe("svg",aH,dH)}var hH=qe(lH,[["render",fH]]);const pH={},mH={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},gH=te("path",{fill:"none",d:"M0 0H24V24H0z"},null,-1),yH=te("path",{d:"M16 4c.552 0 1 .448 1 1v4.2l5.213-3.65c.226-.158.538-.103.697.124.058.084.09.184.09.286v12.08c0 .276-.224.5-.5.5-.103 0-.203-.032-.287-.09L17 14.8V19c0 .552-.448 1-1 1H2c-.552 0-1-.448-1-1V5c0-.552.448-1 1-1h14zm-1 2H3v12h12V6zM8 8h2v3h3v2H9.999L10 16H8l-.001-3H5v-2h3V8zm13 .841l-4 2.8v.718l4 2.8V8.84z",fill:"currentColor"},null,-1),vH=[gH,yH];function bH(n,e){return V(),oe("svg",mH,vH)}var wH=qe(pH,[["render",bH]]);const xH={},SH={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},kH=te("path",{fill:"none",d:"M0 0h24v24H0z"},null,-1),EH=te("path",{d:"M5.828 7l2.536 2.536L6.95 10.95 2 6l4.95-4.95 1.414 1.414L5.828 5H13a8 8 0 1 1 0 16H4v-2h9a6 6 0 1 0 0-12H5.828z",fill:"currentColor"},null,-1),CH=[kH,EH];function _H(n,e){return V(),oe("svg",SH,CH)}var TH=qe(xH,[["render",_H]]);const AH={},OH={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},MH=te("path",{fill:"none",d:"M0 0h24v24H0z"},null,-1),NH=te("path",{d:"M18.172 7H11a6 6 0 1 0 0 12h9v2h-9a8 8 0 1 1 0-16h7.172l-2.536-2.536L17.05 1.05 22 6l-4.95 4.95-1.414-1.414L18.172 7z",fill:"currentColor"},null,-1),RH=[MH,NH];function IH(n,e){return V(),oe("svg",OH,RH)}var DH=qe(AH,[["render",IH]]);const PH={},LH={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},$H=te("path",{fill:"none",d:"M0 0h24v24H0z"},null,-1),zH=te("path",{d:"M2 11h2v2H2v-2zm4 0h12v2H6v-2zm14 0h2v2h-2v-2z",fill:"currentColor"},null,-1),BH=[$H,zH];function jH(n,e){return V(),oe("svg",LH,BH)}var FH=qe(PH,[["render",jH]]);const HH={},VH={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24"},WH=te("path",{fill:"none",d:"M0 0h24v24H0z"},null,-1),JH=te("path",{d:"M13 10v4h6v-4h-6zm-2 0H5v4h6v-4zm2 9h6v-3h-6v3zm-2 0v-3H5v3h6zm2-14v3h6V5h-6zm-2 0H5v3h6V5zM4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z",fill:"currentColor"},null,-1),KH=[WH,JH];function UH(n,e){return V(),oe("svg",VH,KH)}var qH=qe(HH,[["render",UH]]),oX={Paragraph:{label:"Paragraph",icon:MF,action:n=>n.chain().focus().setParagraph().run(),isActive:n=>n.isActive("paragraph")},"Heading 1":{label:"Heading 1",text:"H1",icon:H7,action:n=>n.chain().focus().toggleHeading({level:1}).run(),isActive:n=>n.isActive("heading",{level:1})},"Heading 2":{label:"Heading 2",text:"H2",icon:G7,action:n=>n.chain().focus().toggleHeading({level:2}).run(),isActive:n=>n.isActive("heading",{level:2})},"Heading 3":{label:"Heading 3",text:"H3",icon:nF,action:n=>n.chain().focus().toggleHeading({level:3}).run(),isActive:n=>n.isActive("heading",{level:3})},"Heading 4":{label:"Heading 4",text:"H4",icon:cF,action:n=>n.chain().focus().toggleHeading({level:4}).run(),isActive:n=>n.isActive("heading",{level:4})},"Heading 5":{label:"Heading 5",text:"H5",icon:gF,action:n=>n.chain().focus().toggleHeading({level:5}).run(),isActive:n=>n.isActive("heading",{level:5})},"Heading 6":{label:"Heading 6",text:"H6",icon:kF,action:n=>n.chain().focus().toggleHeading({level:6}).run(),isActive:n=>n.isActive("heading",{level:6})},Bold:{label:"Bold",icon:$F,action:n=>n.chain().focus().toggleBold().run(),isActive:n=>n.isActive("bold")},Italic:{label:"Italic",icon:WF,action:n=>n.chain().focus().toggleItalic().run(),isActive:n=>n.isActive("italic")},Underline:{label:"Underline",icon:XF,action:n=>n.chain().focus().toggleUnderline().run(),isActive:n=>n.isActive("underline")},"Bullet List":{label:"Bullet List",icon:B9,action:n=>n.chain().focus().toggleBulletList().run(),isActive:n=>n.isActive("bulletList")},"Numbered List":{label:"Numbered List",icon:R9,action:n=>n.chain().focus().toggleOrderedList().run(),isActive:n=>n.isActive("orderedList")},"Align Center":{label:"Align Center",icon:i9,action:n=>n.chain().focus().setTextAlign("center").run(),isActive:n=>n.isActive({textAlign:"center"})},"Align Left":{label:"Align Left",icon:d9,action:n=>n.chain().focus().setTextAlign("left").run(),isActive:n=>n.isActive({textAlign:"left"})},"Align Right":{label:"Align Right",icon:v9,action:n=>n.chain().focus().setTextAlign("right").run(),isActive:n=>n.isActive({textAlign:"right"})},FontColor:{label:"Font Color",icon:C9,isActive:n=>n.isActive("textStyle")||n.isActive("highlight"),component:Qu(()=>import("./FontColor.ab1455c4.js"))},Blockquote:{label:"Blockquote",icon:K9,action:n=>n.chain().focus().toggleBlockquote().run(),isActive:n=>n.isActive("blockquote")},Code:{label:"Code",icon:Z9,action:n=>n.chain().focus().toggleCodeBlock().run(),isActive:n=>n.isActive("codeBlock")},"Horizontal Rule":{label:"Horizontal Rule",icon:FH,action:n=>n.chain().focus().setHorizontalRule().run(),isActive:n=>!1},Link:{label:"Link",icon:oH,isActive:n=>n.isActive("link"),component:Qu(()=>import("./InsertLink.d8cb0545.js"))},Image:{label:"Image",icon:hH,isActive:n=>!1,component:Qu(()=>import("./InsertImage.771571ef.js"))},Video:{label:"Video",icon:wH,isActive:n=>!1,component:Qu(()=>import("./InsertVideo.c2ea8798.js"))},Undo:{label:"Undo",icon:TH,action:n=>n.chain().focus().undo().run(),isActive:n=>!1},Redo:{label:"Redo",icon:DH,action:n=>n.chain().focus().redo().run(),isActive:n=>!1},InsertTable:{label:"Insert Table",icon:qH,action:n=>n.chain().focus().insertTable({rows:3,cols:3,withHeaderRow:!0}).run(),isActive:n=>!1},AddColumnBefore:{label:"Add Column Before",action:n=>n.chain().focus().addColumnBefore().run(),isActive:n=>!1,isDisabled:n=>!n.can().addColumnBefore()},AddColumnAfter:{label:"Add Column After",action:n=>n.chain().focus().addColumnAfter().run(),isActive:n=>!1,isDisabled:n=>!n.can().addColumnAfter()},DeleteColumn:{label:"Delete Column",action:n=>n.chain().focus().deleteColumn().run(),isActive:n=>!1,isDisabled:n=>!n.can().deleteColumn()},AddRowBefore:{label:"Add Row Before",action:n=>n.chain().focus().addRowBefore().run(),isActive:n=>!1,isDisabled:n=>!n.can().addRowBefore()},AddRowAfter:{label:"Add Row After",action:n=>n.chain().focus().addRowAfter().run(),isActive:n=>!1,isDisabled:n=>!n.can().addRowAfter()},DeleteRow:{label:"Delete Row",action:n=>n.chain().focus().deleteRow().run(),isActive:n=>!1,isDisabled:n=>!n.can().deleteRow()},DeleteTable:{label:"Delete Table",action:n=>n.chain().focus().deleteTable().run(),isActive:n=>!1,isDisabled:n=>!n.can().deleteTable()},MergeCells:{label:"Merge Cells",action:n=>n.chain().focus().mergeCells().run(),isActive:n=>!1,isDisabled:n=>!n.can().mergeCells()},SplitCell:{label:"Split Cell",action:n=>n.chain().focus().splitCell().run(),isActive:n=>!1,isDisabled:n=>!n.can().splitCell()},ToggleHeaderColumn:{label:"Toggle Header Column",action:n=>n.chain().focus().toggleHeaderColumn().run(),isActive:n=>!1,isDisabled:n=>!n.can().toggleHeaderColumn()},ToggleHeaderRow:{label:"Toggle Header Row",action:n=>n.chain().focus().toggleHeaderRow().run(),isActive:n=>!1,isDisabled:n=>!n.can().toggleHeaderRow()},ToggleHeaderCell:{label:"Toggle Header Cell",action:n=>n.chain().focus().toggleHeaderCell().run(),isActive:n=>!1,isDisabled:n=>!n.can().toggleHeaderCell()},Separator:{type:"separator"}};var z_={exports:{}};(function(n){(function(){function e(h){var y={omitExtraWLInCodeBlocks:{defaultValue:!1,describe:"Omit the default extra whiteline added to code blocks",type:"boolean"},noHeaderId:{defaultValue:!1,describe:"Turn on/off generated header id",type:"boolean"},prefixHeaderId:{defaultValue:!1,describe:"Add a prefix to the generated header ids. Passing a string will prefix that string to the header id. Setting to true will add a generic 'section-' prefix",type:"string"},rawPrefixHeaderId:{defaultValue:!1,describe:'Setting this option to true will prevent showdown from modifying the prefix. This might result in malformed IDs (if, for instance, the " char is used in the prefix)',type:"boolean"},ghCompatibleHeaderId:{defaultValue:!1,describe:"Generate header ids compatible with github style (spaces are replaced with dashes, a bunch of non alphanumeric chars are removed)",type:"boolean"},rawHeaderId:{defaultValue:!1,describe:`Remove only spaces, ' and " from generated header ids (including prefixes), replacing them with dashes (-). WARNING: This might result in malformed ids`,type:"boolean"},headerLevelStart:{defaultValue:!1,describe:"The header blocks level start",type:"integer"},parseImgDimensions:{defaultValue:!1,describe:"Turn on/off image dimension parsing",type:"boolean"},simplifiedAutoLink:{defaultValue:!1,describe:"Turn on/off GFM autolink style",type:"boolean"},excludeTrailingPunctuationFromURLs:{defaultValue:!1,describe:"Excludes trailing punctuation from links generated with autoLinking",type:"boolean"},literalMidWordUnderscores:{defaultValue:!1,describe:"Parse midword underscores as literal underscores",type:"boolean"},literalMidWordAsterisks:{defaultValue:!1,describe:"Parse midword asterisks as literal asterisks",type:"boolean"},strikethrough:{defaultValue:!1,describe:"Turn on/off strikethrough support",type:"boolean"},tables:{defaultValue:!1,describe:"Turn on/off tables support",type:"boolean"},tablesHeaderId:{defaultValue:!1,describe:"Add an id to table headers",type:"boolean"},ghCodeBlocks:{defaultValue:!0,describe:"Turn on/off GFM fenced code blocks support",type:"boolean"},tasklists:{defaultValue:!1,describe:"Turn on/off GFM tasklist support",type:"boolean"},smoothLivePreview:{defaultValue:!1,describe:"Prevents weird effects in live previews due to incomplete input",type:"boolean"},smartIndentationFix:{defaultValue:!1,describe:"Tries to smartly fix indentation in es6 strings",type:"boolean"},disableForced4SpacesIndentedSublists:{defaultValue:!1,describe:"Disables the requirement of indenting nested sublists by 4 spaces",type:"boolean"},simpleLineBreaks:{defaultValue:!1,describe:"Parses simple line breaks as (GFM Style)",type:"boolean"},requireSpaceBeforeHeadingText:{defaultValue:!1,describe:"Makes adding a space between `#` and the header text mandatory (GFM Style)",type:"boolean"},ghMentions:{defaultValue:!1,describe:"Enables github @mentions",type:"boolean"},ghMentionsLink:{defaultValue:"https://github.com/{u}",describe:"Changes the link generated by @mentions. Only applies if ghMentions option is enabled.",type:"string"},encodeEmails:{defaultValue:!0,describe:"Encode e-mail addresses through the use of Character Entities, transforming ASCII e-mail addresses into its equivalent decimal entities",type:"boolean"},openLinksInNewWindow:{defaultValue:!1,describe:"Open all links in new windows",type:"boolean"},backslashEscapesHTMLTags:{defaultValue:!1,describe:"Support for HTML Tag escaping. ex: foo ",type:"boolean"},emoji:{defaultValue:!1,describe:"Enable emoji support. Ex: `this is a :smile: emoji`",type:"boolean"},underline:{defaultValue:!1,describe:"Enable support for underline. Syntax is double or triple underscores: `__underline word__`. With this option enabled, underscores no longer parses into `` and ``",type:"boolean"},ellipsis:{defaultValue:!0,describe:"Replaces three dots with the ellipsis unicode character",type:"boolean"},completeHTMLDocument:{defaultValue:!1,describe:"Outputs a complete html document, including ``, `` and `` tags",type:"boolean"},metadata:{defaultValue:!1,describe:"Enable support for document metadata (defined at the top of the document between `\xAB\xAB\xAB` and `\xBB\xBB\xBB` or between `---` and `---`).",type:"boolean"},splitAdjacentBlockquotes:{defaultValue:!1,describe:"Split adjacent blockquote blocks",type:"boolean"}};if(h===!1)return JSON.parse(JSON.stringify(y));var g={};for(var x in y)y.hasOwnProperty(x)&&(g[x]=y[x].defaultValue);return g}function t(){var h=e(!0),y={};for(var g in h)h.hasOwnProperty(g)&&(y[g]=!0);return y}var r={},i={},s={},o=e(!0),l="vanilla",a={github:{omitExtraWLInCodeBlocks:!0,simplifiedAutoLink:!0,excludeTrailingPunctuationFromURLs:!0,literalMidWordUnderscores:!0,strikethrough:!0,tables:!0,tablesHeaderId:!0,ghCodeBlocks:!0,tasklists:!0,disableForced4SpacesIndentedSublists:!0,simpleLineBreaks:!0,requireSpaceBeforeHeadingText:!0,ghCompatibleHeaderId:!0,ghMentions:!0,backslashEscapesHTMLTags:!0,emoji:!0,splitAdjacentBlockquotes:!0},original:{noHeaderId:!0,ghCodeBlocks:!1},ghost:{omitExtraWLInCodeBlocks:!0,parseImgDimensions:!0,simplifiedAutoLink:!0,excludeTrailingPunctuationFromURLs:!0,literalMidWordUnderscores:!0,strikethrough:!0,tables:!0,tablesHeaderId:!0,ghCodeBlocks:!0,tasklists:!0,smoothLivePreview:!0,simpleLineBreaks:!0,requireSpaceBeforeHeadingText:!0,ghMentions:!1,encodeEmails:!0},vanilla:e(!0),allOn:t()};r.helper={},r.extensions={},r.setOption=function(h,y){return o[h]=y,this},r.getOption=function(h){return o[h]},r.getOptions=function(){return o},r.resetOptions=function(){o=e(!0)},r.setFlavor=function(h){if(!a.hasOwnProperty(h))throw Error(h+" flavor was not found");r.resetOptions();var y=a[h];l=h;for(var g in y)y.hasOwnProperty(g)&&(o[g]=y[g])},r.getFlavor=function(){return l},r.getFlavorOptions=function(h){if(a.hasOwnProperty(h))return a[h]},r.getDefaultOptions=function(h){return e(h)},r.subParser=function(h,y){if(r.helper.isString(h))if(typeof y!="undefined")i[h]=y;else{if(i.hasOwnProperty(h))return i[h];throw Error("SubParser named "+h+" not registered!")}},r.extension=function(h,y){if(!r.helper.isString(h))throw Error("Extension 'name' must be a string");if(h=r.helper.stdExtName(h),r.helper.isUndefined(y)){if(!s.hasOwnProperty(h))throw Error("Extension named "+h+" is not registered!");return s[h]}else{typeof y=="function"&&(y=y()),r.helper.isArray(y)||(y=[y]);var g=c(y,h);if(g.valid)s[h]=y;else throw Error(g.error)}},r.getAllExtensions=function(){return s},r.removeExtension=function(h){delete s[h]},r.resetExtensions=function(){s={}};function c(h,y){var g=y?"Error in "+y+" extension->":"Error in unnamed extension",x={valid:!0,error:""};r.helper.isArray(h)||(h=[h]);for(var k=0;k").replace(/&/g,"&")};var d=function(h,y,g,x){var k=x||"",_=k.indexOf("g")>-1,E=new RegExp(y+"|"+g,"g"+k.replace(/g/g,"")),A=new RegExp(y,k.replace(/g/g,"")),M=[],N,D,P,T,R;do for(N=0;P=E.exec(h);)if(A.test(P[0]))N++||(D=E.lastIndex,T=D-P[0].length);else if(N&&!--N){R=P.index+P[0].length;var z={left:{start:T,end:D},match:{start:D,end:P.index},right:{start:P.index,end:R},wholeMatch:{start:T,end:R}};if(M.push(z),!_)return M}while(N&&(E.lastIndex=D));return M};r.helper.matchRecursiveRegExp=function(h,y,g,x){for(var k=d(h,y,g,x),_=[],E=0;E0){var N=[];E[0].wholeMatch.start!==0&&N.push(h.slice(0,E[0].wholeMatch.start));for(var D=0;D=0?x+(g||0):x},r.helper.splitAtIndex=function(h,y){if(!r.helper.isString(h))throw"InvalidArgumentError: first parameter of showdown.helper.regexIndexOf function must be a string";return[h.substring(0,y),h.substring(y)]},r.helper.encodeEmailAddress=function(h){var y=[function(g){return""+g.charCodeAt(0)+";"},function(g){return""+g.charCodeAt(0).toString(16)+";"},function(g){return g}];return h=h.replace(/./g,function(g){if(g==="@")g=y[Math.floor(Math.random()*2)](g);else{var x=Math.random();g=x>.9?y[2](g):x>.45?y[1](g):y[0](g)}return g}),h},r.helper.padEnd=function(y,g,x){return g=g>>0,x=String(x||" "),y.length>g?String(y):(g=g-y.length,g>x.length&&(x+=x.repeat(g/x.length)),String(y)+x.slice(0,g))},typeof console=="undefined"&&(console={warn:function(h){alert(h)},log:function(h){alert(h)},error:function(h){throw h}}),r.helper.regexes={asteriskDashAndColon:/([*_:~])/g},r.helper.emojis={"+1":"\u{1F44D}","-1":"\u{1F44E}","100":"\u{1F4AF}","1234":"\u{1F522}","1st_place_medal":"\u{1F947}","2nd_place_medal":"\u{1F948}","3rd_place_medal":"\u{1F949}","8ball":"\u{1F3B1}",a:"\u{1F170}\uFE0F",ab:"\u{1F18E}",abc:"\u{1F524}",abcd:"\u{1F521}",accept:"\u{1F251}",aerial_tramway:"\u{1F6A1}",airplane:"\u2708\uFE0F",alarm_clock:"\u23F0",alembic:"\u2697\uFE0F",alien:"\u{1F47D}",ambulance:"\u{1F691}",amphora:"\u{1F3FA}",anchor:"\u2693\uFE0F",angel:"\u{1F47C}",anger:"\u{1F4A2}",angry:"\u{1F620}",anguished:"\u{1F627}",ant:"\u{1F41C}",apple:"\u{1F34E}",aquarius:"\u2652\uFE0F",aries:"\u2648\uFE0F",arrow_backward:"\u25C0\uFE0F",arrow_double_down:"\u23EC",arrow_double_up:"\u23EB",arrow_down:"\u2B07\uFE0F",arrow_down_small:"\u{1F53D}",arrow_forward:"\u25B6\uFE0F",arrow_heading_down:"\u2935\uFE0F",arrow_heading_up:"\u2934\uFE0F",arrow_left:"\u2B05\uFE0F",arrow_lower_left:"\u2199\uFE0F",arrow_lower_right:"\u2198\uFE0F",arrow_right:"\u27A1\uFE0F",arrow_right_hook:"\u21AA\uFE0F",arrow_up:"\u2B06\uFE0F",arrow_up_down:"\u2195\uFE0F",arrow_up_small:"\u{1F53C}",arrow_upper_left:"\u2196\uFE0F",arrow_upper_right:"\u2197\uFE0F",arrows_clockwise:"\u{1F503}",arrows_counterclockwise:"\u{1F504}",art:"\u{1F3A8}",articulated_lorry:"\u{1F69B}",artificial_satellite:"\u{1F6F0}",astonished:"\u{1F632}",athletic_shoe:"\u{1F45F}",atm:"\u{1F3E7}",atom_symbol:"\u269B\uFE0F",avocado:"\u{1F951}",b:"\u{1F171}\uFE0F",baby:"\u{1F476}",baby_bottle:"\u{1F37C}",baby_chick:"\u{1F424}",baby_symbol:"\u{1F6BC}",back:"\u{1F519}",bacon:"\u{1F953}",badminton:"\u{1F3F8}",baggage_claim:"\u{1F6C4}",baguette_bread:"\u{1F956}",balance_scale:"\u2696\uFE0F",balloon:"\u{1F388}",ballot_box:"\u{1F5F3}",ballot_box_with_check:"\u2611\uFE0F",bamboo:"\u{1F38D}",banana:"\u{1F34C}",bangbang:"\u203C\uFE0F",bank:"\u{1F3E6}",bar_chart:"\u{1F4CA}",barber:"\u{1F488}",baseball:"\u26BE\uFE0F",basketball:"\u{1F3C0}",basketball_man:"\u26F9\uFE0F",basketball_woman:"\u26F9\uFE0F\u2640\uFE0F",bat:"\u{1F987}",bath:"\u{1F6C0}",bathtub:"\u{1F6C1}",battery:"\u{1F50B}",beach_umbrella:"\u{1F3D6}",bear:"\u{1F43B}",bed:"\u{1F6CF}",bee:"\u{1F41D}",beer:"\u{1F37A}",beers:"\u{1F37B}",beetle:"\u{1F41E}",beginner:"\u{1F530}",bell:"\u{1F514}",bellhop_bell:"\u{1F6CE}",bento:"\u{1F371}",biking_man:"\u{1F6B4}",bike:"\u{1F6B2}",biking_woman:"\u{1F6B4}\u2640\uFE0F",bikini:"\u{1F459}",biohazard:"\u2623\uFE0F",bird:"\u{1F426}",birthday:"\u{1F382}",black_circle:"\u26AB\uFE0F",black_flag:"\u{1F3F4}",black_heart:"\u{1F5A4}",black_joker:"\u{1F0CF}",black_large_square:"\u2B1B\uFE0F",black_medium_small_square:"\u25FE\uFE0F",black_medium_square:"\u25FC\uFE0F",black_nib:"\u2712\uFE0F",black_small_square:"\u25AA\uFE0F",black_square_button:"\u{1F532}",blonde_man:"\u{1F471}",blonde_woman:"\u{1F471}\u2640\uFE0F",blossom:"\u{1F33C}",blowfish:"\u{1F421}",blue_book:"\u{1F4D8}",blue_car:"\u{1F699}",blue_heart:"\u{1F499}",blush:"\u{1F60A}",boar:"\u{1F417}",boat:"\u26F5\uFE0F",bomb:"\u{1F4A3}",book:"\u{1F4D6}",bookmark:"\u{1F516}",bookmark_tabs:"\u{1F4D1}",books:"\u{1F4DA}",boom:"\u{1F4A5}",boot:"\u{1F462}",bouquet:"\u{1F490}",bowing_man:"\u{1F647}",bow_and_arrow:"\u{1F3F9}",bowing_woman:"\u{1F647}\u2640\uFE0F",bowling:"\u{1F3B3}",boxing_glove:"\u{1F94A}",boy:"\u{1F466}",bread:"\u{1F35E}",bride_with_veil:"\u{1F470}",bridge_at_night:"\u{1F309}",briefcase:"\u{1F4BC}",broken_heart:"\u{1F494}",bug:"\u{1F41B}",building_construction:"\u{1F3D7}",bulb:"\u{1F4A1}",bullettrain_front:"\u{1F685}",bullettrain_side:"\u{1F684}",burrito:"\u{1F32F}",bus:"\u{1F68C}",business_suit_levitating:"\u{1F574}",busstop:"\u{1F68F}",bust_in_silhouette:"\u{1F464}",busts_in_silhouette:"\u{1F465}",butterfly:"\u{1F98B}",cactus:"\u{1F335}",cake:"\u{1F370}",calendar:"\u{1F4C6}",call_me_hand:"\u{1F919}",calling:"\u{1F4F2}",camel:"\u{1F42B}",camera:"\u{1F4F7}",camera_flash:"\u{1F4F8}",camping:"\u{1F3D5}",cancer:"\u264B\uFE0F",candle:"\u{1F56F}",candy:"\u{1F36C}",canoe:"\u{1F6F6}",capital_abcd:"\u{1F520}",capricorn:"\u2651\uFE0F",car:"\u{1F697}",card_file_box:"\u{1F5C3}",card_index:"\u{1F4C7}",card_index_dividers:"\u{1F5C2}",carousel_horse:"\u{1F3A0}",carrot:"\u{1F955}",cat:"\u{1F431}",cat2:"\u{1F408}",cd:"\u{1F4BF}",chains:"\u26D3",champagne:"\u{1F37E}",chart:"\u{1F4B9}",chart_with_downwards_trend:"\u{1F4C9}",chart_with_upwards_trend:"\u{1F4C8}",checkered_flag:"\u{1F3C1}",cheese:"\u{1F9C0}",cherries:"\u{1F352}",cherry_blossom:"\u{1F338}",chestnut:"\u{1F330}",chicken:"\u{1F414}",children_crossing:"\u{1F6B8}",chipmunk:"\u{1F43F}",chocolate_bar:"\u{1F36B}",christmas_tree:"\u{1F384}",church:"\u26EA\uFE0F",cinema:"\u{1F3A6}",circus_tent:"\u{1F3AA}",city_sunrise:"\u{1F307}",city_sunset:"\u{1F306}",cityscape:"\u{1F3D9}",cl:"\u{1F191}",clamp:"\u{1F5DC}",clap:"\u{1F44F}",clapper:"\u{1F3AC}",classical_building:"\u{1F3DB}",clinking_glasses:"\u{1F942}",clipboard:"\u{1F4CB}",clock1:"\u{1F550}",clock10:"\u{1F559}",clock1030:"\u{1F565}",clock11:"\u{1F55A}",clock1130:"\u{1F566}",clock12:"\u{1F55B}",clock1230:"\u{1F567}",clock130:"\u{1F55C}",clock2:"\u{1F551}",clock230:"\u{1F55D}",clock3:"\u{1F552}",clock330:"\u{1F55E}",clock4:"\u{1F553}",clock430:"\u{1F55F}",clock5:"\u{1F554}",clock530:"\u{1F560}",clock6:"\u{1F555}",clock630:"\u{1F561}",clock7:"\u{1F556}",clock730:"\u{1F562}",clock8:"\u{1F557}",clock830:"\u{1F563}",clock9:"\u{1F558}",clock930:"\u{1F564}",closed_book:"\u{1F4D5}",closed_lock_with_key:"\u{1F510}",closed_umbrella:"\u{1F302}",cloud:"\u2601\uFE0F",cloud_with_lightning:"\u{1F329}",cloud_with_lightning_and_rain:"\u26C8",cloud_with_rain:"\u{1F327}",cloud_with_snow:"\u{1F328}",clown_face:"\u{1F921}",clubs:"\u2663\uFE0F",cocktail:"\u{1F378}",coffee:"\u2615\uFE0F",coffin:"\u26B0\uFE0F",cold_sweat:"\u{1F630}",comet:"\u2604\uFE0F",computer:"\u{1F4BB}",computer_mouse:"\u{1F5B1}",confetti_ball:"\u{1F38A}",confounded:"\u{1F616}",confused:"\u{1F615}",congratulations:"\u3297\uFE0F",construction:"\u{1F6A7}",construction_worker_man:"\u{1F477}",construction_worker_woman:"\u{1F477}\u2640\uFE0F",control_knobs:"\u{1F39B}",convenience_store:"\u{1F3EA}",cookie:"\u{1F36A}",cool:"\u{1F192}",policeman:"\u{1F46E}",copyright:"\xA9\uFE0F",corn:"\u{1F33D}",couch_and_lamp:"\u{1F6CB}",couple:"\u{1F46B}",couple_with_heart_woman_man:"\u{1F491}",couple_with_heart_man_man:"\u{1F468}\u2764\uFE0F\u{1F468}",couple_with_heart_woman_woman:"\u{1F469}\u2764\uFE0F\u{1F469}",couplekiss_man_man:"\u{1F468}\u2764\uFE0F\u{1F48B}\u{1F468}",couplekiss_man_woman:"\u{1F48F}",couplekiss_woman_woman:"\u{1F469}\u2764\uFE0F\u{1F48B}\u{1F469}",cow:"\u{1F42E}",cow2:"\u{1F404}",cowboy_hat_face:"\u{1F920}",crab:"\u{1F980}",crayon:"\u{1F58D}",credit_card:"\u{1F4B3}",crescent_moon:"\u{1F319}",cricket:"\u{1F3CF}",crocodile:"\u{1F40A}",croissant:"\u{1F950}",crossed_fingers:"\u{1F91E}",crossed_flags:"\u{1F38C}",crossed_swords:"\u2694\uFE0F",crown:"\u{1F451}",cry:"\u{1F622}",crying_cat_face:"\u{1F63F}",crystal_ball:"\u{1F52E}",cucumber:"\u{1F952}",cupid:"\u{1F498}",curly_loop:"\u27B0",currency_exchange:"\u{1F4B1}",curry:"\u{1F35B}",custard:"\u{1F36E}",customs:"\u{1F6C3}",cyclone:"\u{1F300}",dagger:"\u{1F5E1}",dancer:"\u{1F483}",dancing_women:"\u{1F46F}",dancing_men:"\u{1F46F}\u2642\uFE0F",dango:"\u{1F361}",dark_sunglasses:"\u{1F576}",dart:"\u{1F3AF}",dash:"\u{1F4A8}",date:"\u{1F4C5}",deciduous_tree:"\u{1F333}",deer:"\u{1F98C}",department_store:"\u{1F3EC}",derelict_house:"\u{1F3DA}",desert:"\u{1F3DC}",desert_island:"\u{1F3DD}",desktop_computer:"\u{1F5A5}",male_detective:"\u{1F575}\uFE0F",diamond_shape_with_a_dot_inside:"\u{1F4A0}",diamonds:"\u2666\uFE0F",disappointed:"\u{1F61E}",disappointed_relieved:"\u{1F625}",dizzy:"\u{1F4AB}",dizzy_face:"\u{1F635}",do_not_litter:"\u{1F6AF}",dog:"\u{1F436}",dog2:"\u{1F415}",dollar:"\u{1F4B5}",dolls:"\u{1F38E}",dolphin:"\u{1F42C}",door:"\u{1F6AA}",doughnut:"\u{1F369}",dove:"\u{1F54A}",dragon:"\u{1F409}",dragon_face:"\u{1F432}",dress:"\u{1F457}",dromedary_camel:"\u{1F42A}",drooling_face:"\u{1F924}",droplet:"\u{1F4A7}",drum:"\u{1F941}",duck:"\u{1F986}",dvd:"\u{1F4C0}","e-mail":"\u{1F4E7}",eagle:"\u{1F985}",ear:"\u{1F442}",ear_of_rice:"\u{1F33E}",earth_africa:"\u{1F30D}",earth_americas:"\u{1F30E}",earth_asia:"\u{1F30F}",egg:"\u{1F95A}",eggplant:"\u{1F346}",eight_pointed_black_star:"\u2734\uFE0F",eight_spoked_asterisk:"\u2733\uFE0F",electric_plug:"\u{1F50C}",elephant:"\u{1F418}",email:"\u2709\uFE0F",end:"\u{1F51A}",envelope_with_arrow:"\u{1F4E9}",euro:"\u{1F4B6}",european_castle:"\u{1F3F0}",european_post_office:"\u{1F3E4}",evergreen_tree:"\u{1F332}",exclamation:"\u2757\uFE0F",expressionless:"\u{1F611}",eye:"\u{1F441}",eye_speech_bubble:"\u{1F441}\u{1F5E8}",eyeglasses:"\u{1F453}",eyes:"\u{1F440}",face_with_head_bandage:"\u{1F915}",face_with_thermometer:"\u{1F912}",fist_oncoming:"\u{1F44A}",factory:"\u{1F3ED}",fallen_leaf:"\u{1F342}",family_man_woman_boy:"\u{1F46A}",family_man_boy:"\u{1F468}\u{1F466}",family_man_boy_boy:"\u{1F468}\u{1F466}\u{1F466}",family_man_girl:"\u{1F468}\u{1F467}",family_man_girl_boy:"\u{1F468}\u{1F467}\u{1F466}",family_man_girl_girl:"\u{1F468}\u{1F467}\u{1F467}",family_man_man_boy:"\u{1F468}\u{1F468}\u{1F466}",family_man_man_boy_boy:"\u{1F468}\u{1F468}\u{1F466}\u{1F466}",family_man_man_girl:"\u{1F468}\u{1F468}\u{1F467}",family_man_man_girl_boy:"\u{1F468}\u{1F468}\u{1F467}\u{1F466}",family_man_man_girl_girl:"\u{1F468}\u{1F468}\u{1F467}\u{1F467}",family_man_woman_boy_boy:"\u{1F468}\u{1F469}\u{1F466}\u{1F466}",family_man_woman_girl:"\u{1F468}\u{1F469}\u{1F467}",family_man_woman_girl_boy:"\u{1F468}\u{1F469}\u{1F467}\u{1F466}",family_man_woman_girl_girl:"\u{1F468}\u{1F469}\u{1F467}\u{1F467}",family_woman_boy:"\u{1F469}\u{1F466}",family_woman_boy_boy:"\u{1F469}\u{1F466}\u{1F466}",family_woman_girl:"\u{1F469}\u{1F467}",family_woman_girl_boy:"\u{1F469}\u{1F467}\u{1F466}",family_woman_girl_girl:"\u{1F469}\u{1F467}\u{1F467}",family_woman_woman_boy:"\u{1F469}\u{1F469}\u{1F466}",family_woman_woman_boy_boy:"\u{1F469}\u{1F469}\u{1F466}\u{1F466}",family_woman_woman_girl:"\u{1F469}\u{1F469}\u{1F467}",family_woman_woman_girl_boy:"\u{1F469}\u{1F469}\u{1F467}\u{1F466}",family_woman_woman_girl_girl:"\u{1F469}\u{1F469}\u{1F467}\u{1F467}",fast_forward:"\u23E9",fax:"\u{1F4E0}",fearful:"\u{1F628}",feet:"\u{1F43E}",female_detective:"\u{1F575}\uFE0F\u2640\uFE0F",ferris_wheel:"\u{1F3A1}",ferry:"\u26F4",field_hockey:"\u{1F3D1}",file_cabinet:"\u{1F5C4}",file_folder:"\u{1F4C1}",film_projector:"\u{1F4FD}",film_strip:"\u{1F39E}",fire:"\u{1F525}",fire_engine:"\u{1F692}",fireworks:"\u{1F386}",first_quarter_moon:"\u{1F313}",first_quarter_moon_with_face:"\u{1F31B}",fish:"\u{1F41F}",fish_cake:"\u{1F365}",fishing_pole_and_fish:"\u{1F3A3}",fist_raised:"\u270A",fist_left:"\u{1F91B}",fist_right:"\u{1F91C}",flags:"\u{1F38F}",flashlight:"\u{1F526}",fleur_de_lis:"\u269C\uFE0F",flight_arrival:"\u{1F6EC}",flight_departure:"\u{1F6EB}",floppy_disk:"\u{1F4BE}",flower_playing_cards:"\u{1F3B4}",flushed:"\u{1F633}",fog:"\u{1F32B}",foggy:"\u{1F301}",football:"\u{1F3C8}",footprints:"\u{1F463}",fork_and_knife:"\u{1F374}",fountain:"\u26F2\uFE0F",fountain_pen:"\u{1F58B}",four_leaf_clover:"\u{1F340}",fox_face:"\u{1F98A}",framed_picture:"\u{1F5BC}",free:"\u{1F193}",fried_egg:"\u{1F373}",fried_shrimp:"\u{1F364}",fries:"\u{1F35F}",frog:"\u{1F438}",frowning:"\u{1F626}",frowning_face:"\u2639\uFE0F",frowning_man:"\u{1F64D}\u2642\uFE0F",frowning_woman:"\u{1F64D}",middle_finger:"\u{1F595}",fuelpump:"\u26FD\uFE0F",full_moon:"\u{1F315}",full_moon_with_face:"\u{1F31D}",funeral_urn:"\u26B1\uFE0F",game_die:"\u{1F3B2}",gear:"\u2699\uFE0F",gem:"\u{1F48E}",gemini:"\u264A\uFE0F",ghost:"\u{1F47B}",gift:"\u{1F381}",gift_heart:"\u{1F49D}",girl:"\u{1F467}",globe_with_meridians:"\u{1F310}",goal_net:"\u{1F945}",goat:"\u{1F410}",golf:"\u26F3\uFE0F",golfing_man:"\u{1F3CC}\uFE0F",golfing_woman:"\u{1F3CC}\uFE0F\u2640\uFE0F",gorilla:"\u{1F98D}",grapes:"\u{1F347}",green_apple:"\u{1F34F}",green_book:"\u{1F4D7}",green_heart:"\u{1F49A}",green_salad:"\u{1F957}",grey_exclamation:"\u2755",grey_question:"\u2754",grimacing:"\u{1F62C}",grin:"\u{1F601}",grinning:"\u{1F600}",guardsman:"\u{1F482}",guardswoman:"\u{1F482}\u2640\uFE0F",guitar:"\u{1F3B8}",gun:"\u{1F52B}",haircut_woman:"\u{1F487}",haircut_man:"\u{1F487}\u2642\uFE0F",hamburger:"\u{1F354}",hammer:"\u{1F528}",hammer_and_pick:"\u2692",hammer_and_wrench:"\u{1F6E0}",hamster:"\u{1F439}",hand:"\u270B",handbag:"\u{1F45C}",handshake:"\u{1F91D}",hankey:"\u{1F4A9}",hatched_chick:"\u{1F425}",hatching_chick:"\u{1F423}",headphones:"\u{1F3A7}",hear_no_evil:"\u{1F649}",heart:"\u2764\uFE0F",heart_decoration:"\u{1F49F}",heart_eyes:"\u{1F60D}",heart_eyes_cat:"\u{1F63B}",heartbeat:"\u{1F493}",heartpulse:"\u{1F497}",hearts:"\u2665\uFE0F",heavy_check_mark:"\u2714\uFE0F",heavy_division_sign:"\u2797",heavy_dollar_sign:"\u{1F4B2}",heavy_heart_exclamation:"\u2763\uFE0F",heavy_minus_sign:"\u2796",heavy_multiplication_x:"\u2716\uFE0F",heavy_plus_sign:"\u2795",helicopter:"\u{1F681}",herb:"\u{1F33F}",hibiscus:"\u{1F33A}",high_brightness:"\u{1F506}",high_heel:"\u{1F460}",hocho:"\u{1F52A}",hole:"\u{1F573}",honey_pot:"\u{1F36F}",horse:"\u{1F434}",horse_racing:"\u{1F3C7}",hospital:"\u{1F3E5}",hot_pepper:"\u{1F336}",hotdog:"\u{1F32D}",hotel:"\u{1F3E8}",hotsprings:"\u2668\uFE0F",hourglass:"\u231B\uFE0F",hourglass_flowing_sand:"\u23F3",house:"\u{1F3E0}",house_with_garden:"\u{1F3E1}",houses:"\u{1F3D8}",hugs:"\u{1F917}",hushed:"\u{1F62F}",ice_cream:"\u{1F368}",ice_hockey:"\u{1F3D2}",ice_skate:"\u26F8",icecream:"\u{1F366}",id:"\u{1F194}",ideograph_advantage:"\u{1F250}",imp:"\u{1F47F}",inbox_tray:"\u{1F4E5}",incoming_envelope:"\u{1F4E8}",tipping_hand_woman:"\u{1F481}",information_source:"\u2139\uFE0F",innocent:"\u{1F607}",interrobang:"\u2049\uFE0F",iphone:"\u{1F4F1}",izakaya_lantern:"\u{1F3EE}",jack_o_lantern:"\u{1F383}",japan:"\u{1F5FE}",japanese_castle:"\u{1F3EF}",japanese_goblin:"\u{1F47A}",japanese_ogre:"\u{1F479}",jeans:"\u{1F456}",joy:"\u{1F602}",joy_cat:"\u{1F639}",joystick:"\u{1F579}",kaaba:"\u{1F54B}",key:"\u{1F511}",keyboard:"\u2328\uFE0F",keycap_ten:"\u{1F51F}",kick_scooter:"\u{1F6F4}",kimono:"\u{1F458}",kiss:"\u{1F48B}",kissing:"\u{1F617}",kissing_cat:"\u{1F63D}",kissing_closed_eyes:"\u{1F61A}",kissing_heart:"\u{1F618}",kissing_smiling_eyes:"\u{1F619}",kiwi_fruit:"\u{1F95D}",koala:"\u{1F428}",koko:"\u{1F201}",label:"\u{1F3F7}",large_blue_circle:"\u{1F535}",large_blue_diamond:"\u{1F537}",large_orange_diamond:"\u{1F536}",last_quarter_moon:"\u{1F317}",last_quarter_moon_with_face:"\u{1F31C}",latin_cross:"\u271D\uFE0F",laughing:"\u{1F606}",leaves:"\u{1F343}",ledger:"\u{1F4D2}",left_luggage:"\u{1F6C5}",left_right_arrow:"\u2194\uFE0F",leftwards_arrow_with_hook:"\u21A9\uFE0F",lemon:"\u{1F34B}",leo:"\u264C\uFE0F",leopard:"\u{1F406}",level_slider:"\u{1F39A}",libra:"\u264E\uFE0F",light_rail:"\u{1F688}",link:"\u{1F517}",lion:"\u{1F981}",lips:"\u{1F444}",lipstick:"\u{1F484}",lizard:"\u{1F98E}",lock:"\u{1F512}",lock_with_ink_pen:"\u{1F50F}",lollipop:"\u{1F36D}",loop:"\u27BF",loud_sound:"\u{1F50A}",loudspeaker:"\u{1F4E2}",love_hotel:"\u{1F3E9}",love_letter:"\u{1F48C}",low_brightness:"\u{1F505}",lying_face:"\u{1F925}",m:"\u24C2\uFE0F",mag:"\u{1F50D}",mag_right:"\u{1F50E}",mahjong:"\u{1F004}\uFE0F",mailbox:"\u{1F4EB}",mailbox_closed:"\u{1F4EA}",mailbox_with_mail:"\u{1F4EC}",mailbox_with_no_mail:"\u{1F4ED}",man:"\u{1F468}",man_artist:"\u{1F468}\u{1F3A8}",man_astronaut:"\u{1F468}\u{1F680}",man_cartwheeling:"\u{1F938}\u2642\uFE0F",man_cook:"\u{1F468}\u{1F373}",man_dancing:"\u{1F57A}",man_facepalming:"\u{1F926}\u2642\uFE0F",man_factory_worker:"\u{1F468}\u{1F3ED}",man_farmer:"\u{1F468}\u{1F33E}",man_firefighter:"\u{1F468}\u{1F692}",man_health_worker:"\u{1F468}\u2695\uFE0F",man_in_tuxedo:"\u{1F935}",man_judge:"\u{1F468}\u2696\uFE0F",man_juggling:"\u{1F939}\u2642\uFE0F",man_mechanic:"\u{1F468}\u{1F527}",man_office_worker:"\u{1F468}\u{1F4BC}",man_pilot:"\u{1F468}\u2708\uFE0F",man_playing_handball:"\u{1F93E}\u2642\uFE0F",man_playing_water_polo:"\u{1F93D}\u2642\uFE0F",man_scientist:"\u{1F468}\u{1F52C}",man_shrugging:"\u{1F937}\u2642\uFE0F",man_singer:"\u{1F468}\u{1F3A4}",man_student:"\u{1F468}\u{1F393}",man_teacher:"\u{1F468}\u{1F3EB}",man_technologist:"\u{1F468}\u{1F4BB}",man_with_gua_pi_mao:"\u{1F472}",man_with_turban:"\u{1F473}",tangerine:"\u{1F34A}",mans_shoe:"\u{1F45E}",mantelpiece_clock:"\u{1F570}",maple_leaf:"\u{1F341}",martial_arts_uniform:"\u{1F94B}",mask:"\u{1F637}",massage_woman:"\u{1F486}",massage_man:"\u{1F486}\u2642\uFE0F",meat_on_bone:"\u{1F356}",medal_military:"\u{1F396}",medal_sports:"\u{1F3C5}",mega:"\u{1F4E3}",melon:"\u{1F348}",memo:"\u{1F4DD}",men_wrestling:"\u{1F93C}\u2642\uFE0F",menorah:"\u{1F54E}",mens:"\u{1F6B9}",metal:"\u{1F918}",metro:"\u{1F687}",microphone:"\u{1F3A4}",microscope:"\u{1F52C}",milk_glass:"\u{1F95B}",milky_way:"\u{1F30C}",minibus:"\u{1F690}",minidisc:"\u{1F4BD}",mobile_phone_off:"\u{1F4F4}",money_mouth_face:"\u{1F911}",money_with_wings:"\u{1F4B8}",moneybag:"\u{1F4B0}",monkey:"\u{1F412}",monkey_face:"\u{1F435}",monorail:"\u{1F69D}",moon:"\u{1F314}",mortar_board:"\u{1F393}",mosque:"\u{1F54C}",motor_boat:"\u{1F6E5}",motor_scooter:"\u{1F6F5}",motorcycle:"\u{1F3CD}",motorway:"\u{1F6E3}",mount_fuji:"\u{1F5FB}",mountain:"\u26F0",mountain_biking_man:"\u{1F6B5}",mountain_biking_woman:"\u{1F6B5}\u2640\uFE0F",mountain_cableway:"\u{1F6A0}",mountain_railway:"\u{1F69E}",mountain_snow:"\u{1F3D4}",mouse:"\u{1F42D}",mouse2:"\u{1F401}",movie_camera:"\u{1F3A5}",moyai:"\u{1F5FF}",mrs_claus:"\u{1F936}",muscle:"\u{1F4AA}",mushroom:"\u{1F344}",musical_keyboard:"\u{1F3B9}",musical_note:"\u{1F3B5}",musical_score:"\u{1F3BC}",mute:"\u{1F507}",nail_care:"\u{1F485}",name_badge:"\u{1F4DB}",national_park:"\u{1F3DE}",nauseated_face:"\u{1F922}",necktie:"\u{1F454}",negative_squared_cross_mark:"\u274E",nerd_face:"\u{1F913}",neutral_face:"\u{1F610}",new:"\u{1F195}",new_moon:"\u{1F311}",new_moon_with_face:"\u{1F31A}",newspaper:"\u{1F4F0}",newspaper_roll:"\u{1F5DE}",next_track_button:"\u23ED",ng:"\u{1F196}",no_good_man:"\u{1F645}\u2642\uFE0F",no_good_woman:"\u{1F645}",night_with_stars:"\u{1F303}",no_bell:"\u{1F515}",no_bicycles:"\u{1F6B3}",no_entry:"\u26D4\uFE0F",no_entry_sign:"\u{1F6AB}",no_mobile_phones:"\u{1F4F5}",no_mouth:"\u{1F636}",no_pedestrians:"\u{1F6B7}",no_smoking:"\u{1F6AD}","non-potable_water":"\u{1F6B1}",nose:"\u{1F443}",notebook:"\u{1F4D3}",notebook_with_decorative_cover:"\u{1F4D4}",notes:"\u{1F3B6}",nut_and_bolt:"\u{1F529}",o:"\u2B55\uFE0F",o2:"\u{1F17E}\uFE0F",ocean:"\u{1F30A}",octopus:"\u{1F419}",oden:"\u{1F362}",office:"\u{1F3E2}",oil_drum:"\u{1F6E2}",ok:"\u{1F197}",ok_hand:"\u{1F44C}",ok_man:"\u{1F646}\u2642\uFE0F",ok_woman:"\u{1F646}",old_key:"\u{1F5DD}",older_man:"\u{1F474}",older_woman:"\u{1F475}",om:"\u{1F549}",on:"\u{1F51B}",oncoming_automobile:"\u{1F698}",oncoming_bus:"\u{1F68D}",oncoming_police_car:"\u{1F694}",oncoming_taxi:"\u{1F696}",open_file_folder:"\u{1F4C2}",open_hands:"\u{1F450}",open_mouth:"\u{1F62E}",open_umbrella:"\u2602\uFE0F",ophiuchus:"\u26CE",orange_book:"\u{1F4D9}",orthodox_cross:"\u2626\uFE0F",outbox_tray:"\u{1F4E4}",owl:"\u{1F989}",ox:"\u{1F402}",package:"\u{1F4E6}",page_facing_up:"\u{1F4C4}",page_with_curl:"\u{1F4C3}",pager:"\u{1F4DF}",paintbrush:"\u{1F58C}",palm_tree:"\u{1F334}",pancakes:"\u{1F95E}",panda_face:"\u{1F43C}",paperclip:"\u{1F4CE}",paperclips:"\u{1F587}",parasol_on_ground:"\u26F1",parking:"\u{1F17F}\uFE0F",part_alternation_mark:"\u303D\uFE0F",partly_sunny:"\u26C5\uFE0F",passenger_ship:"\u{1F6F3}",passport_control:"\u{1F6C2}",pause_button:"\u23F8",peace_symbol:"\u262E\uFE0F",peach:"\u{1F351}",peanuts:"\u{1F95C}",pear:"\u{1F350}",pen:"\u{1F58A}",pencil2:"\u270F\uFE0F",penguin:"\u{1F427}",pensive:"\u{1F614}",performing_arts:"\u{1F3AD}",persevere:"\u{1F623}",person_fencing:"\u{1F93A}",pouting_woman:"\u{1F64E}",phone:"\u260E\uFE0F",pick:"\u26CF",pig:"\u{1F437}",pig2:"\u{1F416}",pig_nose:"\u{1F43D}",pill:"\u{1F48A}",pineapple:"\u{1F34D}",ping_pong:"\u{1F3D3}",pisces:"\u2653\uFE0F",pizza:"\u{1F355}",place_of_worship:"\u{1F6D0}",plate_with_cutlery:"\u{1F37D}",play_or_pause_button:"\u23EF",point_down:"\u{1F447}",point_left:"\u{1F448}",point_right:"\u{1F449}",point_up:"\u261D\uFE0F",point_up_2:"\u{1F446}",police_car:"\u{1F693}",policewoman:"\u{1F46E}\u2640\uFE0F",poodle:"\u{1F429}",popcorn:"\u{1F37F}",post_office:"\u{1F3E3}",postal_horn:"\u{1F4EF}",postbox:"\u{1F4EE}",potable_water:"\u{1F6B0}",potato:"\u{1F954}",pouch:"\u{1F45D}",poultry_leg:"\u{1F357}",pound:"\u{1F4B7}",rage:"\u{1F621}",pouting_cat:"\u{1F63E}",pouting_man:"\u{1F64E}\u2642\uFE0F",pray:"\u{1F64F}",prayer_beads:"\u{1F4FF}",pregnant_woman:"\u{1F930}",previous_track_button:"\u23EE",prince:"\u{1F934}",princess:"\u{1F478}",printer:"\u{1F5A8}",purple_heart:"\u{1F49C}",purse:"\u{1F45B}",pushpin:"\u{1F4CC}",put_litter_in_its_place:"\u{1F6AE}",question:"\u2753",rabbit:"\u{1F430}",rabbit2:"\u{1F407}",racehorse:"\u{1F40E}",racing_car:"\u{1F3CE}",radio:"\u{1F4FB}",radio_button:"\u{1F518}",radioactive:"\u2622\uFE0F",railway_car:"\u{1F683}",railway_track:"\u{1F6E4}",rainbow:"\u{1F308}",rainbow_flag:"\u{1F3F3}\uFE0F\u{1F308}",raised_back_of_hand:"\u{1F91A}",raised_hand_with_fingers_splayed:"\u{1F590}",raised_hands:"\u{1F64C}",raising_hand_woman:"\u{1F64B}",raising_hand_man:"\u{1F64B}\u2642\uFE0F",ram:"\u{1F40F}",ramen:"\u{1F35C}",rat:"\u{1F400}",record_button:"\u23FA",recycle:"\u267B\uFE0F",red_circle:"\u{1F534}",registered:"\xAE\uFE0F",relaxed:"\u263A\uFE0F",relieved:"\u{1F60C}",reminder_ribbon:"\u{1F397}",repeat:"\u{1F501}",repeat_one:"\u{1F502}",rescue_worker_helmet:"\u26D1",restroom:"\u{1F6BB}",revolving_hearts:"\u{1F49E}",rewind:"\u23EA",rhinoceros:"\u{1F98F}",ribbon:"\u{1F380}",rice:"\u{1F35A}",rice_ball:"\u{1F359}",rice_cracker:"\u{1F358}",rice_scene:"\u{1F391}",right_anger_bubble:"\u{1F5EF}",ring:"\u{1F48D}",robot:"\u{1F916}",rocket:"\u{1F680}",rofl:"\u{1F923}",roll_eyes:"\u{1F644}",roller_coaster:"\u{1F3A2}",rooster:"\u{1F413}",rose:"\u{1F339}",rosette:"\u{1F3F5}",rotating_light:"\u{1F6A8}",round_pushpin:"\u{1F4CD}",rowing_man:"\u{1F6A3}",rowing_woman:"\u{1F6A3}\u2640\uFE0F",rugby_football:"\u{1F3C9}",running_man:"\u{1F3C3}",running_shirt_with_sash:"\u{1F3BD}",running_woman:"\u{1F3C3}\u2640\uFE0F",sa:"\u{1F202}\uFE0F",sagittarius:"\u2650\uFE0F",sake:"\u{1F376}",sandal:"\u{1F461}",santa:"\u{1F385}",satellite:"\u{1F4E1}",saxophone:"\u{1F3B7}",school:"\u{1F3EB}",school_satchel:"\u{1F392}",scissors:"\u2702\uFE0F",scorpion:"\u{1F982}",scorpius:"\u264F\uFE0F",scream:"\u{1F631}",scream_cat:"\u{1F640}",scroll:"\u{1F4DC}",seat:"\u{1F4BA}",secret:"\u3299\uFE0F",see_no_evil:"\u{1F648}",seedling:"\u{1F331}",selfie:"\u{1F933}",shallow_pan_of_food:"\u{1F958}",shamrock:"\u2618\uFE0F",shark:"\u{1F988}",shaved_ice:"\u{1F367}",sheep:"\u{1F411}",shell:"\u{1F41A}",shield:"\u{1F6E1}",shinto_shrine:"\u26E9",ship:"\u{1F6A2}",shirt:"\u{1F455}",shopping:"\u{1F6CD}",shopping_cart:"\u{1F6D2}",shower:"\u{1F6BF}",shrimp:"\u{1F990}",signal_strength:"\u{1F4F6}",six_pointed_star:"\u{1F52F}",ski:"\u{1F3BF}",skier:"\u26F7",skull:"\u{1F480}",skull_and_crossbones:"\u2620\uFE0F",sleeping:"\u{1F634}",sleeping_bed:"\u{1F6CC}",sleepy:"\u{1F62A}",slightly_frowning_face:"\u{1F641}",slightly_smiling_face:"\u{1F642}",slot_machine:"\u{1F3B0}",small_airplane:"\u{1F6E9}",small_blue_diamond:"\u{1F539}",small_orange_diamond:"\u{1F538}",small_red_triangle:"\u{1F53A}",small_red_triangle_down:"\u{1F53B}",smile:"\u{1F604}",smile_cat:"\u{1F638}",smiley:"\u{1F603}",smiley_cat:"\u{1F63A}",smiling_imp:"\u{1F608}",smirk:"\u{1F60F}",smirk_cat:"\u{1F63C}",smoking:"\u{1F6AC}",snail:"\u{1F40C}",snake:"\u{1F40D}",sneezing_face:"\u{1F927}",snowboarder:"\u{1F3C2}",snowflake:"\u2744\uFE0F",snowman:"\u26C4\uFE0F",snowman_with_snow:"\u2603\uFE0F",sob:"\u{1F62D}",soccer:"\u26BD\uFE0F",soon:"\u{1F51C}",sos:"\u{1F198}",sound:"\u{1F509}",space_invader:"\u{1F47E}",spades:"\u2660\uFE0F",spaghetti:"\u{1F35D}",sparkle:"\u2747\uFE0F",sparkler:"\u{1F387}",sparkles:"\u2728",sparkling_heart:"\u{1F496}",speak_no_evil:"\u{1F64A}",speaker:"\u{1F508}",speaking_head:"\u{1F5E3}",speech_balloon:"\u{1F4AC}",speedboat:"\u{1F6A4}",spider:"\u{1F577}",spider_web:"\u{1F578}",spiral_calendar:"\u{1F5D3}",spiral_notepad:"\u{1F5D2}",spoon:"\u{1F944}",squid:"\u{1F991}",stadium:"\u{1F3DF}",star:"\u2B50\uFE0F",star2:"\u{1F31F}",star_and_crescent:"\u262A\uFE0F",star_of_david:"\u2721\uFE0F",stars:"\u{1F320}",station:"\u{1F689}",statue_of_liberty:"\u{1F5FD}",steam_locomotive:"\u{1F682}",stew:"\u{1F372}",stop_button:"\u23F9",stop_sign:"\u{1F6D1}",stopwatch:"\u23F1",straight_ruler:"\u{1F4CF}",strawberry:"\u{1F353}",stuck_out_tongue:"\u{1F61B}",stuck_out_tongue_closed_eyes:"\u{1F61D}",stuck_out_tongue_winking_eye:"\u{1F61C}",studio_microphone:"\u{1F399}",stuffed_flatbread:"\u{1F959}",sun_behind_large_cloud:"\u{1F325}",sun_behind_rain_cloud:"\u{1F326}",sun_behind_small_cloud:"\u{1F324}",sun_with_face:"\u{1F31E}",sunflower:"\u{1F33B}",sunglasses:"\u{1F60E}",sunny:"\u2600\uFE0F",sunrise:"\u{1F305}",sunrise_over_mountains:"\u{1F304}",surfing_man:"\u{1F3C4}",surfing_woman:"\u{1F3C4}\u2640\uFE0F",sushi:"\u{1F363}",suspension_railway:"\u{1F69F}",sweat:"\u{1F613}",sweat_drops:"\u{1F4A6}",sweat_smile:"\u{1F605}",sweet_potato:"\u{1F360}",swimming_man:"\u{1F3CA}",swimming_woman:"\u{1F3CA}\u2640\uFE0F",symbols:"\u{1F523}",synagogue:"\u{1F54D}",syringe:"\u{1F489}",taco:"\u{1F32E}",tada:"\u{1F389}",tanabata_tree:"\u{1F38B}",taurus:"\u2649\uFE0F",taxi:"\u{1F695}",tea:"\u{1F375}",telephone_receiver:"\u{1F4DE}",telescope:"\u{1F52D}",tennis:"\u{1F3BE}",tent:"\u26FA\uFE0F",thermometer:"\u{1F321}",thinking:"\u{1F914}",thought_balloon:"\u{1F4AD}",ticket:"\u{1F3AB}",tickets:"\u{1F39F}",tiger:"\u{1F42F}",tiger2:"\u{1F405}",timer_clock:"\u23F2",tipping_hand_man:"\u{1F481}\u2642\uFE0F",tired_face:"\u{1F62B}",tm:"\u2122\uFE0F",toilet:"\u{1F6BD}",tokyo_tower:"\u{1F5FC}",tomato:"\u{1F345}",tongue:"\u{1F445}",top:"\u{1F51D}",tophat:"\u{1F3A9}",tornado:"\u{1F32A}",trackball:"\u{1F5B2}",tractor:"\u{1F69C}",traffic_light:"\u{1F6A5}",train:"\u{1F68B}",train2:"\u{1F686}",tram:"\u{1F68A}",triangular_flag_on_post:"\u{1F6A9}",triangular_ruler:"\u{1F4D0}",trident:"\u{1F531}",triumph:"\u{1F624}",trolleybus:"\u{1F68E}",trophy:"\u{1F3C6}",tropical_drink:"\u{1F379}",tropical_fish:"\u{1F420}",truck:"\u{1F69A}",trumpet:"\u{1F3BA}",tulip:"\u{1F337}",tumbler_glass:"\u{1F943}",turkey:"\u{1F983}",turtle:"\u{1F422}",tv:"\u{1F4FA}",twisted_rightwards_arrows:"\u{1F500}",two_hearts:"\u{1F495}",two_men_holding_hands:"\u{1F46C}",two_women_holding_hands:"\u{1F46D}",u5272:"\u{1F239}",u5408:"\u{1F234}",u55b6:"\u{1F23A}",u6307:"\u{1F22F}\uFE0F",u6708:"\u{1F237}\uFE0F",u6709:"\u{1F236}",u6e80:"\u{1F235}",u7121:"\u{1F21A}\uFE0F",u7533:"\u{1F238}",u7981:"\u{1F232}",u7a7a:"\u{1F233}",umbrella:"\u2614\uFE0F",unamused:"\u{1F612}",underage:"\u{1F51E}",unicorn:"\u{1F984}",unlock:"\u{1F513}",up:"\u{1F199}",upside_down_face:"\u{1F643}",v:"\u270C\uFE0F",vertical_traffic_light:"\u{1F6A6}",vhs:"\u{1F4FC}",vibration_mode:"\u{1F4F3}",video_camera:"\u{1F4F9}",video_game:"\u{1F3AE}",violin:"\u{1F3BB}",virgo:"\u264D\uFE0F",volcano:"\u{1F30B}",volleyball:"\u{1F3D0}",vs:"\u{1F19A}",vulcan_salute:"\u{1F596}",walking_man:"\u{1F6B6}",walking_woman:"\u{1F6B6}\u2640\uFE0F",waning_crescent_moon:"\u{1F318}",waning_gibbous_moon:"\u{1F316}",warning:"\u26A0\uFE0F",wastebasket:"\u{1F5D1}",watch:"\u231A\uFE0F",water_buffalo:"\u{1F403}",watermelon:"\u{1F349}",wave:"\u{1F44B}",wavy_dash:"\u3030\uFE0F",waxing_crescent_moon:"\u{1F312}",wc:"\u{1F6BE}",weary:"\u{1F629}",wedding:"\u{1F492}",weight_lifting_man:"\u{1F3CB}\uFE0F",weight_lifting_woman:"\u{1F3CB}\uFE0F\u2640\uFE0F",whale:"\u{1F433}",whale2:"\u{1F40B}",wheel_of_dharma:"\u2638\uFE0F",wheelchair:"\u267F\uFE0F",white_check_mark:"\u2705",white_circle:"\u26AA\uFE0F",white_flag:"\u{1F3F3}\uFE0F",white_flower:"\u{1F4AE}",white_large_square:"\u2B1C\uFE0F",white_medium_small_square:"\u25FD\uFE0F",white_medium_square:"\u25FB\uFE0F",white_small_square:"\u25AB\uFE0F",white_square_button:"\u{1F533}",wilted_flower:"\u{1F940}",wind_chime:"\u{1F390}",wind_face:"\u{1F32C}",wine_glass:"\u{1F377}",wink:"\u{1F609}",wolf:"\u{1F43A}",woman:"\u{1F469}",woman_artist:"\u{1F469}\u{1F3A8}",woman_astronaut:"\u{1F469}\u{1F680}",woman_cartwheeling:"\u{1F938}\u2640\uFE0F",woman_cook:"\u{1F469}\u{1F373}",woman_facepalming:"\u{1F926}\u2640\uFE0F",woman_factory_worker:"\u{1F469}\u{1F3ED}",woman_farmer:"\u{1F469}\u{1F33E}",woman_firefighter:"\u{1F469}\u{1F692}",woman_health_worker:"\u{1F469}\u2695\uFE0F",woman_judge:"\u{1F469}\u2696\uFE0F",woman_juggling:"\u{1F939}\u2640\uFE0F",woman_mechanic:"\u{1F469}\u{1F527}",woman_office_worker:"\u{1F469}\u{1F4BC}",woman_pilot:"\u{1F469}\u2708\uFE0F",woman_playing_handball:"\u{1F93E}\u2640\uFE0F",woman_playing_water_polo:"\u{1F93D}\u2640\uFE0F",woman_scientist:"\u{1F469}\u{1F52C}",woman_shrugging:"\u{1F937}\u2640\uFE0F",woman_singer:"\u{1F469}\u{1F3A4}",woman_student:"\u{1F469}\u{1F393}",woman_teacher:"\u{1F469}\u{1F3EB}",woman_technologist:"\u{1F469}\u{1F4BB}",woman_with_turban:"\u{1F473}\u2640\uFE0F",womans_clothes:"\u{1F45A}",womans_hat:"\u{1F452}",women_wrestling:"\u{1F93C}\u2640\uFE0F",womens:"\u{1F6BA}",world_map:"\u{1F5FA}",worried:"\u{1F61F}",wrench:"\u{1F527}",writing_hand:"\u270D\uFE0F",x:"\u274C",yellow_heart:"\u{1F49B}",yen:"\u{1F4B4}",yin_yang:"\u262F\uFE0F",yum:"\u{1F60B}",zap:"\u26A1\uFE0F",zipper_mouth_face:"\u{1F910}",zzz:"\u{1F4A4}",octocat:' ',showdown:`S`},r.Converter=function(h){var y={},g=[],x=[],k={},_=l,E={parsed:{},raw:"",format:""};A();function A(){h=h||{};for(var T in o)o.hasOwnProperty(T)&&(y[T]=o[T]);if(typeof h=="object")for(var R in h)h.hasOwnProperty(R)&&(y[R]=h[R]);else throw Error("Converter expects the passed parameter to be an object, but "+typeof h+" was passed instead.");y.extensions&&r.helper.forEach(y.extensions,M)}function M(T,R){if(R=R||null,r.helper.isString(T))if(T=r.helper.stdExtName(T),R=T,r.extensions[T]){console.warn("DEPRECATION WARNING: "+T+" is an old extension that uses a deprecated loading method.Please inform the developer that the extension should be updated!"),N(r.extensions[T],T);return}else if(!r.helper.isUndefined(s[T]))T=s[T];else throw Error('Extension "'+T+'" could not be loaded. It was either not found or is not a valid extension.');typeof T=="function"&&(T=T()),r.helper.isArray(T)||(T=[T]);var z=c(T,R);if(!z.valid)throw Error(z.error);for(var W=0;W")}.slider[data-v-f0f1d43e]{--trackHeight: 1px;--thumbRadius: 10px}[data-v-f0f1d43e] .slider input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:100%;background:transparent;padding:0;margin:0;cursor:pointer}[data-v-f0f1d43e] .slider input[type=range]::-webkit-slider-runnable-track{-webkit-appearance:none;appearance:none;background:#000;height:var(--trackHeight);border-radius:999px}[data-v-f0f1d43e] .slider input[type=range]:focus-visible{outline:none}[data-v-f0f1d43e] .slider input[type=range]::-webkit-slider-thumb{width:var(--thumbRadius);height:var(--thumbRadius);margin-top:calc((var(--trackHeight) - var(--thumbRadius)) / 2);background:#fff;border-radius:3px;pointer-events:all;-webkit-appearance:none;appearance:none;outline:1px solid #777777;z-index:1}[data-v-f0f1d43e] .slider:hover input[type=range]::-webkit-slider-thumb{outline:1px solid #000}[data-v-f0f1d43e] .slider input[type=range]::-webkit-slider-thumb{width:var(--thumbRadius);height:var(--thumbRadius);margin-top:calc((var(--trackHeight) - var(--thumbRadius)) / 2);background:#fff;border-radius:3px;pointer-events:all;-webkit-appearance:none;appearance:none;z-index:1}.spinner[data-v-d1174afc]{-webkit-animation:rotate-d1174afc 2s linear infinite;animation:rotate-d1174afc 2s linear infinite}.spinner-path[data-v-d1174afc]{stroke-linecap:round;-webkit-animation:dash-d1174afc 1.5s ease-in-out infinite;animation:dash-d1174afc 1.5s ease-in-out infinite}@-webkit-keyframes rotate-d1174afc{to{transform:rotate(360deg)}}@keyframes rotate-d1174afc{to{transform:rotate(360deg)}}@-webkit-keyframes dash-d1174afc{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:120,150;stroke-dashoffset:-124}}@keyframes dash-d1174afc{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:120,150;stroke-dashoffset:-124}}.item{display:block;margin:0;width:100%;text-align:left;background:transparent;border-radius:.4rem;border:1px solid transparent;padding:.2rem .4rem}.item.is-selected{border-color:#000}.ProseMirror{outline:none;caret-color:#171717;word-break:break-word}.ProseMirror-focused:focus-visible{outline:none}.ProseMirror:not(.ProseMirror-focused) p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:#999;pointer-events:none;height:0}.ProseMirror-selectednode video,img.ProseMirror-selectednode{outline:2px solid #E2E2E2}.mention{font-weight:600;-webkit-box-decoration-break:clone;box-decoration-break:clone}.prose table p{margin:0}.ProseMirror table .selectedCell:after{z-index:2;position:absolute;content:"";inset:0;pointer-events:none;background:#E3F1FD;opacity:.3}.ProseMirror table .column-resize-handle{position:absolute;right:-1px;top:0;bottom:-2px;width:4px;background-color:#e3f1fd;pointer-events:none}.resize-cursor{cursor:ew-resize;cursor:col-resize}.ProseMirror mark{border-radius:3px;padding:0 2px}.form-control.prefix select{padding-left:2.2rem!important;text-transform:capitalize!important}.current-time[data-v-fce2d822]:before{content:"";display:block;width:12px;height:12px;background-color:red;border-radius:50%;position:absolute;left:-8px;top:-5px}.calendar-column{border-left:1px solid #e5e5e5;position:relative}.calendar-column :before{content:attr(data-time-attr);position:absolute;left:-45px;top:-9px;font-size:12px;font-weight:400}.progressbar[data-v-86e3ad9e]{--size: var(--86884aa6);--bar-width: var(--55641a1f);--font-size: var(--476311d7);--color-progress: var(--697e2828);--color-remaining-circle: var(--3bc87cde);--color-complete: var(--89d730de);--progress: var(--64bdc6b2);width:var(--size);height:var(--size);border-radius:50%;display:grid;place-items:center;position:relative;font-size:var(--font-size)}@property --progress{syntax: ""; inherits: true; initial-value: 0%;}.progressbar[data-v-86e3ad9e]:before{content:"";position:absolute;inset:0;border-radius:inherit;background:conic-gradient(var(--color-progress) var(--progress),var(--color-remaining-circle) 0%);transition:--progress .5s linear;aspect-ratio:1 / 1;align-self:center}.progressbar[data-v-86e3ad9e]:after{content:"";position:absolute;background:white;border-radius:inherit;z-index:1;width:calc(100% - var(--bar-width));aspect-ratio:1 / 1}.progressbar>div[data-v-86e3ad9e]{z-index:2;position:relative}.progressbar.completed[data-v-86e3ad9e]:not(.fillOuter):after{background:var(--color-complete)}.progressbar.completed.fillOuter[data-v-86e3ad9e]:before{background:var(--color-complete)}.check-icon[data-v-86e3ad9e]{width:15px;height:15px;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODUiIGhlaWdodD0iODUiIHZpZXdCb3g9IjUgMzAgNzUgMTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0zNS40MjM3IDUzLjczMjdMNjcuOTc4NyAyMS4xNzc3TDcyLjk4OTUgMjYuMTg0MkwzNS40MTk1IDYzLjc1TDEyLjg4NiA0MS4yMTIyTDE3Ljg5MjUgMzYuMjAxNUwzNS40MjM3IDUzLjczMjdaIiBmaWxsPSIjMWYxYTM4Ii8+Cjwvc3ZnPgo=);background-size:contain;background-repeat:no-repeat;background-position:center}
+.form-select{background-image:url("data:image/svg+xml;utf8,")}.slider[data-v-55b17752]{--trackHeight: 1px;--thumbRadius: 10px}[data-v-55b17752] .slider input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:100%;background:transparent;padding:0;margin:0;cursor:pointer}[data-v-55b17752] .slider input[type=range]::-webkit-slider-runnable-track{-webkit-appearance:none;appearance:none;background:#000;height:var(--trackHeight);border-radius:999px}[data-v-55b17752] .slider input[type=range]:focus-visible{outline:none}[data-v-55b17752] .slider input[type=range]::-webkit-slider-thumb{width:var(--thumbRadius);height:var(--thumbRadius);margin-top:calc((var(--trackHeight) - var(--thumbRadius)) / 2);background:#fff;border-radius:3px;pointer-events:all;-webkit-appearance:none;appearance:none;outline:1px solid #777777;z-index:1}[data-v-55b17752] .slider:hover input[type=range]::-webkit-slider-thumb{outline:1px solid #000}[data-v-55b17752] .slider input[type=range]::-webkit-slider-thumb{width:var(--thumbRadius);height:var(--thumbRadius);margin-top:calc((var(--trackHeight) - var(--thumbRadius)) / 2);background:#fff;border-radius:3px;pointer-events:all;-webkit-appearance:none;appearance:none;z-index:1}.spinner[data-v-d1174afc]{-webkit-animation:rotate-d1174afc 2s linear infinite;animation:rotate-d1174afc 2s linear infinite}.spinner-path[data-v-d1174afc]{stroke-linecap:round;-webkit-animation:dash-d1174afc 1.5s ease-in-out infinite;animation:dash-d1174afc 1.5s ease-in-out infinite}@-webkit-keyframes rotate-d1174afc{to{transform:rotate(360deg)}}@keyframes rotate-d1174afc{to{transform:rotate(360deg)}}@-webkit-keyframes dash-d1174afc{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:120,150;stroke-dashoffset:-124}}@keyframes dash-d1174afc{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:120,150;stroke-dashoffset:-124}}.item{display:block;margin:0;width:100%;text-align:left;background:transparent;border-radius:.4rem;border:1px solid transparent;padding:.2rem .4rem}.item.is-selected{border-color:#000}.ProseMirror{outline:none;caret-color:#171717;word-break:break-word}.ProseMirror-focused:focus-visible{outline:none}.ProseMirror:not(.ProseMirror-focused) p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:#999;pointer-events:none;height:0}.ProseMirror-selectednode video,img.ProseMirror-selectednode{outline:2px solid #E2E2E2}.mention{font-weight:600;-webkit-box-decoration-break:clone;box-decoration-break:clone}.prose table p{margin:0}.ProseMirror table .selectedCell:after{z-index:2;position:absolute;content:"";inset:0;pointer-events:none;background:#E3F1FD;opacity:.3}.ProseMirror table .column-resize-handle{position:absolute;right:-1px;top:0;bottom:-2px;width:4px;background-color:#e3f1fd;pointer-events:none}.resize-cursor{cursor:ew-resize;cursor:col-resize}.ProseMirror mark{border-radius:3px;padding:0 2px}.form-control.prefix select{padding-left:2.2rem!important;text-transform:capitalize!important}.current-time[data-v-fce2d822]:before{content:"";display:block;width:12px;height:12px;background-color:red;border-radius:50%;position:absolute;left:-8px;top:-5px}.calendar-column{border-left:1px solid #e5e5e5;position:relative}.calendar-column :before{content:attr(data-time-attr);position:absolute;left:-45px;top:-9px;font-size:12px;font-weight:400}.progressbar[data-v-86e3ad9e]{--size: var(--86884aa6);--bar-width: var(--55641a1f);--font-size: var(--476311d7);--color-progress: var(--697e2828);--color-remaining-circle: var(--3bc87cde);--color-complete: var(--89d730de);--progress: var(--64bdc6b2);width:var(--size);height:var(--size);border-radius:50%;display:grid;place-items:center;position:relative;font-size:var(--font-size)}@property --progress{syntax: ""; inherits: true; initial-value: 0%;}.progressbar[data-v-86e3ad9e]:before{content:"";position:absolute;inset:0;border-radius:inherit;background:conic-gradient(var(--color-progress) var(--progress),var(--color-remaining-circle) 0%);transition:--progress .5s linear;aspect-ratio:1 / 1;align-self:center}.progressbar[data-v-86e3ad9e]:after{content:"";position:absolute;background:white;border-radius:inherit;z-index:1;width:calc(100% - var(--bar-width));aspect-ratio:1 / 1}.progressbar>div[data-v-86e3ad9e]{z-index:2;position:relative}.progressbar.completed[data-v-86e3ad9e]:not(.fillOuter):after{background:var(--color-complete)}.progressbar.completed.fillOuter[data-v-86e3ad9e]:before{background:var(--color-complete)}.check-icon[data-v-86e3ad9e]{width:15px;height:15px;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODUiIGhlaWdodD0iODUiIHZpZXdCb3g9IjUgMzAgNzUgMTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0zNS40MjM3IDUzLjczMjdMNjcuOTc4NyAyMS4xNzc3TDcyLjk4OTUgMjYuMTg0MkwzNS40MTk1IDYzLjc1TDEyLjg4NiA0MS4yMTIyTDE3Ljg5MjUgMzYuMjAxNUwzNS40MjM3IDUzLjczMjdaIiBmaWxsPSIjMWYxYTM4Ii8+Cjwvc3ZnPgo=);background-size:contain;background-repeat:no-repeat;background-position:center}
diff --git a/suppliers_portal/public/supplier-portal/index.html b/suppliers_portal/public/supplier-portal/index.html
index 8f39a8c..a6d8cb3 100644
--- a/suppliers_portal/public/supplier-portal/index.html
+++ b/suppliers_portal/public/supplier-portal/index.html
@@ -5,9 +5,9 @@
Supplier Portal
-
-
-
+
+
+
diff --git a/suppliers_portal/suppliers_portal/api.py b/suppliers_portal/suppliers_portal/api.py
index 93294ae..ff12713 100644
--- a/suppliers_portal/suppliers_portal/api.py
+++ b/suppliers_portal/suppliers_portal/api.py
@@ -3,18 +3,18 @@ import frappe
@frappe.whitelist(allow_guest=True)
def validate_supplier_id(supplier_id: str) -> dict:
- if frappe.db.exists("Supplier", {"name": supplier_id}):
- user = frappe.get_doc("User", f"{supplier_id}@supplier-portal.com")
- portal_supplier = frappe.get_doc("Supplier", supplier_id)
- # login user
- frappe.local.login_manager.user = user.name
- frappe.local.login_manager.post_login()
- return {
- "status": "success",
- "message": "User logged in successfully",
- "supplier_id": supplier_id,
- "supplier_name": portal_supplier.company_name,
- }
- else:
- frappe.local.response["http_status_code"] = 404
- frappe.throw("Supplier not found", frappe.AuthenticationError)
+ if frappe.db.exists("Supplier", {"name": supplier_id}):
+ user = frappe.get_doc("User", f"{supplier_id}@supplier-portal.com")
+ portal_supplier = frappe.get_doc("Supplier", supplier_id)
+ # login user
+ frappe.local.login_manager.user = user.name
+ frappe.local.login_manager.post_login()
+ return {
+ "status": "success",
+ "message": "User logged in successfully",
+ "supplier_id": supplier_id,
+ "supplier_name": portal_supplier.company_name,
+ }
+ else:
+ frappe.local.response["http_status_code"] = 404
+ frappe.throw("Supplier not found", frappe.AuthenticationError)
diff --git a/suppliers_portal/suppliers_portal/custom/purchase_invoice.json b/suppliers_portal/suppliers_portal/custom/purchase_invoice.json
new file mode 100644
index 0000000..3bddbcb
--- /dev/null
+++ b/suppliers_portal/suppliers_portal/custom/purchase_invoice.json
@@ -0,0 +1,137 @@
+{
+ "custom_fields": [
+ {
+ "_assign": null,
+ "_comments": null,
+ "_liked_by": null,
+ "_user_tags": null,
+ "allow_in_quick_entry": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": null,
+ "columns": 0,
+ "creation": "2025-05-19 02:22:24.828657",
+ "default": null,
+ "depends_on": null,
+ "description": null,
+ "docstatus": 0,
+ "dt": "Purchase Invoice",
+ "fetch_from": null,
+ "fetch_if_empty": 0,
+ "fieldname": "service_date",
+ "fieldtype": "Date",
+ "hidden": 0,
+ "hide_border": 0,
+ "hide_days": 0,
+ "hide_seconds": 0,
+ "idx": 12,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 0,
+ "in_preview": 0,
+ "in_standard_filter": 0,
+ "insert_after": "due_date",
+ "is_system_generated": 0,
+ "is_virtual": 0,
+ "label": "Service Date",
+ "length": 0,
+ "link_filters": null,
+ "mandatory_depends_on": null,
+ "modified": "2025-05-19 02:22:24.828657",
+ "modified_by": "Administrator",
+ "module": null,
+ "name": "Purchase Invoice-service_date",
+ "no_copy": 0,
+ "non_negative": 0,
+ "options": null,
+ "owner": "Administrator",
+ "permlevel": 0,
+ "placeholder": null,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": null,
+ "read_only": 0,
+ "read_only_depends_on": null,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "show_dashboard": 0,
+ "sort_options": 0,
+ "translatable": 0,
+ "unique": 0,
+ "width": null
+ },
+ {
+ "_assign": null,
+ "_comments": null,
+ "_liked_by": null,
+ "_user_tags": null,
+ "allow_in_quick_entry": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": null,
+ "columns": 0,
+ "creation": "2025-05-19 02:22:24.721092",
+ "default": null,
+ "depends_on": null,
+ "description": null,
+ "docstatus": 0,
+ "dt": "Purchase Invoice",
+ "fetch_from": null,
+ "fetch_if_empty": 0,
+ "fieldname": "site_code",
+ "fieldtype": "Data",
+ "hidden": 0,
+ "hide_border": 0,
+ "hide_days": 0,
+ "hide_seconds": 0,
+ "idx": 6,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 0,
+ "in_preview": 0,
+ "in_standard_filter": 0,
+ "insert_after": "company",
+ "is_system_generated": 0,
+ "is_virtual": 0,
+ "label": "Site Code",
+ "length": 0,
+ "link_filters": null,
+ "mandatory_depends_on": null,
+ "modified": "2025-05-19 02:22:24.721092",
+ "modified_by": "Administrator",
+ "module": null,
+ "name": "Purchase Invoice-site_code",
+ "no_copy": 0,
+ "non_negative": 0,
+ "options": null,
+ "owner": "Administrator",
+ "permlevel": 0,
+ "placeholder": null,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": null,
+ "read_only": 0,
+ "read_only_depends_on": null,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "show_dashboard": 0,
+ "sort_options": 0,
+ "translatable": 1,
+ "unique": 0,
+ "width": null
+ }
+ ],
+ "custom_perms": [],
+ "doctype": "Purchase Invoice",
+ "links": [],
+ "property_setters": [],
+ "sync_on_migrate": 1
+}
diff --git a/suppliers_portal/suppliers_portal/doctype/invoice_payment_references/__init__.py b/suppliers_portal/suppliers_portal/doctype/invoice_payment_references/__init__.py
deleted file mode 100644
index e69de29..0000000
diff --git a/suppliers_portal/suppliers_portal/doctype/invoice_payment_references/invoice_payment_references.json b/suppliers_portal/suppliers_portal/doctype/invoice_payment_references/invoice_payment_references.json
deleted file mode 100644
index 744d887..0000000
--- a/suppliers_portal/suppliers_portal/doctype/invoice_payment_references/invoice_payment_references.json
+++ /dev/null
@@ -1,47 +0,0 @@
-{
- "actions": [],
- "allow_rename": 1,
- "creation": "2024-10-09 16:28:25.879209",
- "doctype": "DocType",
- "editable_grid": 1,
- "engine": "InnoDB",
- "field_order": [
- "payment_reference_number",
- "payment_reference_date",
- "column_break_nukw",
- "paid_amount"
- ],
- "fields": [
- {
- "fieldname": "payment_reference_number",
- "fieldtype": "Data",
- "label": "Reference Number"
- },
- {
- "fieldname": "payment_reference_date",
- "fieldtype": "Date",
- "label": "Payment Date"
- },
- {
- "fieldname": "column_break_nukw",
- "fieldtype": "Column Break"
- },
- {
- "fieldname": "paid_amount",
- "fieldtype": "Currency",
- "label": "Amount"
- }
- ],
- "index_web_pages_for_search": 1,
- "istable": 1,
- "links": [],
- "modified": "2024-10-12 07:16:26.416034",
- "modified_by": "Administrator",
- "module": "Suppliers Portal",
- "name": "Invoice Payment References",
- "owner": "Administrator",
- "permissions": [],
- "sort_field": "creation",
- "sort_order": "DESC",
- "states": []
-}
\ No newline at end of file
diff --git a/suppliers_portal/suppliers_portal/doctype/invoice_payment_references/invoice_payment_references.py b/suppliers_portal/suppliers_portal/doctype/invoice_payment_references/invoice_payment_references.py
deleted file mode 100644
index 56b0146..0000000
--- a/suppliers_portal/suppliers_portal/doctype/invoice_payment_references/invoice_payment_references.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (c) 2024, jeowsome15@gmail.com and contributors
-# For license information, please see license.txt
-
-# import frappe
-from frappe.model.document import Document
-
-
-class InvoicePaymentReferences(Document):
- pass
diff --git a/suppliers_portal/suppliers_portal/doctype/invoices/__init__.py b/suppliers_portal/suppliers_portal/doctype/invoices/__init__.py
deleted file mode 100644
index e69de29..0000000
diff --git a/suppliers_portal/suppliers_portal/doctype/invoices/invoices.js b/suppliers_portal/suppliers_portal/doctype/invoices/invoices.js
deleted file mode 100644
index feb8080..0000000
--- a/suppliers_portal/suppliers_portal/doctype/invoices/invoices.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright (c) 2024, jeowsome15@gmail.com and contributors
-// For license information, please see license.txt
-
-// frappe.ui.form.on("Invoices", {
-// refresh(frm) {
-
-// },
-// });
diff --git a/suppliers_portal/suppliers_portal/doctype/invoices/invoices.json b/suppliers_portal/suppliers_portal/doctype/invoices/invoices.json
deleted file mode 100644
index f822930..0000000
--- a/suppliers_portal/suppliers_portal/doctype/invoices/invoices.json
+++ /dev/null
@@ -1,216 +0,0 @@
-{
- "actions": [],
- "allow_rename": 1,
- "autoname": "field:supplier_invoice_number",
- "creation": "2024-09-24 02:44:02.596278",
- "doctype": "DocType",
- "engine": "InnoDB",
- "field_order": [
- "supplier_invoice_number",
- "supplier",
- "supplier_name",
- "column_break_yjtl",
- "service_date",
- "invoice_date",
- "invoice_terms",
- "due_date",
- "status",
- "section_break_swkm",
- "supplier_invoice_items",
- "section_break_slsq",
- "payment_references",
- "section_break_ajbe",
- "paid_amount",
- "amount_due",
- "total_amount",
- "column_break_quxe",
- "section_break_olmx",
- "service_address",
- "site_code",
- "street",
- "city",
- "state",
- "zip_code",
- "column_break_hvmc",
- "notes"
- ],
- "fields": [
- {
- "fieldname": "supplier",
- "fieldtype": "Link",
- "label": "Supplier",
- "options": "Supplier"
- },
- {
- "fieldname": "supplier_invoice_number",
- "fieldtype": "Data",
- "in_list_view": 1,
- "label": "Supplier Invoice Number",
- "reqd": 1,
- "unique": 1
- },
- {
- "default": "Due On Receipt",
- "fieldname": "invoice_terms",
- "fieldtype": "Select",
- "in_list_view": 1,
- "label": "Invoice Terms",
- "options": "NET 10\nNET 15\nNET 30\nNET 45\nNET 60\nDue On Receipt",
- "reqd": 1
- },
- {
- "fieldname": "column_break_yjtl",
- "fieldtype": "Column Break"
- },
- {
- "fieldname": "section_break_swkm",
- "fieldtype": "Section Break"
- },
- {
- "fieldname": "supplier_invoice_items",
- "fieldtype": "Table",
- "label": "Invoice Items",
- "options": "Supplier Invoice Items"
- },
- {
- "default": "Unpaid",
- "fieldname": "status",
- "fieldtype": "Select",
- "hidden": 1,
- "label": "Status",
- "options": "Paid\nUnpaid\nOverdue\nPartially Paid\nPartially Paid and Overdue"
- },
- {
- "fieldname": "service_date",
- "fieldtype": "Date",
- "in_list_view": 1,
- "label": "Service Date",
- "reqd": 1
- },
- {
- "fieldname": "section_break_olmx",
- "fieldtype": "Section Break"
- },
- {
- "fieldname": "notes",
- "fieldtype": "Small Text",
- "label": "Notes"
- },
- {
- "fetch_from": "supplier.company_name",
- "fieldname": "supplier_name",
- "fieldtype": "Data",
- "hidden": 1,
- "label": "Supplier Name",
- "read_only": 1
- },
- {
- "fieldname": "service_address",
- "fieldtype": "Small Text",
- "hidden": 1,
- "label": "Service Address"
- },
- {
- "fieldname": "section_break_ajbe",
- "fieldtype": "Section Break"
- },
- {
- "fieldname": "total_amount",
- "fieldtype": "Currency",
- "label": "Total Amount",
- "read_only": 1
- },
- {
- "fieldname": "column_break_quxe",
- "fieldtype": "Column Break"
- },
- {
- "fieldname": "street",
- "fieldtype": "Data",
- "label": "Street"
- },
- {
- "fieldname": "city",
- "fieldtype": "Data",
- "label": "City"
- },
- {
- "fieldname": "state",
- "fieldtype": "Data",
- "label": "State"
- },
- {
- "fieldname": "zip_code",
- "fieldtype": "Data",
- "label": "Zip Code"
- },
- {
- "fieldname": "column_break_hvmc",
- "fieldtype": "Column Break"
- },
- {
- "fieldname": "invoice_date",
- "fieldtype": "Date",
- "in_list_view": 1,
- "label": "Invoice Date",
- "reqd": 1
- },
- {
- "fieldname": "due_date",
- "fieldtype": "Date",
- "label": "Due Date"
- },
- {
- "fieldname": "site_code",
- "fieldtype": "Data",
- "label": "Site Code"
- },
- {
- "fieldname": "section_break_slsq",
- "fieldtype": "Section Break"
- },
- {
- "fieldname": "payment_references",
- "fieldtype": "Table",
- "label": "Payment References",
- "options": "Invoice Payment References"
- },
- {
- "fieldname": "paid_amount",
- "fieldtype": "Currency",
- "label": "Paid Amount",
- "read_only": 1
- },
- {
- "fieldname": "amount_due",
- "fieldtype": "Currency",
- "label": "Amount Due",
- "read_only": 1
- }
- ],
- "index_web_pages_for_search": 1,
- "links": [],
- "modified": "2024-10-12 08:12:37.273898",
- "modified_by": "Administrator",
- "module": "Suppliers Portal",
- "name": "Invoices",
- "naming_rule": "By fieldname",
- "owner": "Administrator",
- "permissions": [
- {
- "create": 1,
- "delete": 1,
- "email": 1,
- "export": 1,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "System Manager",
- "share": 1,
- "write": 1
- }
- ],
- "sort_field": "creation",
- "sort_order": "DESC",
- "states": []
-}
\ No newline at end of file
diff --git a/suppliers_portal/suppliers_portal/doctype/invoices/invoices.py b/suppliers_portal/suppliers_portal/doctype/invoices/invoices.py
deleted file mode 100644
index e34af37..0000000
--- a/suppliers_portal/suppliers_portal/doctype/invoices/invoices.py
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright (c) 2024, jeowsome15@gmail.com and contributors
-# For license information, please see license.txt
-
-import frappe
-from frappe.model.document import Document
-from frappe.utils import add_days, flt, getdate, nowdate
-
-
-class Invoices(Document):
- def validate(self):
- self.set_due_date()
- self.set_total_amount()
- self.set_total_paid()
- self.update_amount_due()
- self.update_status()
-
- def on_update(self):
- self.update_suppliers_invoice()
-
- def set_total_amount(self):
- if self.get("supplier_invoice_items"):
- total_amount = 0
- for item in self.get("supplier_invoice_items"):
- item.amount = flt(item.rate) * flt(item.quantity)
- total_amount += item.amount
- self.db_set("total_amount", total_amount)
-
- def set_due_date(self):
- if self.invoice_terms:
- if self.invoice_terms == "NET 10":
- self.due_date = add_days(self.invoice_date, 10)
- elif self.invoice_terms == "NET 15":
- self.due_date = add_days(self.invoice_date, 15)
- elif self.invoice_terms == "NET 30":
- self.due_date = add_days(self.invoice_date, 30)
- elif self.invoice_terms == "NET 45":
- self.due_date = add_days(self.invoice_date, 45)
- elif self.invoice_terms == "NET 60":
- self.due_date = add_days(self.invoice_date, 60)
-
- def set_total_paid(self):
- total_paid = 0
- for item in self.payment_references:
- total_paid += item.paid_amount
- self.db_set("paid_amount", total_paid)
-
- def update_status(self):
- if self.paid_amount == 0:
- self.status = "Unpaid"
- elif self.paid_amount < self.total_amount and self.paid_amount > 0:
- self.status = "Partially Paid"
- elif self.paid_amount == self.total_amount:
- self.status = "Paid"
-
- if getdate(nowdate()) > getdate(self.due_date):
- if self.paid_amount == 0:
- self.status = "Overdue"
- elif self.paid_amount < self.total_amount:
- self.status = "Partially Paid and Overdue"
-
- self.db_set("status", self.status, update_modified=False, commit=True)
-
- def update_amount_due(self):
- self.db_set(
- "amount_due",
- flt(self.total_amount) - flt(self.paid_amount),
- update_modified=False,
- commit=True,
- )
-
- def update_suppliers_invoice(self):
- supplier = frappe.get_doc("Supplier", self.supplier)
-
- # check if invoice already exists
- for invoice in supplier.invoices:
- if invoice.invoice_number == self.name:
- if invoice.total_due != self.total_amount:
- invoice.total_amount = self.total_amount
- if invoice.invoice_date != self.invoice_date:
- invoice.invoice_date = self.invoice_date
- if invoice.status != self.status:
- invoice.status = self.status
- supplier.save()
- return
-
- supplier.append(
- "invoices",
- {"invoice_number": self.name},
- )
- supplier.save()
diff --git a/suppliers_portal/suppliers_portal/doctype/invoices/invoices_list.js b/suppliers_portal/suppliers_portal/doctype/invoices/invoices_list.js
deleted file mode 100644
index e97ed9f..0000000
--- a/suppliers_portal/suppliers_portal/doctype/invoices/invoices_list.js
+++ /dev/null
@@ -1,5 +0,0 @@
-frappe.listview_settings['Invoices'] = {
- before_render() {
- $('button[data-label="Add Invoices"]>span>span').html('Add Invoice')
- },
-}
\ No newline at end of file
diff --git a/suppliers_portal/suppliers_portal/doctype/invoices/test_invoices.py b/suppliers_portal/suppliers_portal/doctype/invoices/test_invoices.py
deleted file mode 100644
index 18b6ab2..0000000
--- a/suppliers_portal/suppliers_portal/doctype/invoices/test_invoices.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (c) 2024, jeowsome15@gmail.com and Contributors
-# See license.txt
-
-# import frappe
-from frappe.tests.utils import FrappeTestCase
-
-
-class TestInvoices(FrappeTestCase):
- pass
diff --git a/suppliers_portal/suppliers_portal/doctype/supplier/__init__.py b/suppliers_portal/suppliers_portal/doctype/supplier/__init__.py
deleted file mode 100644
index e69de29..0000000
diff --git a/suppliers_portal/suppliers_portal/doctype/supplier/supplier.js b/suppliers_portal/suppliers_portal/doctype/supplier/supplier.js
deleted file mode 100644
index be91dd9..0000000
--- a/suppliers_portal/suppliers_portal/doctype/supplier/supplier.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright (c) 2024, jeowsome15@gmail.com and contributors
-// For license information, please see license.txt
-
-// frappe.ui.form.on("Supplier", {
-// refresh(frm) {
-
-// },
-// });
diff --git a/suppliers_portal/suppliers_portal/doctype/supplier/supplier.json b/suppliers_portal/suppliers_portal/doctype/supplier/supplier.json
deleted file mode 100644
index e57f319..0000000
--- a/suppliers_portal/suppliers_portal/doctype/supplier/supplier.json
+++ /dev/null
@@ -1,100 +0,0 @@
-{
- "actions": [],
- "allow_rename": 1,
- "creation": "2024-09-24 02:39:16.353285",
- "doctype": "DocType",
- "engine": "InnoDB",
- "field_order": [
- "company_name",
- "column_break_ykyo",
- "company_address",
- "user",
- "street",
- "city",
- "state",
- "zip_code",
- "section_break_svzz",
- "invoices"
- ],
- "fields": [
- {
- "fieldname": "company_name",
- "fieldtype": "Data",
- "label": "Company Name"
- },
- {
- "fieldname": "company_address",
- "fieldtype": "Small Text",
- "hidden": 1,
- "label": "Company Address"
- },
- {
- "fieldname": "user",
- "fieldtype": "Link",
- "hidden": 1,
- "label": "User",
- "options": "User"
- },
- {
- "fieldname": "column_break_ykyo",
- "fieldtype": "Column Break"
- },
- {
- "fieldname": "street",
- "fieldtype": "Data",
- "label": "Street"
- },
- {
- "fieldname": "city",
- "fieldtype": "Data",
- "label": "City"
- },
- {
- "fieldname": "state",
- "fieldtype": "Data",
- "label": "State"
- },
- {
- "fieldname": "zip_code",
- "fieldtype": "Data",
- "label": "Zip Code"
- },
- {
- "fieldname": "section_break_svzz",
- "fieldtype": "Section Break"
- },
- {
- "fieldname": "invoices",
- "fieldtype": "Table",
- "label": "Invoices",
- "options": "Supplier Invoices",
- "read_only": 1
- }
- ],
- "links": [],
- "modified": "2024-10-09 18:09:28.675273",
- "modified_by": "Administrator",
- "module": "Suppliers Portal",
- "name": "Supplier",
- "owner": "Administrator",
- "permissions": [
- {
- "create": 1,
- "delete": 1,
- "email": 1,
- "export": 1,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "System Manager",
- "share": 1,
- "write": 1
- }
- ],
- "search_fields": "company_name",
- "show_title_field_in_link": 1,
- "sort_field": "creation",
- "sort_order": "DESC",
- "states": [],
- "title_field": "company_name"
-}
\ No newline at end of file
diff --git a/suppliers_portal/suppliers_portal/doctype/supplier/supplier.py b/suppliers_portal/suppliers_portal/doctype/supplier/supplier.py
deleted file mode 100644
index 0da8034..0000000
--- a/suppliers_portal/suppliers_portal/doctype/supplier/supplier.py
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright (c) 2024, jeowsome15@gmail.com and contributors
-# For license information, please see license.txt
-
-import random
-
-import frappe
-from frappe.model.document import Document
-
-
-class Supplier(Document):
- def generate_supplier_id(self, length: int = 8) -> str:
- # generate unique supplier integer id based on length
- supplier_id = random.randint(10 ** (length - 1), 10**length - 1)
-
- while frappe.db.exists("Supplier", {"supplier_id": supplier_id}):
- supplier_id = random.randint(10 ** (length - 1), 10**length - 1)
-
- return str(supplier_id)
-
- def autoname(self):
- self.name = self.generate_supplier_id()
-
- def after_insert(self):
- self.create_user()
-
- def create_user(self):
- user = frappe.new_doc("User")
- user.update(
- {
- "email": f"{self.name}@supplier-portal.com",
- "first_name": f"Supplier {self.name}",
- "roles": [{"role": "Portal Supplier"}],
- "new_password": self.name,
- }
- )
- user.insert()
- self.user = user.name
- self.save()
diff --git a/suppliers_portal/suppliers_portal/doctype/supplier/templates/portal_supplier.html b/suppliers_portal/suppliers_portal/doctype/supplier/templates/portal_supplier.html
deleted file mode 100644
index 63803ce..0000000
--- a/suppliers_portal/suppliers_portal/doctype/supplier/templates/portal_supplier.html
+++ /dev/null
@@ -1,7 +0,0 @@
-{% extends "templates/web.html" %}
-
-{% block page_content %}
-{{ title |e }}
-{% endblock %}
-
-
\ No newline at end of file
diff --git a/suppliers_portal/suppliers_portal/doctype/supplier/templates/portal_supplier_row.html b/suppliers_portal/suppliers_portal/doctype/supplier/templates/portal_supplier_row.html
deleted file mode 100644
index 88db3f7..0000000
--- a/suppliers_portal/suppliers_portal/doctype/supplier/templates/portal_supplier_row.html
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
diff --git a/suppliers_portal/suppliers_portal/doctype/supplier/test_supplier.py b/suppliers_portal/suppliers_portal/doctype/supplier/test_supplier.py
deleted file mode 100644
index 03d842c..0000000
--- a/suppliers_portal/suppliers_portal/doctype/supplier/test_supplier.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (c) 2024, jeowsome15@gmail.com and Contributors
-# See license.txt
-
-# import frappe
-from frappe.tests.utils import FrappeTestCase
-
-
-class TestSupplier(FrappeTestCase):
- pass
diff --git a/suppliers_portal/suppliers_portal/doctype/supplier_invoice_items/__init__.py b/suppliers_portal/suppliers_portal/doctype/supplier_invoice_items/__init__.py
deleted file mode 100644
index e69de29..0000000
diff --git a/suppliers_portal/suppliers_portal/doctype/supplier_invoice_items/supplier_invoice_items.json b/suppliers_portal/suppliers_portal/doctype/supplier_invoice_items/supplier_invoice_items.json
deleted file mode 100644
index b19ba4e..0000000
--- a/suppliers_portal/suppliers_portal/doctype/supplier_invoice_items/supplier_invoice_items.json
+++ /dev/null
@@ -1,56 +0,0 @@
-{
- "actions": [],
- "allow_rename": 1,
- "creation": "2024-09-24 02:47:44.354811",
- "doctype": "DocType",
- "editable_grid": 1,
- "engine": "InnoDB",
- "field_order": [
- "service_type",
- "column_break_ocxt",
- "quantity",
- "rate",
- "amount"
- ],
- "fields": [
- {
- "fieldname": "service_type",
- "fieldtype": "Select",
- "label": "Service Type",
- "options": "Repair\nPreventive Maintence"
- },
- {
- "fieldname": "column_break_ocxt",
- "fieldtype": "Column Break"
- },
- {
- "default": "1",
- "fieldname": "quantity",
- "fieldtype": "Float",
- "label": "Quantity"
- },
- {
- "fieldname": "rate",
- "fieldtype": "Currency",
- "label": "Rate"
- },
- {
- "fieldname": "amount",
- "fieldtype": "Currency",
- "label": "Amount",
- "read_only": 1
- }
- ],
- "index_web_pages_for_search": 1,
- "istable": 1,
- "links": [],
- "modified": "2024-09-28 00:59:33.037008",
- "modified_by": "Administrator",
- "module": "Suppliers Portal",
- "name": "Supplier Invoice Items",
- "owner": "Administrator",
- "permissions": [],
- "sort_field": "creation",
- "sort_order": "DESC",
- "states": []
-}
\ No newline at end of file
diff --git a/suppliers_portal/suppliers_portal/doctype/supplier_invoice_items/supplier_invoice_items.py b/suppliers_portal/suppliers_portal/doctype/supplier_invoice_items/supplier_invoice_items.py
deleted file mode 100644
index 3ef67d1..0000000
--- a/suppliers_portal/suppliers_portal/doctype/supplier_invoice_items/supplier_invoice_items.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (c) 2024, jeowsome15@gmail.com and contributors
-# For license information, please see license.txt
-
-# import frappe
-from frappe.model.document import Document
-
-
-class SupplierInvoiceItems(Document):
- pass
diff --git a/suppliers_portal/suppliers_portal/doctype/supplier_invoices/__init__.py b/suppliers_portal/suppliers_portal/doctype/supplier_invoices/__init__.py
deleted file mode 100644
index e69de29..0000000
diff --git a/suppliers_portal/suppliers_portal/doctype/supplier_invoices/supplier_invoices.json b/suppliers_portal/suppliers_portal/doctype/supplier_invoices/supplier_invoices.json
deleted file mode 100644
index 08b7c71..0000000
--- a/suppliers_portal/suppliers_portal/doctype/supplier_invoices/supplier_invoices.json
+++ /dev/null
@@ -1,69 +0,0 @@
-{
- "actions": [],
- "allow_rename": 1,
- "creation": "2024-10-09 16:59:58.079331",
- "doctype": "DocType",
- "editable_grid": 1,
- "engine": "InnoDB",
- "field_order": [
- "invoice_number",
- "status",
- "column_break_mprs",
- "invoice_date",
- "terms",
- "total_due"
- ],
- "fields": [
- {
- "fieldname": "invoice_number",
- "fieldtype": "Link",
- "label": "Invoice Number",
- "options": "Invoices",
- "read_only": 1
- },
- {
- "fetch_from": "invoice_number.invoice_date",
- "fieldname": "invoice_date",
- "fieldtype": "Date",
- "label": "Invoice Date",
- "read_only": 1
- },
- {
- "fetch_from": "invoice_number.invoice_terms",
- "fieldname": "terms",
- "fieldtype": "Data",
- "label": "Term",
- "read_only": 1
- },
- {
- "fetch_from": "invoice_number.total_amount",
- "fieldname": "total_due",
- "fieldtype": "Currency",
- "label": "Total Due",
- "read_only": 1
- },
- {
- "fetch_from": "invoice_number.status",
- "fieldname": "status",
- "fieldtype": "Data",
- "label": "Status",
- "read_only": 1
- },
- {
- "fieldname": "column_break_mprs",
- "fieldtype": "Column Break"
- }
- ],
- "index_web_pages_for_search": 1,
- "istable": 1,
- "links": [],
- "modified": "2024-10-09 17:33:59.785852",
- "modified_by": "Administrator",
- "module": "Suppliers Portal",
- "name": "Supplier Invoices",
- "owner": "Administrator",
- "permissions": [],
- "sort_field": "creation",
- "sort_order": "DESC",
- "states": []
-}
\ No newline at end of file
diff --git a/suppliers_portal/suppliers_portal/doctype/supplier_invoices/supplier_invoices.py b/suppliers_portal/suppliers_portal/doctype/supplier_invoices/supplier_invoices.py
deleted file mode 100644
index 65ba615..0000000
--- a/suppliers_portal/suppliers_portal/doctype/supplier_invoices/supplier_invoices.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (c) 2024, jeowsome15@gmail.com and contributors
-# For license information, please see license.txt
-
-# import frappe
-from frappe.model.document import Document
-
-
-class SupplierInvoices(Document):
- pass
diff --git a/suppliers_portal/suppliers_portal/report/__init__.py b/suppliers_portal/suppliers_portal/report/__init__.py
deleted file mode 100644
index e69de29..0000000
diff --git a/suppliers_portal/suppliers_portal/report/supplier_invoices/__init__.py b/suppliers_portal/suppliers_portal/report/supplier_invoices/__init__.py
deleted file mode 100644
index e69de29..0000000
diff --git a/suppliers_portal/suppliers_portal/report/supplier_invoices/supplier_invoices.js b/suppliers_portal/suppliers_portal/report/supplier_invoices/supplier_invoices.js
deleted file mode 100644
index 51279a1..0000000
--- a/suppliers_portal/suppliers_portal/report/supplier_invoices/supplier_invoices.js
+++ /dev/null
@@ -1,30 +0,0 @@
-frappe.query_reports["Supplier Invoices"] = {
- "filters": [
- {
- "fieldname": "invoice_date_from",
- "label": __("Invoice Date From"),
- "fieldtype": "Date",
- "default": frappe.datetime.add_months(frappe.datetime.get_today(), -1), // Default to last month
- "placeholder": __("Invoice Date From")
- },
- {
- "fieldname": "invoice_date_to",
- "label": __("Invoice Date To"),
- "fieldtype": "Date",
- "default": frappe.datetime.get_today(), // Default to today
- },
- {
- "fieldname": "supplier",
- "label": __("Supplier"),
- "fieldtype": "Link",
- "options": "Supplier"
- },
- {
- "fieldname": "status",
- "label": __("Status"),
- "fieldtype": "Select",
- "options": "All\nPaid\nUnpaid\nOverdue",
- "default": "All",
- }
- ]
-};
\ No newline at end of file
diff --git a/suppliers_portal/suppliers_portal/report/supplier_invoices/supplier_invoices.json b/suppliers_portal/suppliers_portal/report/supplier_invoices/supplier_invoices.json
deleted file mode 100644
index e226b73..0000000
--- a/suppliers_portal/suppliers_portal/report/supplier_invoices/supplier_invoices.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "add_total_row": 1,
- "columns": [],
- "creation": "2024-10-09 15:22:34.256149",
- "disabled": 1,
- "docstatus": 0,
- "doctype": "Report",
- "filters": [],
- "idx": 0,
- "is_standard": "Yes",
- "letterhead": null,
- "modified": "2024-10-09 17:03:58.993246",
- "modified_by": "Administrator",
- "module": "Suppliers Portal",
- "name": "Supplier Invoices",
- "owner": "Administrator",
- "prepared_report": 0,
- "ref_doctype": "Invoices",
- "report_name": "Supplier Invoices",
- "report_type": "Script Report",
- "roles": [
- {
- "role": "System Manager"
- },
- {
- "role": "Portal Supplier"
- }
- ],
- "timeout": 0
-}
\ No newline at end of file
diff --git a/suppliers_portal/suppliers_portal/report/supplier_invoices/supplier_invoices.py b/suppliers_portal/suppliers_portal/report/supplier_invoices/supplier_invoices.py
deleted file mode 100644
index 671611b..0000000
--- a/suppliers_portal/suppliers_portal/report/supplier_invoices/supplier_invoices.py
+++ /dev/null
@@ -1,49 +0,0 @@
-import frappe
-
-
-def execute(filters=None):
- columns = [
- {
- "fieldname": "invoice_number",
- "label": "Invoice Number",
- "fieldtype": "Link",
- "options": "Invoices",
- },
- {
- "fieldname": "supplier_name",
- "label": "Supplier Name",
- "fieldtype": "Data",
- "width": 200,
- },
- {"fieldname": "status", "label": "Status", "fieldtype": "Data", "width": 100},
- {"fieldname": "invoice_date", "label": "Invoice Date", "fieldtype": "Date"},
- {"fieldname": "due_date", "label": "Due Date", "fieldtype": "Date"},
- {"fieldname": "total_amount", "label": "Total Amount", "fieldtype": "Currency"},
- ]
-
- conditions = ""
- if filters.get("invoice_date_from"):
- conditions += " AND invoice_date >= %(invoice_date_from)s"
- if filters.get("invoice_date_to"):
- conditions += " AND invoice_date <= %(invoice_date_to)s"
- if filters.get("supplier"):
- conditions += " AND supplier = %(supplier)s"
- if filters.get("status"):
- if not filters.get("status") == "All":
- conditions += " AND status = %(status)s"
-
- query = f"""
- SELECT
- name as invoice_number,
- supplier_name,
- status,
- invoice_date,
- due_date,
- total_amount
- FROM
- `tabInvoices`
- WHERE
- docstatus = 0 {conditions}
- """
- data = frappe.db.sql(query, filters, as_dict=True)
- return columns, data
diff --git a/suppliers_portal/suppliers_portal/workspace/supplier_portal/supplier_portal.json b/suppliers_portal/suppliers_portal/workspace/supplier_portal/supplier_portal.json
deleted file mode 100644
index 5581ed5..0000000
--- a/suppliers_portal/suppliers_portal/workspace/supplier_portal/supplier_portal.json
+++ /dev/null
@@ -1,63 +0,0 @@
-{
- "app": "supplier_portal",
- "charts": [],
- "content": "[{\"id\":\"AyiOTTupgl\",\"type\":\"paragraph\",\"data\":{\"text\":\"Documents\",\"col\":12}},{\"id\":\"64VHemT3p8\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Suppliers\",\"col\":4}},{\"id\":\"_vl927eRbo\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Invoices\",\"col\":4}},{\"id\":\"j428xL5Lje\",\"type\":\"paragraph\",\"data\":{\"text\":\"Reports\",\"col\":12}},{\"id\":\"CDzGMPClRq\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Supplier Invoices Report\",\"col\":4}}]",
- "creation": "2024-10-02 17:23:06.804441",
- "custom_blocks": [],
- "docstatus": 0,
- "doctype": "Workspace",
- "for_user": "",
- "hide_custom": 0,
- "icon": "clipboard",
- "idx": 0,
- "indicator_color": "green",
- "is_hidden": 0,
- "label": "Supplier Portal",
- "links": [],
- "modified": "2024-10-12 07:25:56.798875",
- "modified_by": "Administrator",
- "module": "Suppliers Portal",
- "name": "Supplier Portal",
- "number_cards": [],
- "owner": "Administrator",
- "parent_page": "",
- "public": 1,
- "quick_lists": [],
- "restrict_to_domain": "",
- "roles": [
- {
- "role": "Portal Supplier"
- },
- {
- "role": "Portal User"
- }
- ],
- "sequence_id": 2.0,
- "shortcuts": [
- {
- "color": "Grey",
- "doc_view": "List",
- "label": "Supplier Invoices Report",
- "link_to": "Supplier Invoices",
- "type": "Report"
- },
- {
- "color": "Grey",
- "doc_view": "List",
- "label": "Suppliers",
- "link_to": "Supplier",
- "stats_filter": "[]",
- "type": "DocType"
- },
- {
- "color": "Grey",
- "doc_view": "List",
- "label": "Invoices",
- "link_to": "Invoices",
- "stats_filter": "[]",
- "type": "DocType"
- }
- ],
- "title": "Supplier Portal",
- "type": "Workspace"
-}
\ No newline at end of file
diff --git a/suppliers_portal/suppliers_portal/workspace/suppliers_portal/suppliers_portal.json b/suppliers_portal/suppliers_portal/workspace/suppliers_portal/suppliers_portal.json
deleted file mode 100644
index 569f222..0000000
--- a/suppliers_portal/suppliers_portal/workspace/suppliers_portal/suppliers_portal.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "app": "Suppliers Portal",
- "charts": [],
- "content": "[{\"id\":\"Lix3qbsE_H\",\"type\":\"header\",\"data\":{\"text\":\"Suppliers Portal\",\"col\":12}},{\"id\":\"OdX-YH0tro\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Supplier\",\"col\":4}},{\"id\":\"_vl927eRbo\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Invoices\",\"col\":4}}]",
- "creation": "2024-10-02 17:23:06.804441",
- "custom_blocks": [],
- "docstatus": 0,
- "doctype": "Workspace",
- "for_user": "",
- "hide_custom": 0,
- "icon": "clipboard",
- "idx": 0,
- "indicator_color": "green",
- "is_hidden": 0,
- "label": "Suppliers Portal",
- "links": [],
- "modified": "2024-10-03 03:19:57.683322",
- "modified_by": "Administrator",
- "module": "Suppliers Portal",
- "name": "Suppliers Portal",
- "number_cards": [],
- "owner": "Administrator",
- "parent_page": "",
- "public": 1,
- "quick_lists": [],
- "roles": [],
- "sequence_id": 23.0,
- "shortcuts": [
- {
- "color": "Grey",
- "doc_view": "List",
- "label": "Supplier",
- "link_to": "Supplier",
- "stats_filter": "[]",
- "type": "DocType"
- },
- {
- "color": "Grey",
- "doc_view": "List",
- "label": "Invoices",
- "link_to": "Invoices",
- "stats_filter": "[]",
- "type": "DocType"
- }
- ],
- "title": "Suppliers Portal",
- "type": "Workspace"
-}
\ No newline at end of file
diff --git a/suppliers_portal/utils.py b/suppliers_portal/utils.py
deleted file mode 100644
index 57845e5..0000000
--- a/suppliers_portal/utils.py
+++ /dev/null
@@ -1,16 +0,0 @@
-import frappe
-
-
-def daily_invoice_status_update():
- invoices = frappe.get_all(
- "Invoices",
- filters={
- "status": ["in", ["Unpaid", "Partially Paid", "Partially Paid and Overdue"]]
- },
- fields=["name"],
- )
- for invoice in invoices:
- invoice_doc = frappe.get_doc("Invoices", invoice.name)
- invoice_doc.update_status()
- invoice_doc.save()
- frappe.db.commit()
diff --git a/suppliers_portal/www/supplier-portal.html b/suppliers_portal/www/supplier-portal.html
index 8f39a8c..a6d8cb3 100644
--- a/suppliers_portal/www/supplier-portal.html
+++ b/suppliers_portal/www/supplier-portal.html
@@ -5,9 +5,9 @@
Supplier Portal
-
-
-
+
+
+
|