@enos5/enos-vue-default 1.10.0 → 1.10.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"lists-L7WlvEhf.js","names":[],"sources":["../../../node_modules/tinymce/plugins/lists/plugin.js","../../../node_modules/tinymce/plugins/lists/index.js"],"sourcesContent":["/**\n * TinyMCE version 8.6.0 (2026-06-03)\n */\n\n(function () {\n 'use strict';\n\n var global = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n const get = (editor) => ({\n backspaceDelete: (isForward) => {\n editor.execCommand('mceListBackspaceDelete', false, isForward);\n }\n });\n\n /* eslint-disable @typescript-eslint/no-wrapper-object-types */\n const isSimpleType = (type) => (value) => typeof value === type;\n const isNullable = (a) => a === null || a === undefined;\n const isNonNullable = (a) => !isNullable(a);\n const isFunction = isSimpleType('function');\n\n const constant = (value) => {\n return () => {\n return value;\n };\n };\n const tripleEquals = (a, b) => {\n return a === b;\n };\n const never = constant(false);\n\n /**\n * The `Optional` type represents a value (of any type) that potentially does\n * not exist. Any `Optional<T>` can either be a `Some<T>` (in which case the\n * value does exist) or a `None` (in which case the value does not exist). This\n * module defines a whole lot of FP-inspired utility functions for dealing with\n * `Optional` objects.\n *\n * Comparison with null or undefined:\n * - We don't get fancy null coalescing operators with `Optional`\n * - We do get fancy helper functions with `Optional`\n * - `Optional` support nesting, and allow for the type to still be nullable (or\n * another `Optional`)\n * - There is no option to turn off strict-optional-checks like there is for\n * strict-null-checks\n */\n class Optional {\n tag;\n value;\n // Sneaky optimisation: every instance of Optional.none is identical, so just\n // reuse the same object\n static singletonNone = new Optional(false);\n // The internal representation has a `tag` and a `value`, but both are\n // private: able to be console.logged, but not able to be accessed by code\n constructor(tag, value) {\n this.tag = tag;\n this.value = value;\n }\n // --- Identities ---\n /**\n * Creates a new `Optional<T>` that **does** contain a value.\n */\n static some(value) {\n return new Optional(true, value);\n }\n /**\n * Create a new `Optional<T>` that **does not** contain a value. `T` can be\n * any type because we don't actually have a `T`.\n */\n static none() {\n return Optional.singletonNone;\n }\n /**\n * Perform a transform on an `Optional` type. Regardless of whether this\n * `Optional` contains a value or not, `fold` will return a value of type `U`.\n * If this `Optional` does not contain a value, the `U` will be created by\n * calling `onNone`. If this `Optional` does contain a value, the `U` will be\n * created by calling `onSome`.\n *\n * For the FP enthusiasts in the room, this function:\n * 1. Could be used to implement all of the functions below\n * 2. Forms a catamorphism\n */\n fold(onNone, onSome) {\n if (this.tag) {\n return onSome(this.value);\n }\n else {\n return onNone();\n }\n }\n /**\n * Determine if this `Optional` object contains a value.\n */\n isSome() {\n return this.tag;\n }\n /**\n * Determine if this `Optional` object **does not** contain a value.\n */\n isNone() {\n return !this.tag;\n }\n // --- Functor (name stolen from Haskell / maths) ---\n /**\n * Perform a transform on an `Optional` object, **if** there is a value. If\n * you provide a function to turn a T into a U, this is the function you use\n * to turn an `Optional<T>` into an `Optional<U>`. If this **does** contain\n * a value then the output will also contain a value (that value being the\n * output of `mapper(this.value)`), and if this **does not** contain a value\n * then neither will the output.\n */\n map(mapper) {\n if (this.tag) {\n return Optional.some(mapper(this.value));\n }\n else {\n return Optional.none();\n }\n }\n // --- Monad (name stolen from Haskell / maths) ---\n /**\n * Perform a transform on an `Optional` object, **if** there is a value.\n * Unlike `map`, here the transform itself also returns an `Optional`.\n */\n bind(binder) {\n if (this.tag) {\n return binder(this.value);\n }\n else {\n return Optional.none();\n }\n }\n // --- Traversable (name stolen from Haskell / maths) ---\n /**\n * For a given predicate, this function finds out if there **exists** a value\n * inside this `Optional` object that meets the predicate. In practice, this\n * means that for `Optional`s that do not contain a value it returns false (as\n * no predicate-meeting value exists).\n */\n exists(predicate) {\n return this.tag && predicate(this.value);\n }\n /**\n * For a given predicate, this function finds out if **all** the values inside\n * this `Optional` object meet the predicate. In practice, this means that\n * for `Optional`s that do not contain a value it returns true (as all 0\n * objects do meet the predicate).\n */\n forall(predicate) {\n return !this.tag || predicate(this.value);\n }\n filter(predicate) {\n if (!this.tag || predicate(this.value)) {\n return this;\n }\n else {\n return Optional.none();\n }\n }\n // --- Getters ---\n /**\n * Get the value out of the inside of the `Optional` object, using a default\n * `replacement` value if the provided `Optional` object does not contain a\n * value.\n */\n getOr(replacement) {\n return this.tag ? this.value : replacement;\n }\n /**\n * Get the value out of the inside of the `Optional` object, using a default\n * `replacement` value if the provided `Optional` object does not contain a\n * value. Unlike `getOr`, in this method the `replacement` object is also\n * `Optional` - meaning that this method will always return an `Optional`.\n */\n or(replacement) {\n return this.tag ? this : replacement;\n }\n /**\n * Get the value out of the inside of the `Optional` object, using a default\n * `replacement` value if the provided `Optional` object does not contain a\n * value. Unlike `getOr`, in this method the `replacement` value is\n * \"thunked\" - that is to say that you don't pass a value to `getOrThunk`, you\n * pass a function which (if called) will **return** the `value` you want to\n * use.\n */\n getOrThunk(thunk) {\n return this.tag ? this.value : thunk();\n }\n /**\n * Get the value out of the inside of the `Optional` object, using a default\n * `replacement` value if the provided Optional object does not contain a\n * value.\n *\n * Unlike `or`, in this method the `replacement` value is \"thunked\" - that is\n * to say that you don't pass a value to `orThunk`, you pass a function which\n * (if called) will **return** the `value` you want to use.\n *\n * Unlike `getOrThunk`, in this method the `replacement` value is also\n * `Optional`, meaning that this method will always return an `Optional`.\n */\n orThunk(thunk) {\n return this.tag ? this : thunk();\n }\n /**\n * Get the value out of the inside of the `Optional` object, throwing an\n * exception if the provided `Optional` object does not contain a value.\n *\n * WARNING:\n * You should only be using this function if you know that the `Optional`\n * object **is not** empty (otherwise you're throwing exceptions in production\n * code, which is bad).\n *\n * In tests this is more acceptable.\n *\n * Prefer other methods to this, such as `.each`.\n */\n getOrDie(message) {\n if (!this.tag) {\n throw new Error(message ?? 'Called getOrDie on None');\n }\n else {\n return this.value;\n }\n }\n // --- Interop with null and undefined ---\n /**\n * Creates an `Optional` value from a nullable (or undefined-able) input.\n * Null, or undefined, is converted to `None`, and anything else is converted\n * to `Some`.\n */\n static from(value) {\n return isNonNullable(value) ? Optional.some(value) : Optional.none();\n }\n /**\n * Converts an `Optional` to a nullable type, by getting the value if it\n * exists, or returning `null` if it does not.\n */\n getOrNull() {\n return this.tag ? this.value : null;\n }\n /**\n * Converts an `Optional` to an undefined-able type, by getting the value if\n * it exists, or returning `undefined` if it does not.\n */\n getOrUndefined() {\n return this.value;\n }\n // --- Utilities ---\n /**\n * If the `Optional` contains a value, perform an action on that value.\n * Unlike the rest of the methods on this type, `.each` has side-effects. If\n * you want to transform an `Optional<T>` **into** something, then this is not\n * the method for you. If you want to use an `Optional<T>` to **do**\n * something, then this is the method for you - provided you're okay with not\n * doing anything in the case where the `Optional` doesn't have a value inside\n * it. If you're not sure whether your use-case fits into transforming\n * **into** something or **doing** something, check whether it has a return\n * value. If it does, you should be performing a transform.\n */\n each(worker) {\n if (this.tag) {\n worker(this.value);\n }\n }\n /**\n * Turn the `Optional` object into an array that contains all of the values\n * stored inside the `Optional`. In practice, this means the output will have\n * either 0 or 1 elements.\n */\n toArray() {\n return this.tag ? [this.value] : [];\n }\n /**\n * Turn the `Optional` object into a string for debugging or printing. Not\n * recommended for production code, but good for debugging. Also note that\n * these days an `Optional` object can be logged to the console directly, and\n * its inner value (if it exists) will be visible.\n */\n toString() {\n return this.tag ? `some(${this.value})` : 'none()';\n }\n }\n\n const nativeSlice = Array.prototype.slice;\n const exists = (xs, pred) => {\n for (let i = 0, len = xs.length; i < len; i++) {\n const x = xs[i];\n if (pred(x, i)) {\n return true;\n }\n }\n return false;\n };\n const map = (xs, f) => {\n // pre-allocating array size when it's guaranteed to be known\n // http://jsperf.com/push-allocated-vs-dynamic/22\n const len = xs.length;\n const r = new Array(len);\n for (let i = 0; i < len; i++) {\n const x = xs[i];\n r[i] = f(x, i);\n }\n return r;\n };\n // Unwound implementing other functions in terms of each.\n // The code size is roughly the same, and it should allow for better optimisation.\n // const each = function<T, U>(xs: T[], f: (x: T, i?: number, xs?: T[]) => void): void {\n const each = (xs, f) => {\n for (let i = 0, len = xs.length; i < len; i++) {\n const x = xs[i];\n f(x, i);\n }\n };\n const foldl = (xs, f, acc) => {\n each(xs, (x, i) => {\n acc = f(acc, x, i);\n });\n return acc;\n };\n const findUntil = (xs, pred, until) => {\n for (let i = 0, len = xs.length; i < len; i++) {\n const x = xs[i];\n if (pred(x, i)) {\n return Optional.some(x);\n }\n else if (until(x, i)) {\n break;\n }\n }\n return Optional.none();\n };\n const find = (xs, pred) => {\n return findUntil(xs, pred, never);\n };\n const reverse = (xs) => {\n const r = nativeSlice.call(xs, 0);\n r.reverse();\n return r;\n };\n isFunction(Array.from) ? Array.from : (x) => nativeSlice.call(x);\n\n /**\n * **Is** the value stored inside this Optional object equal to `rhs`?\n */\n const is = (lhs, rhs, comparator = tripleEquals) => lhs.exists((left) => comparator(left, rhs));\n\n const blank = (r) => (s) => s.replace(r, '');\n /** removes all leading and trailing spaces */\n const trim = blank(/^\\s+|\\s+$/g);\n const isNotEmpty = (s) => s.length > 0;\n const isEmpty = (s) => !isNotEmpty(s);\n\n // Example: 'AB' -> 28\n const parseAlphabeticBase26 = (str) => {\n const chars = reverse(trim(str).split(''));\n const values = map(chars, (char, i) => {\n const charValue = char.toUpperCase().charCodeAt(0) - 'A'.charCodeAt(0) + 1;\n return Math.pow(26, i) * charValue;\n });\n return foldl(values, (sum, v) => sum + v, 0);\n };\n // Example: 28 -> 'AB'\n const composeAlphabeticBase26 = (value) => {\n value--;\n if (value < 0) {\n return '';\n }\n else {\n const remainder = value % 26;\n const quotient = Math.floor(value / 26);\n const rest = composeAlphabeticBase26(quotient);\n const char = String.fromCharCode('A'.charCodeAt(0) + remainder);\n return rest + char;\n }\n };\n const isUppercase = (str) => /^[A-Z]+$/.test(str);\n const isLowercase = (str) => /^[a-z]+$/.test(str);\n const isNumeric = (str) => /^[0-9]+$/.test(str);\n const deduceListType = (start) => {\n if (isNumeric(start)) {\n return 2 /* ListType.Numeric */;\n }\n else if (isUppercase(start)) {\n return 0 /* ListType.UpperAlpha */;\n }\n else if (isLowercase(start)) {\n return 1 /* ListType.LowerAlpha */;\n }\n else if (isEmpty(start)) {\n return 3 /* ListType.None */;\n }\n else {\n return 4 /* ListType.Unknown */;\n }\n };\n const parseStartValue = (start) => {\n switch (deduceListType(start)) {\n case 2 /* ListType.Numeric */:\n return Optional.some({\n listStyleType: Optional.none(),\n start\n });\n case 0 /* ListType.UpperAlpha */:\n return Optional.some({\n listStyleType: Optional.some('upper-alpha'),\n start: parseAlphabeticBase26(start).toString()\n });\n case 1 /* ListType.LowerAlpha */:\n return Optional.some({\n listStyleType: Optional.some('lower-alpha'),\n start: parseAlphabeticBase26(start).toString()\n });\n case 3 /* ListType.None */:\n return Optional.some({\n listStyleType: Optional.none(),\n start: ''\n });\n case 4 /* ListType.Unknown */:\n return Optional.none();\n }\n };\n const parseDetail = (detail) => {\n const start = parseInt(detail.start, 10);\n if (is(detail.listStyleType, 'upper-alpha')) {\n return composeAlphabeticBase26(start);\n }\n else if (is(detail.listStyleType, 'lower-alpha')) {\n return composeAlphabeticBase26(start).toLowerCase();\n }\n else {\n return detail.start;\n }\n };\n\n const option = (name) => (editor) => editor.options.get(name);\n const getForcedRootBlock = option('forced_root_block');\n\n const isCustomList = (list) => /\\btox\\-/.test(list.className);\n const matchNodeNames = (regex) => (node) => isNonNullable(node) && regex.test(node.nodeName);\n const matchNodeName = (name) => (node) => isNonNullable(node) && node.nodeName.toLowerCase() === name;\n const isListNode = matchNodeNames(/^(OL|UL|DL)$/);\n const isTableCellNode = matchNodeNames(/^(TH|TD)$/);\n const isListItemNode = matchNodeNames(/^(LI|DT|DD)$/);\n const inList = (parents, listName) => findUntil(parents, isListNode, isTableCellNode)\n .exists((list) => list.nodeName === listName && !isCustomList(list));\n const setNodeChangeHandler = (editor, nodeChangeHandler) => {\n const initialNode = editor.selection.getNode();\n // Set the initial state\n nodeChangeHandler({\n parents: editor.dom.getParents(initialNode),\n element: initialNode\n });\n editor.on('NodeChange', nodeChangeHandler);\n return () => editor.off('NodeChange', nodeChangeHandler);\n };\n const isWithinNonEditable = (editor, element) => element !== null && !editor.dom.isEditable(element);\n const isWithinNonEditableList = (editor, element) => {\n const parentList = editor.dom.getParent(element, 'ol,ul,dl');\n return isWithinNonEditable(editor, parentList) || !editor.selection.isEditable();\n };\n const isOlNode = matchNodeName('ol');\n const listNames = ['OL', 'UL', 'DL'];\n const listSelector = listNames.join(',');\n const getParentList = (editor, node) => {\n const selectionStart = node || editor.selection.getStart(true);\n return editor.dom.getParent(selectionStart, listSelector, getClosestListHost(editor, selectionStart, editor.selection.isCollapsed()));\n };\n const getClosestListHost = (editor, elm, isCollapsed) => {\n const parentBlocks = editor.dom.getParents(elm, editor.dom.isBlock);\n const isNotForcedRootBlock = (elm) => elm.nodeName.toLowerCase() !== getForcedRootBlock(editor);\n const parentBlock = find(parentBlocks, (elm) => (!isCollapsed || isNotForcedRootBlock(elm)) && isListHost(editor.schema, elm));\n return parentBlock.getOr(editor.getBody());\n };\n const isListHost = (schema, node) => !isListNode(node) && !isListItemNode(node) && exists(listNames, (listName) => schema.isValidChild(node.nodeName, listName));\n\n const open = (editor) => {\n // Find the current list and skip opening if the selection isn't in an ordered list\n const currentList = getParentList(editor);\n if (!isOlNode(currentList) || isWithinNonEditableList(editor, currentList)) {\n return;\n }\n editor.windowManager.open({\n title: 'List Properties',\n body: {\n type: 'panel',\n items: [\n {\n type: 'input',\n name: 'start',\n label: 'Start list at number',\n inputMode: 'numeric'\n }\n ]\n },\n initialData: {\n start: parseDetail({\n start: editor.dom.getAttrib(currentList, 'start', '1'),\n listStyleType: Optional.from(editor.dom.getStyle(currentList, 'list-style-type'))\n })\n },\n buttons: [\n {\n type: 'cancel',\n name: 'cancel',\n text: 'Cancel'\n },\n {\n type: 'submit',\n name: 'save',\n text: 'Save',\n primary: true\n }\n ],\n onSubmit: (api) => {\n const data = api.getData();\n parseStartValue(data.start).each((detail) => {\n editor.execCommand('mceListUpdate', false, {\n attrs: {\n start: detail.start === '1' ? '' : detail.start\n },\n styles: {\n 'list-style-type': detail.listStyleType.getOr('')\n }\n });\n });\n api.close();\n }\n });\n };\n\n const register$2 = (editor) => {\n editor.addCommand('mceListProps', () => {\n open(editor);\n });\n };\n\n const setupToggleButtonHandler = (editor, listName) => (api) => {\n const toggleButtonHandler = (e) => {\n api.setActive(inList(e.parents, listName));\n api.setEnabled(!isWithinNonEditableList(editor, e.element) && editor.selection.isEditable());\n };\n api.setEnabled(editor.selection.isEditable());\n return setNodeChangeHandler(editor, toggleButtonHandler);\n };\n const register$1 = (editor) => {\n const exec = (command) => () => editor.execCommand(command);\n if (!editor.hasPlugin('advlist')) {\n editor.ui.registry.addToggleButton('numlist', {\n icon: 'ordered-list',\n active: false,\n tooltip: 'Numbered list',\n onAction: exec('InsertOrderedList'),\n onSetup: setupToggleButtonHandler(editor, 'OL')\n });\n editor.ui.registry.addToggleButton('bullist', {\n icon: 'unordered-list',\n active: false,\n tooltip: 'Bullet list',\n onAction: exec('InsertUnorderedList'),\n onSetup: setupToggleButtonHandler(editor, 'UL')\n });\n }\n };\n\n const setupMenuButtonHandler = (editor, listName) => (api) => {\n const menuButtonHandler = (e) => api.setEnabled(inList(e.parents, listName) && !isWithinNonEditableList(editor, e.element));\n return setNodeChangeHandler(editor, menuButtonHandler);\n };\n const register = (editor) => {\n const listProperties = {\n text: 'List properties...',\n icon: 'ordered-list',\n onAction: () => editor.execCommand('mceListProps'),\n onSetup: setupMenuButtonHandler(editor, 'OL')\n };\n editor.ui.registry.addMenuItem('listprops', listProperties);\n editor.ui.registry.addContextMenu('lists', {\n update: (node) => {\n const parentList = getParentList(editor, node);\n return isOlNode(parentList) ? ['listprops'] : [];\n }\n });\n };\n\n var Plugin = () => {\n global.add('lists', (editor) => {\n register$2(editor);\n register$1(editor);\n register(editor);\n return get(editor);\n });\n };\n\n Plugin();\n /** *****\n * DO NOT EXPORT ANYTHING\n *\n * IF YOU DO ROLLUP WILL LEAVE A GLOBAL ON THE PAGE\n *******/\n\n})();\n","// Exports the \"lists\" plugin for usage with module loaders\n// Usage:\n// CommonJS:\n// require('tinymce/plugins/lists')\n// ES2015:\n// import 'tinymce/plugins/lists'\nrequire('./plugin.js');"],"x_google_ignoreList":[0,1],"mappings":"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"}
1
+ {"version":3,"file":"lists-9XV1lNdu.js","names":[],"sources":["../../../node_modules/tinymce/plugins/lists/plugin.js","../../../node_modules/tinymce/plugins/lists/index.js"],"sourcesContent":["/**\n * TinyMCE version 8.6.0 (2026-06-03)\n */\n\n(function () {\n 'use strict';\n\n var global = tinymce.util.Tools.resolve('tinymce.PluginManager');\n\n const get = (editor) => ({\n backspaceDelete: (isForward) => {\n editor.execCommand('mceListBackspaceDelete', false, isForward);\n }\n });\n\n /* eslint-disable @typescript-eslint/no-wrapper-object-types */\n const isSimpleType = (type) => (value) => typeof value === type;\n const isNullable = (a) => a === null || a === undefined;\n const isNonNullable = (a) => !isNullable(a);\n const isFunction = isSimpleType('function');\n\n const constant = (value) => {\n return () => {\n return value;\n };\n };\n const tripleEquals = (a, b) => {\n return a === b;\n };\n const never = constant(false);\n\n /**\n * The `Optional` type represents a value (of any type) that potentially does\n * not exist. Any `Optional<T>` can either be a `Some<T>` (in which case the\n * value does exist) or a `None` (in which case the value does not exist). This\n * module defines a whole lot of FP-inspired utility functions for dealing with\n * `Optional` objects.\n *\n * Comparison with null or undefined:\n * - We don't get fancy null coalescing operators with `Optional`\n * - We do get fancy helper functions with `Optional`\n * - `Optional` support nesting, and allow for the type to still be nullable (or\n * another `Optional`)\n * - There is no option to turn off strict-optional-checks like there is for\n * strict-null-checks\n */\n class Optional {\n tag;\n value;\n // Sneaky optimisation: every instance of Optional.none is identical, so just\n // reuse the same object\n static singletonNone = new Optional(false);\n // The internal representation has a `tag` and a `value`, but both are\n // private: able to be console.logged, but not able to be accessed by code\n constructor(tag, value) {\n this.tag = tag;\n this.value = value;\n }\n // --- Identities ---\n /**\n * Creates a new `Optional<T>` that **does** contain a value.\n */\n static some(value) {\n return new Optional(true, value);\n }\n /**\n * Create a new `Optional<T>` that **does not** contain a value. `T` can be\n * any type because we don't actually have a `T`.\n */\n static none() {\n return Optional.singletonNone;\n }\n /**\n * Perform a transform on an `Optional` type. Regardless of whether this\n * `Optional` contains a value or not, `fold` will return a value of type `U`.\n * If this `Optional` does not contain a value, the `U` will be created by\n * calling `onNone`. If this `Optional` does contain a value, the `U` will be\n * created by calling `onSome`.\n *\n * For the FP enthusiasts in the room, this function:\n * 1. Could be used to implement all of the functions below\n * 2. Forms a catamorphism\n */\n fold(onNone, onSome) {\n if (this.tag) {\n return onSome(this.value);\n }\n else {\n return onNone();\n }\n }\n /**\n * Determine if this `Optional` object contains a value.\n */\n isSome() {\n return this.tag;\n }\n /**\n * Determine if this `Optional` object **does not** contain a value.\n */\n isNone() {\n return !this.tag;\n }\n // --- Functor (name stolen from Haskell / maths) ---\n /**\n * Perform a transform on an `Optional` object, **if** there is a value. If\n * you provide a function to turn a T into a U, this is the function you use\n * to turn an `Optional<T>` into an `Optional<U>`. If this **does** contain\n * a value then the output will also contain a value (that value being the\n * output of `mapper(this.value)`), and if this **does not** contain a value\n * then neither will the output.\n */\n map(mapper) {\n if (this.tag) {\n return Optional.some(mapper(this.value));\n }\n else {\n return Optional.none();\n }\n }\n // --- Monad (name stolen from Haskell / maths) ---\n /**\n * Perform a transform on an `Optional` object, **if** there is a value.\n * Unlike `map`, here the transform itself also returns an `Optional`.\n */\n bind(binder) {\n if (this.tag) {\n return binder(this.value);\n }\n else {\n return Optional.none();\n }\n }\n // --- Traversable (name stolen from Haskell / maths) ---\n /**\n * For a given predicate, this function finds out if there **exists** a value\n * inside this `Optional` object that meets the predicate. In practice, this\n * means that for `Optional`s that do not contain a value it returns false (as\n * no predicate-meeting value exists).\n */\n exists(predicate) {\n return this.tag && predicate(this.value);\n }\n /**\n * For a given predicate, this function finds out if **all** the values inside\n * this `Optional` object meet the predicate. In practice, this means that\n * for `Optional`s that do not contain a value it returns true (as all 0\n * objects do meet the predicate).\n */\n forall(predicate) {\n return !this.tag || predicate(this.value);\n }\n filter(predicate) {\n if (!this.tag || predicate(this.value)) {\n return this;\n }\n else {\n return Optional.none();\n }\n }\n // --- Getters ---\n /**\n * Get the value out of the inside of the `Optional` object, using a default\n * `replacement` value if the provided `Optional` object does not contain a\n * value.\n */\n getOr(replacement) {\n return this.tag ? this.value : replacement;\n }\n /**\n * Get the value out of the inside of the `Optional` object, using a default\n * `replacement` value if the provided `Optional` object does not contain a\n * value. Unlike `getOr`, in this method the `replacement` object is also\n * `Optional` - meaning that this method will always return an `Optional`.\n */\n or(replacement) {\n return this.tag ? this : replacement;\n }\n /**\n * Get the value out of the inside of the `Optional` object, using a default\n * `replacement` value if the provided `Optional` object does not contain a\n * value. Unlike `getOr`, in this method the `replacement` value is\n * \"thunked\" - that is to say that you don't pass a value to `getOrThunk`, you\n * pass a function which (if called) will **return** the `value` you want to\n * use.\n */\n getOrThunk(thunk) {\n return this.tag ? this.value : thunk();\n }\n /**\n * Get the value out of the inside of the `Optional` object, using a default\n * `replacement` value if the provided Optional object does not contain a\n * value.\n *\n * Unlike `or`, in this method the `replacement` value is \"thunked\" - that is\n * to say that you don't pass a value to `orThunk`, you pass a function which\n * (if called) will **return** the `value` you want to use.\n *\n * Unlike `getOrThunk`, in this method the `replacement` value is also\n * `Optional`, meaning that this method will always return an `Optional`.\n */\n orThunk(thunk) {\n return this.tag ? this : thunk();\n }\n /**\n * Get the value out of the inside of the `Optional` object, throwing an\n * exception if the provided `Optional` object does not contain a value.\n *\n * WARNING:\n * You should only be using this function if you know that the `Optional`\n * object **is not** empty (otherwise you're throwing exceptions in production\n * code, which is bad).\n *\n * In tests this is more acceptable.\n *\n * Prefer other methods to this, such as `.each`.\n */\n getOrDie(message) {\n if (!this.tag) {\n throw new Error(message ?? 'Called getOrDie on None');\n }\n else {\n return this.value;\n }\n }\n // --- Interop with null and undefined ---\n /**\n * Creates an `Optional` value from a nullable (or undefined-able) input.\n * Null, or undefined, is converted to `None`, and anything else is converted\n * to `Some`.\n */\n static from(value) {\n return isNonNullable(value) ? Optional.some(value) : Optional.none();\n }\n /**\n * Converts an `Optional` to a nullable type, by getting the value if it\n * exists, or returning `null` if it does not.\n */\n getOrNull() {\n return this.tag ? this.value : null;\n }\n /**\n * Converts an `Optional` to an undefined-able type, by getting the value if\n * it exists, or returning `undefined` if it does not.\n */\n getOrUndefined() {\n return this.value;\n }\n // --- Utilities ---\n /**\n * If the `Optional` contains a value, perform an action on that value.\n * Unlike the rest of the methods on this type, `.each` has side-effects. If\n * you want to transform an `Optional<T>` **into** something, then this is not\n * the method for you. If you want to use an `Optional<T>` to **do**\n * something, then this is the method for you - provided you're okay with not\n * doing anything in the case where the `Optional` doesn't have a value inside\n * it. If you're not sure whether your use-case fits into transforming\n * **into** something or **doing** something, check whether it has a return\n * value. If it does, you should be performing a transform.\n */\n each(worker) {\n if (this.tag) {\n worker(this.value);\n }\n }\n /**\n * Turn the `Optional` object into an array that contains all of the values\n * stored inside the `Optional`. In practice, this means the output will have\n * either 0 or 1 elements.\n */\n toArray() {\n return this.tag ? [this.value] : [];\n }\n /**\n * Turn the `Optional` object into a string for debugging or printing. Not\n * recommended for production code, but good for debugging. Also note that\n * these days an `Optional` object can be logged to the console directly, and\n * its inner value (if it exists) will be visible.\n */\n toString() {\n return this.tag ? `some(${this.value})` : 'none()';\n }\n }\n\n const nativeSlice = Array.prototype.slice;\n const exists = (xs, pred) => {\n for (let i = 0, len = xs.length; i < len; i++) {\n const x = xs[i];\n if (pred(x, i)) {\n return true;\n }\n }\n return false;\n };\n const map = (xs, f) => {\n // pre-allocating array size when it's guaranteed to be known\n // http://jsperf.com/push-allocated-vs-dynamic/22\n const len = xs.length;\n const r = new Array(len);\n for (let i = 0; i < len; i++) {\n const x = xs[i];\n r[i] = f(x, i);\n }\n return r;\n };\n // Unwound implementing other functions in terms of each.\n // The code size is roughly the same, and it should allow for better optimisation.\n // const each = function<T, U>(xs: T[], f: (x: T, i?: number, xs?: T[]) => void): void {\n const each = (xs, f) => {\n for (let i = 0, len = xs.length; i < len; i++) {\n const x = xs[i];\n f(x, i);\n }\n };\n const foldl = (xs, f, acc) => {\n each(xs, (x, i) => {\n acc = f(acc, x, i);\n });\n return acc;\n };\n const findUntil = (xs, pred, until) => {\n for (let i = 0, len = xs.length; i < len; i++) {\n const x = xs[i];\n if (pred(x, i)) {\n return Optional.some(x);\n }\n else if (until(x, i)) {\n break;\n }\n }\n return Optional.none();\n };\n const find = (xs, pred) => {\n return findUntil(xs, pred, never);\n };\n const reverse = (xs) => {\n const r = nativeSlice.call(xs, 0);\n r.reverse();\n return r;\n };\n isFunction(Array.from) ? Array.from : (x) => nativeSlice.call(x);\n\n /**\n * **Is** the value stored inside this Optional object equal to `rhs`?\n */\n const is = (lhs, rhs, comparator = tripleEquals) => lhs.exists((left) => comparator(left, rhs));\n\n const blank = (r) => (s) => s.replace(r, '');\n /** removes all leading and trailing spaces */\n const trim = blank(/^\\s+|\\s+$/g);\n const isNotEmpty = (s) => s.length > 0;\n const isEmpty = (s) => !isNotEmpty(s);\n\n // Example: 'AB' -> 28\n const parseAlphabeticBase26 = (str) => {\n const chars = reverse(trim(str).split(''));\n const values = map(chars, (char, i) => {\n const charValue = char.toUpperCase().charCodeAt(0) - 'A'.charCodeAt(0) + 1;\n return Math.pow(26, i) * charValue;\n });\n return foldl(values, (sum, v) => sum + v, 0);\n };\n // Example: 28 -> 'AB'\n const composeAlphabeticBase26 = (value) => {\n value--;\n if (value < 0) {\n return '';\n }\n else {\n const remainder = value % 26;\n const quotient = Math.floor(value / 26);\n const rest = composeAlphabeticBase26(quotient);\n const char = String.fromCharCode('A'.charCodeAt(0) + remainder);\n return rest + char;\n }\n };\n const isUppercase = (str) => /^[A-Z]+$/.test(str);\n const isLowercase = (str) => /^[a-z]+$/.test(str);\n const isNumeric = (str) => /^[0-9]+$/.test(str);\n const deduceListType = (start) => {\n if (isNumeric(start)) {\n return 2 /* ListType.Numeric */;\n }\n else if (isUppercase(start)) {\n return 0 /* ListType.UpperAlpha */;\n }\n else if (isLowercase(start)) {\n return 1 /* ListType.LowerAlpha */;\n }\n else if (isEmpty(start)) {\n return 3 /* ListType.None */;\n }\n else {\n return 4 /* ListType.Unknown */;\n }\n };\n const parseStartValue = (start) => {\n switch (deduceListType(start)) {\n case 2 /* ListType.Numeric */:\n return Optional.some({\n listStyleType: Optional.none(),\n start\n });\n case 0 /* ListType.UpperAlpha */:\n return Optional.some({\n listStyleType: Optional.some('upper-alpha'),\n start: parseAlphabeticBase26(start).toString()\n });\n case 1 /* ListType.LowerAlpha */:\n return Optional.some({\n listStyleType: Optional.some('lower-alpha'),\n start: parseAlphabeticBase26(start).toString()\n });\n case 3 /* ListType.None */:\n return Optional.some({\n listStyleType: Optional.none(),\n start: ''\n });\n case 4 /* ListType.Unknown */:\n return Optional.none();\n }\n };\n const parseDetail = (detail) => {\n const start = parseInt(detail.start, 10);\n if (is(detail.listStyleType, 'upper-alpha')) {\n return composeAlphabeticBase26(start);\n }\n else if (is(detail.listStyleType, 'lower-alpha')) {\n return composeAlphabeticBase26(start).toLowerCase();\n }\n else {\n return detail.start;\n }\n };\n\n const option = (name) => (editor) => editor.options.get(name);\n const getForcedRootBlock = option('forced_root_block');\n\n const isCustomList = (list) => /\\btox\\-/.test(list.className);\n const matchNodeNames = (regex) => (node) => isNonNullable(node) && regex.test(node.nodeName);\n const matchNodeName = (name) => (node) => isNonNullable(node) && node.nodeName.toLowerCase() === name;\n const isListNode = matchNodeNames(/^(OL|UL|DL)$/);\n const isTableCellNode = matchNodeNames(/^(TH|TD)$/);\n const isListItemNode = matchNodeNames(/^(LI|DT|DD)$/);\n const inList = (parents, listName) => findUntil(parents, isListNode, isTableCellNode)\n .exists((list) => list.nodeName === listName && !isCustomList(list));\n const setNodeChangeHandler = (editor, nodeChangeHandler) => {\n const initialNode = editor.selection.getNode();\n // Set the initial state\n nodeChangeHandler({\n parents: editor.dom.getParents(initialNode),\n element: initialNode\n });\n editor.on('NodeChange', nodeChangeHandler);\n return () => editor.off('NodeChange', nodeChangeHandler);\n };\n const isWithinNonEditable = (editor, element) => element !== null && !editor.dom.isEditable(element);\n const isWithinNonEditableList = (editor, element) => {\n const parentList = editor.dom.getParent(element, 'ol,ul,dl');\n return isWithinNonEditable(editor, parentList) || !editor.selection.isEditable();\n };\n const isOlNode = matchNodeName('ol');\n const listNames = ['OL', 'UL', 'DL'];\n const listSelector = listNames.join(',');\n const getParentList = (editor, node) => {\n const selectionStart = node || editor.selection.getStart(true);\n return editor.dom.getParent(selectionStart, listSelector, getClosestListHost(editor, selectionStart, editor.selection.isCollapsed()));\n };\n const getClosestListHost = (editor, elm, isCollapsed) => {\n const parentBlocks = editor.dom.getParents(elm, editor.dom.isBlock);\n const isNotForcedRootBlock = (elm) => elm.nodeName.toLowerCase() !== getForcedRootBlock(editor);\n const parentBlock = find(parentBlocks, (elm) => (!isCollapsed || isNotForcedRootBlock(elm)) && isListHost(editor.schema, elm));\n return parentBlock.getOr(editor.getBody());\n };\n const isListHost = (schema, node) => !isListNode(node) && !isListItemNode(node) && exists(listNames, (listName) => schema.isValidChild(node.nodeName, listName));\n\n const open = (editor) => {\n // Find the current list and skip opening if the selection isn't in an ordered list\n const currentList = getParentList(editor);\n if (!isOlNode(currentList) || isWithinNonEditableList(editor, currentList)) {\n return;\n }\n editor.windowManager.open({\n title: 'List Properties',\n body: {\n type: 'panel',\n items: [\n {\n type: 'input',\n name: 'start',\n label: 'Start list at number',\n inputMode: 'numeric'\n }\n ]\n },\n initialData: {\n start: parseDetail({\n start: editor.dom.getAttrib(currentList, 'start', '1'),\n listStyleType: Optional.from(editor.dom.getStyle(currentList, 'list-style-type'))\n })\n },\n buttons: [\n {\n type: 'cancel',\n name: 'cancel',\n text: 'Cancel'\n },\n {\n type: 'submit',\n name: 'save',\n text: 'Save',\n primary: true\n }\n ],\n onSubmit: (api) => {\n const data = api.getData();\n parseStartValue(data.start).each((detail) => {\n editor.execCommand('mceListUpdate', false, {\n attrs: {\n start: detail.start === '1' ? '' : detail.start\n },\n styles: {\n 'list-style-type': detail.listStyleType.getOr('')\n }\n });\n });\n api.close();\n }\n });\n };\n\n const register$2 = (editor) => {\n editor.addCommand('mceListProps', () => {\n open(editor);\n });\n };\n\n const setupToggleButtonHandler = (editor, listName) => (api) => {\n const toggleButtonHandler = (e) => {\n api.setActive(inList(e.parents, listName));\n api.setEnabled(!isWithinNonEditableList(editor, e.element) && editor.selection.isEditable());\n };\n api.setEnabled(editor.selection.isEditable());\n return setNodeChangeHandler(editor, toggleButtonHandler);\n };\n const register$1 = (editor) => {\n const exec = (command) => () => editor.execCommand(command);\n if (!editor.hasPlugin('advlist')) {\n editor.ui.registry.addToggleButton('numlist', {\n icon: 'ordered-list',\n active: false,\n tooltip: 'Numbered list',\n onAction: exec('InsertOrderedList'),\n onSetup: setupToggleButtonHandler(editor, 'OL')\n });\n editor.ui.registry.addToggleButton('bullist', {\n icon: 'unordered-list',\n active: false,\n tooltip: 'Bullet list',\n onAction: exec('InsertUnorderedList'),\n onSetup: setupToggleButtonHandler(editor, 'UL')\n });\n }\n };\n\n const setupMenuButtonHandler = (editor, listName) => (api) => {\n const menuButtonHandler = (e) => api.setEnabled(inList(e.parents, listName) && !isWithinNonEditableList(editor, e.element));\n return setNodeChangeHandler(editor, menuButtonHandler);\n };\n const register = (editor) => {\n const listProperties = {\n text: 'List properties...',\n icon: 'ordered-list',\n onAction: () => editor.execCommand('mceListProps'),\n onSetup: setupMenuButtonHandler(editor, 'OL')\n };\n editor.ui.registry.addMenuItem('listprops', listProperties);\n editor.ui.registry.addContextMenu('lists', {\n update: (node) => {\n const parentList = getParentList(editor, node);\n return isOlNode(parentList) ? ['listprops'] : [];\n }\n });\n };\n\n var Plugin = () => {\n global.add('lists', (editor) => {\n register$2(editor);\n register$1(editor);\n register(editor);\n return get(editor);\n });\n };\n\n Plugin();\n /** *****\n * DO NOT EXPORT ANYTHING\n *\n * IF YOU DO ROLLUP WILL LEAVE A GLOBAL ON THE PAGE\n *******/\n\n})();\n","// Exports the \"lists\" plugin for usage with module loaders\n// Usage:\n// CommonJS:\n// require('tinymce/plugins/lists')\n// ES2015:\n// import 'tinymce/plugins/lists'\nrequire('./plugin.js');"],"x_google_ignoreList":[0,1],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Fragment, Teleport, Transition, cloneVNode, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createTextVNode, createVNode, defineComponent, h, inject, isVNode, mergeProps, nextTick, normalizeClass, normalizeStyle, onBeforeUnmount, onMounted, onUnmounted, openBlock, provide, ref, renderList, renderSlot, resolveDynamicComponent, toDisplayString, toHandlers, unref, useAttrs, useSlots, vModelCheckbox, vModelText, vShow, watch, withCtx, withDirectives, withModifiers } from "vue";
2
- import { CheckIcon, ChevronDownIcon, ChevronUpIcon, ExclamationCircleIcon, ExclamationTriangleIcon, EyeDropperIcon, LockClosedIcon, MagnifyingGlassIcon, PencilSquareIcon, PhotoIcon, XMarkIcon } from "@heroicons/vue/24/outline";
2
+ import { CheckIcon, ChevronDownIcon, ChevronUpIcon, ExclamationCircleIcon, ExclamationTriangleIcon, EyeDropperIcon, LockClosedIcon, PencilSquareIcon, PhotoIcon, XMarkIcon } from "@heroicons/vue/24/outline";
3
3
  import Editor from "@tinymce/tinymce-vue";
4
4
  import { useI18n } from "vue-i18n";
5
5
  import { Link } from "@inertiajs/vue3";
@@ -779,6 +779,7 @@ var _sfc_main$29 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
779
779
  //#region src/components/TextArea.vue
780
780
  var _hoisted_1$27 = ["value", "disabled"];
781
781
  var DEFAULT_MAX_LENGTH = 1e3;
782
+ var DEFAULT_BASE_HEIGHT = 48;
782
783
  var _sfc_main$28 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
783
784
  __name: "TextArea",
784
785
  props: {
@@ -809,18 +810,19 @@ var _sfc_main$28 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
809
810
  const textareaAttrs = computed(() => {
810
811
  const { class: _class, ...rest } = attrs;
811
812
  if (rest.maxlength === void 0) rest.maxlength = DEFAULT_MAX_LENGTH;
813
+ if (rest.rows === void 0) rest.rows = 1;
812
814
  return rest;
813
815
  });
814
816
  const textareaClasses = computed(() => [
815
- "w-full min-w-0 max-w-full rounded-lg border border-neutral-200 bg-white px-4 py-3 text-sm text-neutral-950 shadow-sm outline-none transition-colors placeholder:text-neutral-400 focus:border-neutral-900 focus:ring-2 focus:ring-neutral-950/10 dark:border-neutral-800 dark:bg-neutral-950 dark:text-neutral-50 dark:placeholder:text-neutral-500 dark:focus:border-neutral-100 dark:focus:ring-neutral-100/10",
816
- props.autoResize ? "resize-none overflow-y-auto" : "resize-y",
817
+ "w-full min-w-0 max-w-full min-h-[50px] rounded-lg border border-neutral-200 bg-white px-4 py-3 text-sm text-neutral-950 shadow-sm outline-none transition-colors placeholder:text-neutral-400 focus:border-neutral-900 focus:ring-2 focus:ring-neutral-950/10 dark:border-neutral-800 dark:bg-neutral-950 dark:text-neutral-50 dark:placeholder:text-neutral-500 dark:focus:border-neutral-100 dark:focus:ring-neutral-100/10",
818
+ props.autoResize ? "resize-none overflow-y-hidden" : "resize-y",
817
819
  attrs.class,
818
820
  props.ui.input
819
821
  ]);
820
822
  const resizeTextarea = () => {
821
823
  if (!props.autoResize || !textarea.value) return;
822
824
  textarea.value.style.height = "auto";
823
- textarea.value.style.height = `${textarea.value.scrollHeight}px`;
825
+ textarea.value.style.height = `${Math.max(textarea.value.scrollHeight, DEFAULT_BASE_HEIGHT)}px`;
824
826
  };
825
827
  const updateValue = (event) => {
826
828
  emit("update:modelValue", event.target.value);
@@ -1107,7 +1109,7 @@ var _sfc_main$27 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
1107
1109
  props.baseClass,
1108
1110
  selectedDeletedOption.value || props.multiple && selectedMultipleOptions.value.some(optionDeleted) ? props.deletedSelectedClass : props.normalTextClass,
1109
1111
  { "text-neutral-50": isDarkMode.value && !(selectedDeletedOption.value || props.multiple && selectedMultipleOptions.value.some(optionDeleted)) },
1110
- "flex items-center justify-between cursor-pointer",
1112
+ "flex h-[50px] items-center justify-between cursor-pointer",
1111
1113
  attrs.class,
1112
1114
  props.ui.trigger
1113
1115
  ]);
@@ -2256,7 +2258,7 @@ var _sfc_main$23 = {
2256
2258
  return openBlock(), createElementBlock("div", { class: normalizeClass(props.ui.root) }, [createElementVNode("div", { class: normalizeClass(["relative", props.ui.inputWrapper]) }, [createElementVNode("div", { class: normalizeClass(["absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none", props.ui.leadingIcon]) }, [createVNode(unref(PhotoIcon), { class: "size-5 text-neutral-400 dark:text-neutral-200" })], 2), createElementVNode("input", mergeProps(__props.attrs, {
2257
2259
  type: "file",
2258
2260
  accept: __props.accept,
2259
- class: ["block w-full cursor-pointer rounded-lg border border-neutral-200 bg-white py-3 pl-10 pr-4 text-sm text-neutral-700 shadow-sm transition-all duration-200 file:mr-4 file:rounded-md file:border-0 file:bg-neutral-900 file:px-4 file:py-2 file:text-sm file:font-medium file:text-neutral-50 hover:file:bg-neutral-800 focus:border-neutral-900 focus:outline-none focus:ring-2 focus:ring-neutral-950/10 dark:border-neutral-800 dark:bg-neutral-950 dark:text-neutral-100 dark:file:bg-neutral-800 dark:file:text-neutral-50 dark:hover:file:bg-neutral-700 dark:focus:border-neutral-100 dark:focus:ring-neutral-100/10", props.ui.input],
2261
+ class: ["block h-[50px] w-full cursor-pointer rounded-lg border border-neutral-200 bg-white py-[7px] pl-10 pr-4 text-sm text-neutral-700 align-middle shadow-sm transition-all duration-200 file:mr-3 file:h-[34px] file:align-middle file:rounded-md file:border-0 file:bg-neutral-900 file:px-4 file:py-0 file:text-sm file:font-medium file:leading-[34px] file:text-neutral-50 hover:file:bg-neutral-800 focus:border-neutral-900 focus:outline-none focus:ring-2 focus:ring-neutral-950/10 dark:border-neutral-800 dark:bg-neutral-950 dark:text-neutral-100 dark:file:bg-neutral-800 dark:file:text-neutral-50 dark:hover:file:bg-neutral-700 dark:focus:border-neutral-100 dark:focus:ring-neutral-100/10", props.ui.input],
2260
2262
  onChange: handleFileChange
2261
2263
  }), null, 16, _hoisted_1$23)], 2), props.currentImageUrl ? (openBlock(), createElementBlock("div", {
2262
2264
  key: 0,
@@ -2306,7 +2308,7 @@ var _sfc_main$22 = {
2306
2308
  const isSelected = (option) => String(option) === String(props.modelValue ?? "");
2307
2309
  const selectOption = (option) => emit("update:modelValue", option);
2308
2310
  return (_ctx, _cache) => {
2309
- return openBlock(), createElementBlock("div", { class: normalizeClass(["flex h-12 overflow-hidden rounded-lg border border-neutral-200 bg-white text-sm dark:border-neutral-800 dark:bg-neutral-950", props.ui.root]) }, [(openBlock(true), createElementBlock(Fragment, null, renderList(normalizedOptions.value, (option, idx) => {
2311
+ return openBlock(), createElementBlock("div", { class: normalizeClass(["flex h-[50px] overflow-hidden rounded-lg border border-neutral-200 bg-white text-sm dark:border-neutral-800 dark:bg-neutral-950", props.ui.root]) }, [(openBlock(true), createElementBlock(Fragment, null, renderList(normalizedOptions.value, (option, idx) => {
2310
2312
  return openBlock(), createElementBlock("button", {
2311
2313
  key: `notation-${idx}-${option}`,
2312
2314
  type: "button",
@@ -2656,18 +2658,18 @@ var _sfc_main$18 = {
2656
2658
  });
2657
2659
  };
2658
2660
  const loadTinyMce = async () => {
2659
- const tinymceModule = await import("./tinymce-B826jf9A.js").then((m) => /* @__PURE__ */ __toESM(m.default));
2661
+ const tinymceModule = await import("./tinymce-BCxpt2Ii.js").then((m) => /* @__PURE__ */ __toESM(m.default));
2660
2662
  const tinymce = tinymceModule.default ?? tinymceModule;
2661
2663
  if (typeof globalThis !== "undefined" && !globalThis.tinymce) globalThis.tinymce = tinymce;
2662
2664
  await Promise.all([
2663
- import("./dom-D6vkFL4c.js"),
2664
- import("./default-PXDM2_Bk.js"),
2665
- import("./silver-mAowUWHi.js"),
2666
- import("./code-BuhxLHnl.js"),
2667
- import("./image-gom7vN5I.js"),
2668
- import("./link-COfwcN4G.js"),
2669
- import("./lists-L7WlvEhf.js"),
2670
- import("./table-CPJ7XNoR.js")
2665
+ import("./dom-d3mVh9wQ.js"),
2666
+ import("./default-CCuOCWRn.js"),
2667
+ import("./silver-CSrcALEt.js"),
2668
+ import("./code-Cl8UmZkr.js"),
2669
+ import("./image-B3yyRNWV.js"),
2670
+ import("./link-rFzVVT6y.js"),
2671
+ import("./lists-9XV1lNdu.js"),
2672
+ import("./table-Bvnph26J.js")
2671
2673
  ]);
2672
2674
  isEditorReady.value = true;
2673
2675
  };
@@ -2791,20 +2793,20 @@ var _hoisted_5$5 = { class: "min-w-0 flex-1" };
2791
2793
  var _hoisted_6$5 = ["disabled", "aria-label"];
2792
2794
  var _hoisted_7$5 = { class: "mt-4 space-y-4" };
2793
2795
  var _hoisted_8$3 = ["aria-label", "aria-valuenow"];
2794
- var _hoisted_9$2 = {
2796
+ var _hoisted_9$1 = {
2795
2797
  key: 0,
2796
2798
  class: "absolute inset-0 bg-[linear-gradient(to_right,#fff,transparent)]"
2797
2799
  };
2798
- var _hoisted_10$2 = {
2800
+ var _hoisted_10$1 = {
2799
2801
  key: 2,
2800
2802
  class: "absolute inset-0 bg-[linear-gradient(to_top,#000,transparent)]"
2801
2803
  };
2802
- var _hoisted_11$2 = { class: "space-y-3" };
2803
- var _hoisted_12$1 = {
2804
+ var _hoisted_11 = { class: "space-y-3" };
2805
+ var _hoisted_12 = {
2804
2806
  key: 0,
2805
2807
  class: "space-y-2"
2806
2808
  };
2807
- var _hoisted_13$1 = ["for"];
2809
+ var _hoisted_13 = ["for"];
2808
2810
  var _hoisted_14 = [
2809
2811
  "id",
2810
2812
  "disabled",
@@ -3052,7 +3054,7 @@ var ColorPicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
3052
3054
  };
3053
3055
  });
3054
3056
  const triggerClasses = computed(() => [
3055
- "group flex w-full items-center gap-3 rounded-lg border border-neutral-200 bg-white px-3 py-3 text-left text-sm text-neutral-950 shadow-sm outline-none transition-colors focus:border-neutral-900 focus:ring-2 focus:ring-neutral-950/10 dark:border-neutral-800 dark:bg-neutral-950 dark:text-neutral-50 dark:focus:border-neutral-100 dark:focus:ring-neutral-100/10",
3057
+ "group flex h-[50px] w-full items-center gap-3 rounded-lg border border-neutral-200 bg-white px-3 py-3 text-left text-sm text-neutral-950 shadow-sm outline-none transition-colors focus:border-neutral-900 focus:ring-2 focus:ring-neutral-950/10 dark:border-neutral-800 dark:bg-neutral-950 dark:text-neutral-50 dark:focus:border-neutral-100 dark:focus:ring-neutral-100/10",
3056
3058
  attrs.class,
3057
3059
  props.disabled ? props.disabledClass : "",
3058
3060
  props.ui.trigger
@@ -3358,14 +3360,14 @@ var ColorPicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
3358
3360
  onPointerdown: _cache[0] || (_cache[0] = ($event) => beginDrag($event, updateFromSaturationPointer)),
3359
3361
  onKeydown: updateFromSaturationKey
3360
3362
  }, [
3361
- !isRainbowVariant.value ? (openBlock(), createElementBlock("div", _hoisted_9$2)) : createCommentVNode("", true),
3362
- isRainbowVariant.value ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [_cache[1] || (_cache[1] = createElementVNode("div", { class: "absolute inset-x-0 top-0 h-1/2 bg-[linear-gradient(to_bottom,#fff,transparent)]" }, null, -1)), _cache[2] || (_cache[2] = createElementVNode("div", { class: "absolute inset-x-0 bottom-0 h-1/2 bg-[linear-gradient(to_bottom,transparent,#000)]" }, null, -1))], 64)) : (openBlock(), createElementBlock("div", _hoisted_10$2)),
3363
+ !isRainbowVariant.value ? (openBlock(), createElementBlock("div", _hoisted_9$1)) : createCommentVNode("", true),
3364
+ isRainbowVariant.value ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [_cache[1] || (_cache[1] = createElementVNode("div", { class: "absolute inset-x-0 top-0 h-1/2 bg-[linear-gradient(to_bottom,#fff,transparent)]" }, null, -1)), _cache[2] || (_cache[2] = createElementVNode("div", { class: "absolute inset-x-0 bottom-0 h-1/2 bg-[linear-gradient(to_bottom,transparent,#000)]" }, null, -1))], 64)) : (openBlock(), createElementBlock("div", _hoisted_10$1)),
3363
3365
  createElementVNode("span", {
3364
3366
  class: normalizeClass(["pointer-events-none absolute size-4 -translate-x-1/2 -translate-y-1/2 rounded-full border-2 border-white shadow-[0_0_0_1px_rgba(0,0,0,0.3)]", props.ui.saturationHandle]),
3365
3367
  style: normalizeStyle(saturationHandleStyle.value)
3366
3368
  }, null, 6)
3367
3369
  ], 46, _hoisted_8$3),
3368
- createElementVNode("div", _hoisted_11$2, [!isRainbowVariant.value ? (openBlock(), createElementBlock("div", _hoisted_12$1, [createElementVNode("div", { class: normalizeClass(["flex items-center justify-between text-xs font-medium text-neutral-500 dark:text-neutral-400", props.ui.sectionLabel]) }, [createElementVNode("label", { for: fieldId.value ? `${fieldId.value}-hue` : void 0 }, toDisplayString(unref(t)("Hue")), 9, _hoisted_13$1), createElementVNode("span", null, toDisplayString(Math.round(hue.value)) + "°", 1)], 2), createElementVNode("input", {
3370
+ createElementVNode("div", _hoisted_11, [!isRainbowVariant.value ? (openBlock(), createElementBlock("div", _hoisted_12, [createElementVNode("div", { class: normalizeClass(["flex items-center justify-between text-xs font-medium text-neutral-500 dark:text-neutral-400", props.ui.sectionLabel]) }, [createElementVNode("label", { for: fieldId.value ? `${fieldId.value}-hue` : void 0 }, toDisplayString(unref(t)("Hue")), 9, _hoisted_13), createElementVNode("span", null, toDisplayString(Math.round(hue.value)) + "°", 1)], 2), createElementVNode("input", {
3369
3371
  id: fieldId.value ? `${fieldId.value}-hue` : void 0,
3370
3372
  type: "range",
3371
3373
  min: "0",
@@ -3413,7 +3415,7 @@ var ColorPicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
3413
3415
  ], 2);
3414
3416
  };
3415
3417
  }
3416
- }), [["__scopeId", "data-v-ace35bd9"]]);
3418
+ }), [["__scopeId", "data-v-21be8eab"]]);
3417
3419
  //#endregion
3418
3420
  //#region src/components/InputGroup.vue
3419
3421
  var _hoisted_1$18 = ["for"];
@@ -5507,30 +5509,24 @@ var _sfc_main$3 = {
5507
5509
  //#region src/components/TableSearch.vue
5508
5510
  var _hoisted_1$4 = { class: "flex flex-col items-start gap-4 lg:flex-row lg:flex-wrap lg:items-center lg:justify-between" };
5509
5511
  var _hoisted_2$3 = { class: "flex w-full min-w-0 flex-1 flex-col gap-3 lg:flex-row lg:items-center" };
5510
- var _hoisted_3$3 = {
5511
- key: 0,
5512
- class: "relative w-full lg:max-w-md"
5513
- };
5514
- var _hoisted_4$2 = { class: "pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3" };
5515
- var _hoisted_5$2 = ["placeholder"];
5516
- var _hoisted_6$2 = { class: "min-w-0 flex-1" };
5517
- var _hoisted_7$2 = {
5512
+ var _hoisted_3$3 = { class: "min-w-0 flex-1" };
5513
+ var _hoisted_4$2 = {
5518
5514
  key: 0,
5519
5515
  class: "flex shrink-0 flex-col items-start gap-3 sm:flex-row sm:items-center lg:w-auto"
5520
5516
  };
5521
- var _hoisted_8$2 = {
5517
+ var _hoisted_5$2 = {
5522
5518
  key: 0,
5523
5519
  class: "flex items-center"
5524
5520
  };
5525
- var _hoisted_9$1 = {
5521
+ var _hoisted_6$2 = {
5526
5522
  key: 1,
5527
5523
  class: "flex items-center text-xs text-neutral-500 dark:text-neutral-400 sm:w-auto sm:text-sm lg:w-auto"
5528
5524
  };
5529
- var _hoisted_10$1 = {
5525
+ var _hoisted_7$2 = {
5530
5526
  key: 0,
5531
5527
  class: "ml-2"
5532
5528
  };
5533
- var _hoisted_11$1 = { class: "font-medium text-neutral-700 dark:text-neutral-200" };
5529
+ var _hoisted_8$2 = { class: "font-medium text-neutral-700 dark:text-neutral-200" };
5534
5530
  var _sfc_main$2 = {
5535
5531
  __name: "TableSearch",
5536
5532
  props: {
@@ -5593,19 +5589,24 @@ var _sfc_main$2 = {
5593
5589
  set: (value) => emit("update:showDeleted", value)
5594
5590
  });
5595
5591
  return (_ctx, _cache) => {
5596
- return openBlock(), createElementBlock("div", { class: normalizeClass(__props.cardClass) }, [createElementVNode("div", _hoisted_1$4, [createElementVNode("div", _hoisted_2$3, [__props.searchbar ? (openBlock(), createElementBlock("div", _hoisted_3$3, [createElementVNode("div", _hoisted_4$2, [createVNode(unref(Search), { class: "h-5 w-5 text-neutral-400 dark:text-neutral-500" })]), withDirectives(createElementVNode("input", {
5592
+ return openBlock(), createElementBlock("div", { class: normalizeClass(__props.cardClass) }, [createElementVNode("div", _hoisted_1$4, [createElementVNode("div", _hoisted_2$3, [__props.searchbar ? (openBlock(), createBlock(_sfc_main$16, {
5593
+ key: 0,
5594
+ modelValue: model.value,
5597
5595
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => model.value = $event),
5598
5596
  type: "text",
5599
- placeholder: __props.placeholder,
5600
- class: "block w-full rounded-lg border border-neutral-300 bg-white py-2 pr-3 pl-10 text-sm text-neutral-900 placeholder:text-neutral-500 transition-all duration-200 focus:border-neutral-500 focus:outline-none dark:border-neutral-700 dark:bg-neutral-900 dark:text-neutral-100 dark:placeholder:text-neutral-500 dark:focus:border-neutral-500"
5601
- }, null, 8, _hoisted_5$2), [[vModelText, model.value]])])) : createCommentVNode("", true), createElementVNode("div", _hoisted_6$2, [renderSlot(_ctx.$slots, "search-fields")])]), __props.showDeletedToggle || __props.count !== null || _ctx.$slots.controls ? (openBlock(), createElementBlock("div", _hoisted_7$2, [
5602
- __props.showDeletedToggle ? (openBlock(), createElementBlock("div", _hoisted_8$2, [createVNode(_sfc_main$20, {
5597
+ "root-class": "w-full lg:max-w-md",
5598
+ placeholder: __props.placeholder
5599
+ }, {
5600
+ "leading-icon": withCtx(() => [createVNode(unref(Search), { class: "h-5 w-5" })]),
5601
+ _: 1
5602
+ }, 8, ["modelValue", "placeholder"])) : createCommentVNode("", true), createElementVNode("div", _hoisted_3$3, [renderSlot(_ctx.$slots, "search-fields")])]), __props.showDeletedToggle || __props.count !== null || _ctx.$slots.controls ? (openBlock(), createElementBlock("div", _hoisted_4$2, [
5603
+ __props.showDeletedToggle ? (openBlock(), createElementBlock("div", _hoisted_5$2, [createVNode(_sfc_main$20, {
5603
5604
  modelValue: showDeletedModel.value,
5604
5605
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => showDeletedModel.value = $event),
5605
5606
  label: __props.showDeletedLabel
5606
5607
  }, null, 8, ["modelValue", "label"])])) : createCommentVNode("", true),
5607
5608
  renderSlot(_ctx.$slots, "controls"),
5608
- __props.count !== null ? (openBlock(), createElementBlock("div", _hoisted_9$1, [createElementVNode("span", null, toDisplayString(__props.count) + " " + toDisplayString(__props.countLabel), 1), model.value ? (openBlock(), createElementBlock("span", _hoisted_10$1, [createTextVNode(toDisplayString(__props.queryLabel) + " ", 1), createElementVNode("span", _hoisted_11$1, " \"" + toDisplayString(model.value) + "\" ", 1)])) : createCommentVNode("", true)])) : createCommentVNode("", true)
5609
+ __props.count !== null ? (openBlock(), createElementBlock("div", _hoisted_6$2, [createElementVNode("span", null, toDisplayString(__props.count) + " " + toDisplayString(__props.countLabel), 1), model.value ? (openBlock(), createElementBlock("span", _hoisted_7$2, [createTextVNode(toDisplayString(__props.queryLabel) + " ", 1), createElementVNode("span", _hoisted_8$2, " \"" + toDisplayString(model.value) + "\" ", 1)])) : createCommentVNode("", true)])) : createCommentVNode("", true)
5609
5610
  ])) : createCommentVNode("", true)])], 2);
5610
5611
  };
5611
5612
  }
@@ -5933,28 +5934,25 @@ var _sfc_main$1 = {
5933
5934
  };
5934
5935
  //#endregion
5935
5936
  //#region src/components/TableListForm.vue
5936
- var _hoisted_1$2 = { class: "relative max-w-sm" };
5937
- var _hoisted_2$1 = { class: "absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none" };
5938
- var _hoisted_3$1 = ["value", "placeholder"];
5939
- var _hoisted_4 = {
5937
+ var _hoisted_1$2 = {
5940
5938
  key: 2,
5941
5939
  class: "flex items-center"
5942
5940
  };
5943
- var _hoisted_5 = ["title"];
5944
- var _hoisted_6 = {
5941
+ var _hoisted_2$1 = ["title"];
5942
+ var _hoisted_3$1 = {
5945
5943
  key: 0,
5946
5944
  class: "ml-2 inline-flex items-center rounded-full bg-red-100 px-2 py-1 text-xs font-medium text-red-800 dark:bg-red-950/60 dark:text-neutral-100"
5947
5945
  };
5948
- var _hoisted_7 = ["innerHTML"];
5949
- var _hoisted_8 = { key: 5 };
5950
- var _hoisted_9 = { class: "flex items-center justify-end gap-2" };
5951
- var _hoisted_10 = {
5946
+ var _hoisted_4 = ["innerHTML"];
5947
+ var _hoisted_5 = { key: 5 };
5948
+ var _hoisted_6 = { class: "flex items-center justify-end gap-2" };
5949
+ var _hoisted_7 = {
5952
5950
  key: 2,
5953
5951
  class: "py-12 text-center"
5954
5952
  };
5955
- var _hoisted_11 = { class: "mb-4 inline-flex h-16 w-16 items-center justify-center rounded-full bg-neutral-100 dark:bg-neutral-900" };
5956
- var _hoisted_12 = { class: "mb-2 text-lg font-medium text-neutral-950 dark:text-neutral-50" };
5957
- var _hoisted_13 = { class: "mb-4 text-neutral-500 dark:text-neutral-200" };
5953
+ var _hoisted_8 = { class: "mb-4 inline-flex h-16 w-16 items-center justify-center rounded-full bg-neutral-100 dark:bg-neutral-900" };
5954
+ var _hoisted_9 = { class: "mb-2 text-lg font-medium text-neutral-950 dark:text-neutral-50" };
5955
+ var _hoisted_10 = { class: "mb-4 text-neutral-500 dark:text-neutral-200" };
5958
5956
  var _sfc_main = {
5959
5957
  __name: "TableListForm",
5960
5958
  props: {
@@ -6320,13 +6318,16 @@ var _sfc_main = {
6320
6318
  return openBlock(), createElementBlock("div", { class: normalizeClass(["bg-white dark:bg-neutral-950", __props.isCard ? "mx-4 rounded-xl animate-fadeIn border border-neutral-200 shadow-sm dark:border-neutral-800 md:mx-0 overflow-hidden" : ""]) }, [__props.search ? (openBlock(), createElementBlock("div", {
6321
6319
  key: 0,
6322
6320
  class: normalizeClass(["px-6 py-4", __props.isCard ? "rounded-t-xl border-b border-neutral-200 bg-neutral-50/80 dark:border-neutral-800 dark:bg-neutral-900/80" : "mb-4 bg-white/80 backdrop-blur-sm dark:bg-neutral-950/80"])
6323
- }, [createElementVNode("div", _hoisted_1$2, [createElementVNode("div", _hoisted_2$1, [createVNode(unref(MagnifyingGlassIcon), { class: "h-4 w-4 text-neutral-400 dark:text-neutral-200" })]), createElementVNode("input", {
6324
- value: searchQuery.value,
6321
+ }, [createVNode(_sfc_main$16, {
6322
+ "model-value": searchQuery.value,
6325
6323
  type: "text",
6324
+ "root-class": "max-w-sm",
6326
6325
  placeholder: __props.searchPlaceholder,
6327
- class: "block w-full rounded-lg border border-neutral-200 bg-white py-2 pl-9 pr-3 text-sm text-neutral-900 placeholder:text-neutral-500 transition-colors duration-200 focus:border-neutral-900 focus:outline-none focus:ring-2 focus:ring-neutral-950/10 dark:border-neutral-800 dark:bg-neutral-950 dark:text-neutral-50 dark:placeholder:text-neutral-500 dark:focus:border-neutral-100 dark:focus:ring-neutral-100/10",
6328
- onInput: _cache[0] || (_cache[0] = ($event) => searchQuery.value = $event.target.value)
6329
- }, null, 40, _hoisted_3$1)])], 2)) : createCommentVNode("", true), hasData.value ? (openBlock(), createElementBlock("div", {
6326
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searchQuery.value = $event)
6327
+ }, {
6328
+ "leading-icon": withCtx(() => [createVNode(unref(Search), { class: "h-5 w-5" })]),
6329
+ _: 1
6330
+ }, 8, ["model-value", "placeholder"])], 2)) : createCommentVNode("", true), hasData.value ? (openBlock(), createElementBlock("div", {
6330
6331
  key: 1,
6331
6332
  class: normalizeClass(["overflow-x-auto", __props.isCard ? __props.search ? "" : "rounded-t-xl" : ""])
6332
6333
  }, [createElementVNode("table", { class: normalizeClass(joinClasses("min-w-full divide-y divide-neutral-200 dark:divide-neutral-800", __props.tableClass)) }, [createElementVNode("thead", { class: normalizeClass(joinClasses("bg-neutral-50 dark:bg-neutral-900", __props.theadClass)) }, [createElementVNode("tr", { class: normalizeClass(__props.headerRowClass) }, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (column) => {
@@ -6391,20 +6392,20 @@ var _sfc_main = {
6391
6392
  "error-message",
6392
6393
  "onUpdate:modelValue",
6393
6394
  "onBlur"
6394
- ])) : column.key === "name" && !column.slot ? (openBlock(), createElementBlock("div", _hoisted_4, [createElementVNode("div", {
6395
+ ])) : column.key === "name" && !column.slot ? (openBlock(), createElementBlock("div", _hoisted_1$2, [createElementVNode("div", {
6395
6396
  class: "text-sm font-medium truncate",
6396
6397
  title: getCellContent(item, column)
6397
- }, toDisplayString(getCellContent(item, column)), 9, _hoisted_5), isDeleted(item) ? (openBlock(), createElementBlock("span", _hoisted_6, toDisplayString(__props.deletedLabel), 1)) : createCommentVNode("", true)])) : column.slot ? renderSlot(_ctx.$slots, column.slot, mergeProps({
6398
+ }, toDisplayString(getCellContent(item, column)), 9, _hoisted_2$1), isDeleted(item) ? (openBlock(), createElementBlock("span", _hoisted_3$1, toDisplayString(__props.deletedLabel), 1)) : createCommentVNode("", true)])) : column.slot ? renderSlot(_ctx.$slots, column.slot, mergeProps({
6398
6399
  key: 3,
6399
6400
  ref_for: true
6400
6401
  }, getSlotBindings(item, column, index))) : column.render ? (openBlock(), createElementBlock("div", {
6401
6402
  key: 4,
6402
6403
  innerHTML: column.render(item)
6403
- }, null, 8, _hoisted_7)) : (openBlock(), createElementBlock("div", _hoisted_8, toDisplayString(getCellContent(item, column)), 1))], 2)], 6);
6404
+ }, null, 8, _hoisted_4)) : (openBlock(), createElementBlock("div", _hoisted_5, toDisplayString(getCellContent(item, column)), 1))], 2)], 6);
6404
6405
  }), 128)), hasActionsColumn.value ? (openBlock(), createElementBlock("td", {
6405
6406
  key: 0,
6406
6407
  class: normalizeClass(actionCellClass.value)
6407
- }, [createElementVNode("div", _hoisted_9, [hasActionsSlot.value ? renderSlot(_ctx.$slots, "actions", mergeProps({
6408
+ }, [createElementVNode("div", _hoisted_6, [hasActionsSlot.value ? renderSlot(_ctx.$slots, "actions", mergeProps({
6408
6409
  key: 0,
6409
6410
  ref_for: true
6410
6411
  }, getSlotBindings(item, null, index))) : createCommentVNode("", true), __props.rowEditing && isEditingRow(item, index) ? (openBlock(), createBlock(_sfc_main$32, {
@@ -6440,10 +6441,10 @@ var _sfc_main = {
6440
6441
  "aria-label",
6441
6442
  "onClick"
6442
6443
  ])) : createCommentVNode("", true)])], 2)) : createCommentVNode("", true)], 2);
6443
- }), 128))], 2)], 2)], 2)) : (openBlock(), createElementBlock("div", _hoisted_10, [
6444
- createElementVNode("div", _hoisted_11, [(openBlock(), createBlock(resolveDynamicComponent(__props.emptyState.icon), { class: "h-8 w-8 text-neutral-400 dark:text-neutral-200" }))]),
6445
- createElementVNode("h3", _hoisted_12, toDisplayString(__props.emptyState.title), 1),
6446
- createElementVNode("p", _hoisted_13, toDisplayString(__props.emptyState.description), 1),
6444
+ }), 128))], 2)], 2)], 2)) : (openBlock(), createElementBlock("div", _hoisted_7, [
6445
+ createElementVNode("div", _hoisted_8, [(openBlock(), createBlock(resolveDynamicComponent(__props.emptyState.icon), { class: "h-8 w-8 text-neutral-400 dark:text-neutral-200" }))]),
6446
+ createElementVNode("h3", _hoisted_9, toDisplayString(__props.emptyState.title), 1),
6447
+ createElementVNode("p", _hoisted_10, toDisplayString(__props.emptyState.description), 1),
6447
6448
  __props.emptyState.actionText && __props.emptyState.actionUrl ? (openBlock(), createBlock(_sfc_main$6, {
6448
6449
  key: 0,
6449
6450
  href: __props.emptyState.actionUrl,
@@ -6642,4 +6643,4 @@ var plugin_default = { install(app) {
6642
6643
  //#endregion
6643
6644
  export { SectionTitle_default as $, _sfc_main$12 as A, _sfc_main$22 as B, _sfc_main$5 as C, _sfc_main$9 as D, _sfc_main$8 as E, ColorPicker_default as F, _sfc_main$27 as G, DateRangeInput_default as H, _sfc_main$18 as I, _sfc_main$30 as J, _sfc_main$28 as K, _sfc_main$19 as L, _sfc_main$14 as M, _sfc_main$15 as N, _sfc_main$10 as O, _sfc_main$16 as P, _sfc_main$34 as Q, _sfc_main$20 as R, useSidebar as S, _sfc_main$7 as T, DateInput_default as U, _sfc_main$23 as V, _sfc_main$26 as W, _sfc_main$32 as X, _sfc_main$31 as Y, _sfc_main$33 as Z, SidebarGroupContent_default as _, _sfc_main$1 as a, __commonJSMin as at, SidebarContent_default as b, _sfc_main$4 as c, SidebarMenuItem_default as d, _sfc_main$36 as et, SidebarMenuButton_default as f, SidebarGroupLabel_default as g, SidebarHeader_default as h, _sfc_main as i, _sfc_main$40 as it, _sfc_main$13 as j, _sfc_main$11 as k, SidebarTrigger_default as l, SidebarInset_default as m, ToastContainer_default as n, _sfc_main$38 as nt, _sfc_main$2 as o, SidebarMenu_default as p, _sfc_main$29 as q, Toast_default as r, _sfc_main$39 as rt, _sfc_main$3 as s, plugin_default as t, _sfc_main$37 as tt, SidebarProvider_default as u, SidebarGroup_default as v, _sfc_main$6 as w, Sidebar_default as x, SidebarFooter_default as y, _sfc_main$21 as z };
6644
6645
 
6645
- //# sourceMappingURL=plugin-BN0tob6x.js.map
6646
+ //# sourceMappingURL=plugin-BK10UHfW.js.map