@enos5/enos-vue-default 1.10.9 → 1.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{code-BGvKDzw4.js → code-3Xpqq54w.js} +2 -2
- package/dist/{code-BGvKDzw4.js.map → code-3Xpqq54w.js.map} +1 -1
- package/dist/components/TableList.vue.d.ts +11 -0
- package/dist/components/TableSearch.vue.d.ts +11 -0
- package/dist/{default-BuAxxoev.js → default-CZa89wEE.js} +2 -2
- package/dist/{default-BuAxxoev.js.map → default-CZa89wEE.js.map} +1 -1
- package/dist/{dom-D5UfUcQR.js → dom-BXn8qn2o.js} +2 -2
- package/dist/{dom-D5UfUcQR.js.map → dom-BXn8qn2o.js.map} +1 -1
- package/dist/{image-Ck9BEv9N.js → image--oDAPWpF.js} +2 -2
- package/dist/{image-Ck9BEv9N.js.map → image--oDAPWpF.js.map} +1 -1
- package/dist/index.js +1 -1
- package/dist/index.node.js +1 -1
- package/dist/{link-Caf4jV5R.js → link-CHw8DHTU.js} +2 -2
- package/dist/{link-Caf4jV5R.js.map → link-CHw8DHTU.js.map} +1 -1
- package/dist/{lists-BprZI_eL.js → lists-BT5R_kh4.js} +2 -2
- package/dist/{lists-BprZI_eL.js.map → lists-BT5R_kh4.js.map} +1 -1
- package/dist/{plugin-BN-gSWu3.js → plugin-Bnh8KnIk.js} +132 -39
- package/dist/plugin-Bnh8KnIk.js.map +1 -0
- package/dist/{silver-DosHhcEf.js → silver-BMTgS4Sf.js} +2 -2
- package/dist/{silver-DosHhcEf.js.map → silver-BMTgS4Sf.js.map} +1 -1
- package/dist/styles.css +62 -41
- package/dist/{table-wmmh0U-p.js → table-3K-TAswh.js} +2 -2
- package/dist/{table-wmmh0U-p.js.map → table-3K-TAswh.js.map} +1 -1
- package/dist/{tinymce-D8FjWqgG.js → tinymce-C38hRTpx.js} +2 -2
- package/dist/{tinymce-D8FjWqgG.js.map → tinymce-C38hRTpx.js.map} +1 -1
- package/package.json +1 -1
- package/dist/plugin-BN-gSWu3.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lists-BprZI_eL.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-BT5R_kh4.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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"}
|
|
@@ -856,7 +856,7 @@ var _sfc_main$28 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
|
|
|
856
856
|
});
|
|
857
857
|
//#endregion
|
|
858
858
|
//#region src/components/CustomSelect.vue
|
|
859
|
-
var _hoisted_1$26 = { class: "flex h-5 items-center gap-1" };
|
|
859
|
+
var _hoisted_1$26 = { class: "flex h-5 shrink-0 items-center gap-1" };
|
|
860
860
|
var _hoisted_2$16 = ["placeholder"];
|
|
861
861
|
var _hoisted_3$12 = [
|
|
862
862
|
"data-option-value",
|
|
@@ -1043,6 +1043,7 @@ var _sfc_main$27 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
|
|
|
1043
1043
|
const isOpen = ref(false);
|
|
1044
1044
|
const rootRef = ref(null);
|
|
1045
1045
|
const triggerRef = ref(null);
|
|
1046
|
+
const triggerValueRef = ref(null);
|
|
1046
1047
|
const dropdownMenuRef = ref(null);
|
|
1047
1048
|
const dropdownStyle = ref({});
|
|
1048
1049
|
const teleportTarget = ref("body");
|
|
@@ -1052,6 +1053,10 @@ var _sfc_main$27 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
|
|
|
1052
1053
|
const searchInputRef = ref(null);
|
|
1053
1054
|
const highlightedOptionValue = ref(null);
|
|
1054
1055
|
const typeaheadQuery = ref("");
|
|
1056
|
+
const isSelectingTriggerValue = ref(false);
|
|
1057
|
+
const triggerValuePointerActive = ref(false);
|
|
1058
|
+
const triggerValuePointerStartX = ref(0);
|
|
1059
|
+
const shouldSuppressTriggerClick = ref(false);
|
|
1055
1060
|
let typeaheadResetTimeout = null;
|
|
1056
1061
|
const isObjectOption = (option) => typeof option === "object" && option !== null;
|
|
1057
1062
|
const optionValue = (option) => {
|
|
@@ -1110,11 +1115,15 @@ var _sfc_main$27 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
|
|
|
1110
1115
|
props.baseClass,
|
|
1111
1116
|
selectedDeletedOption.value || props.multiple && selectedMultipleOptions.value.some(optionDeleted) ? props.deletedSelectedClass : props.normalTextClass,
|
|
1112
1117
|
{ "text-neutral-50": isDarkMode.value && !(selectedDeletedOption.value || props.multiple && selectedMultipleOptions.value.some(optionDeleted)) },
|
|
1113
|
-
"flex h-[48px] items-center justify-between cursor-pointer",
|
|
1118
|
+
"flex h-[48px] min-w-0 items-center justify-between gap-2 cursor-pointer",
|
|
1114
1119
|
attrs.class,
|
|
1115
1120
|
props.ui.trigger
|
|
1116
1121
|
]);
|
|
1117
|
-
const triggerValueClasses = computed(() => [
|
|
1122
|
+
const triggerValueClasses = computed(() => [
|
|
1123
|
+
isSelectingTriggerValue.value ? "block min-w-0 flex-1 cursor-text select-text overflow-x-auto whitespace-nowrap [scrollbar-width:none] [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden" : "block min-w-0 flex-1 truncate",
|
|
1124
|
+
(props.multiple && selectedMultipleOptions.value.length === 0 || !props.multiple && !props.modelValue) && props.placeholder ? props.placeholderClass : null,
|
|
1125
|
+
props.multiple && selectedMultipleOptions.value.length === 0 || !props.multiple && !props.modelValue ? props.ui.placeholder : props.ui.value
|
|
1126
|
+
]);
|
|
1118
1127
|
const clearButtonClasses = computed(() => ["inline-flex size-5 shrink-0 items-center justify-center rounded-full text-neutral-400 transition hover:bg-neutral-100 hover:text-neutral-700 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-neutral-950/20 dark:hover:bg-neutral-900 dark:hover:text-neutral-200 dark:focus-visible:ring-neutral-100/20", props.ui.clearButton]);
|
|
1119
1128
|
const chevronClasses = computed(() => [
|
|
1120
1129
|
"size-5 text-neutral-400 transition-transform dark:text-neutral-200",
|
|
@@ -1170,7 +1179,65 @@ var _sfc_main$27 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
|
|
|
1170
1179
|
const normalizeEmittedValues = (values) => values.map((value) => normalizeEmittedValue(value));
|
|
1171
1180
|
const optionIsSelected = (option) => modelValueSet.value.has(String(optionValue(option) ?? ""));
|
|
1172
1181
|
const optionIsHighlighted = (option) => highlightedOptionValue.value === String(optionValue(option) ?? "");
|
|
1182
|
+
const hasTriggerValueSelection = () => {
|
|
1183
|
+
const selection = window.getSelection();
|
|
1184
|
+
if (!selection || selection.isCollapsed || !triggerValueRef.value) return false;
|
|
1185
|
+
const { anchorNode, focusNode } = selection;
|
|
1186
|
+
return anchorNode && triggerValueRef.value.contains(anchorNode) || focusNode && triggerValueRef.value.contains(focusNode);
|
|
1187
|
+
};
|
|
1188
|
+
const syncTriggerValueSelection = () => {
|
|
1189
|
+
if (triggerValuePointerActive.value) {
|
|
1190
|
+
isSelectingTriggerValue.value = true;
|
|
1191
|
+
return;
|
|
1192
|
+
}
|
|
1193
|
+
isSelectingTriggerValue.value = hasTriggerValueSelection();
|
|
1194
|
+
if (!isSelectingTriggerValue.value && triggerValueRef.value) triggerValueRef.value.scrollLeft = 0;
|
|
1195
|
+
};
|
|
1196
|
+
const autoScrollTriggerValue = (clientX) => {
|
|
1197
|
+
if (!triggerValueRef.value) return;
|
|
1198
|
+
const rect = triggerValueRef.value.getBoundingClientRect();
|
|
1199
|
+
const threshold = 24;
|
|
1200
|
+
const maxStep = 18;
|
|
1201
|
+
if (clientX > rect.right - threshold) {
|
|
1202
|
+
const ratio = Math.min((clientX - (rect.right - threshold)) / threshold, 1);
|
|
1203
|
+
triggerValueRef.value.scrollLeft += Math.ceil(ratio * maxStep);
|
|
1204
|
+
return;
|
|
1205
|
+
}
|
|
1206
|
+
if (clientX < rect.left + threshold) {
|
|
1207
|
+
const ratio = Math.min((rect.left + threshold - clientX) / threshold, 1);
|
|
1208
|
+
triggerValueRef.value.scrollLeft -= Math.ceil(ratio * maxStep);
|
|
1209
|
+
}
|
|
1210
|
+
};
|
|
1211
|
+
const handleTriggerValuePointerDown = (event) => {
|
|
1212
|
+
if (event.button !== 0) return;
|
|
1213
|
+
triggerValuePointerActive.value = true;
|
|
1214
|
+
triggerValuePointerStartX.value = event.clientX;
|
|
1215
|
+
shouldSuppressTriggerClick.value = false;
|
|
1216
|
+
isSelectingTriggerValue.value = true;
|
|
1217
|
+
};
|
|
1218
|
+
const handleTriggerValuePointerMove = (event) => {
|
|
1219
|
+
if (!triggerValuePointerActive.value) return;
|
|
1220
|
+
if (Math.abs(event.clientX - triggerValuePointerStartX.value) > 4) shouldSuppressTriggerClick.value = true;
|
|
1221
|
+
autoScrollTriggerValue(event.clientX);
|
|
1222
|
+
};
|
|
1223
|
+
const handleTriggerValuePointerUp = () => {
|
|
1224
|
+
if (!triggerValuePointerActive.value) return;
|
|
1225
|
+
triggerValuePointerActive.value = false;
|
|
1226
|
+
window.setTimeout(() => {
|
|
1227
|
+
syncTriggerValueSelection();
|
|
1228
|
+
}, 0);
|
|
1229
|
+
};
|
|
1230
|
+
const resetTriggerValueSelectionState = () => {
|
|
1231
|
+
isSelectingTriggerValue.value = false;
|
|
1232
|
+
triggerValuePointerActive.value = false;
|
|
1233
|
+
shouldSuppressTriggerClick.value = false;
|
|
1234
|
+
if (triggerValueRef.value) triggerValueRef.value.scrollLeft = 0;
|
|
1235
|
+
};
|
|
1173
1236
|
const toggleDropdown = () => {
|
|
1237
|
+
if (shouldSuppressTriggerClick.value || hasTriggerValueSelection()) {
|
|
1238
|
+
shouldSuppressTriggerClick.value = false;
|
|
1239
|
+
return;
|
|
1240
|
+
}
|
|
1174
1241
|
if (!props.disabled) isOpen.value = !isOpen.value;
|
|
1175
1242
|
};
|
|
1176
1243
|
const syncTeleportTarget = () => {
|
|
@@ -1233,6 +1300,7 @@ var _sfc_main$27 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
|
|
|
1233
1300
|
const clickedInsideMenu = dropdownMenuRef.value?.contains(event.target);
|
|
1234
1301
|
if (!clickedInsideTrigger && !clickedInsideMenu) {
|
|
1235
1302
|
isOpen.value = false;
|
|
1303
|
+
resetTriggerValueSelectionState();
|
|
1236
1304
|
searchQuery.value = "";
|
|
1237
1305
|
highlightedOptionValue.value = null;
|
|
1238
1306
|
typeaheadQuery.value = "";
|
|
@@ -1378,6 +1446,9 @@ var _sfc_main$27 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
|
|
|
1378
1446
|
syncTeleportTarget();
|
|
1379
1447
|
syncDarkMode();
|
|
1380
1448
|
document.addEventListener("click", closeDropdown);
|
|
1449
|
+
document.addEventListener("pointermove", handleTriggerValuePointerMove);
|
|
1450
|
+
document.addEventListener("pointerup", handleTriggerValuePointerUp);
|
|
1451
|
+
document.addEventListener("selectionchange", syncTriggerValueSelection);
|
|
1381
1452
|
document.addEventListener("keydown", handleDropdownKeydown, true);
|
|
1382
1453
|
document.addEventListener("keydown", handleTypeaheadKeydown, true);
|
|
1383
1454
|
window.addEventListener("resize", updateDropdownPosition);
|
|
@@ -1386,6 +1457,9 @@ var _sfc_main$27 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
|
|
|
1386
1457
|
onBeforeUnmount(() => {
|
|
1387
1458
|
clearTypeaheadQuery();
|
|
1388
1459
|
document.removeEventListener("click", closeDropdown);
|
|
1460
|
+
document.removeEventListener("pointermove", handleTriggerValuePointerMove);
|
|
1461
|
+
document.removeEventListener("pointerup", handleTriggerValuePointerUp);
|
|
1462
|
+
document.removeEventListener("selectionchange", syncTriggerValueSelection);
|
|
1389
1463
|
document.removeEventListener("keydown", handleDropdownKeydown, true);
|
|
1390
1464
|
document.removeEventListener("keydown", handleTypeaheadKeydown, true);
|
|
1391
1465
|
window.removeEventListener("resize", updateDropdownPosition);
|
|
@@ -1393,6 +1467,7 @@ var _sfc_main$27 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
|
|
|
1393
1467
|
});
|
|
1394
1468
|
watch(isOpen, async (open) => {
|
|
1395
1469
|
if (!open) {
|
|
1470
|
+
resetTriggerValueSelectionState();
|
|
1396
1471
|
searchQuery.value = "";
|
|
1397
1472
|
highlightedOptionValue.value = null;
|
|
1398
1473
|
clearTypeaheadQuery();
|
|
@@ -1416,6 +1491,9 @@ var _sfc_main$27 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
|
|
|
1416
1491
|
if (!isOpen.value || !props.searchable) return;
|
|
1417
1492
|
await syncHighlightedOption();
|
|
1418
1493
|
});
|
|
1494
|
+
watch(() => props.modelValue, () => {
|
|
1495
|
+
if (!isSelectingTriggerValue.value && triggerValueRef.value) triggerValueRef.value.scrollLeft = 0;
|
|
1496
|
+
});
|
|
1419
1497
|
return (_ctx, _cache) => {
|
|
1420
1498
|
return openBlock(), createElementBlock("div", {
|
|
1421
1499
|
ref_key: "rootRef",
|
|
@@ -1427,9 +1505,12 @@ var _sfc_main$27 = /*@__PURE__*/ Object.assign({ inheritAttrs: false }, {
|
|
|
1427
1505
|
ref: triggerRef,
|
|
1428
1506
|
class: triggerClasses.value
|
|
1429
1507
|
}, unref(attrs), { tabindex: "0" }), [createElementVNode("span", {
|
|
1508
|
+
ref_key: "triggerValueRef",
|
|
1509
|
+
ref: triggerValueRef,
|
|
1430
1510
|
class: normalizeClass(triggerValueClasses.value),
|
|
1431
|
-
style: normalizeStyle(darkTextStyle.value)
|
|
1432
|
-
|
|
1511
|
+
style: normalizeStyle(darkTextStyle.value),
|
|
1512
|
+
onPointerdown: handleTriggerValuePointerDown
|
|
1513
|
+
}, toDisplayString(displayText.value), 39), createElementVNode("div", _hoisted_1$26, [canClearSelection.value ? (openBlock(), createElementBlock("button", {
|
|
1433
1514
|
key: 0,
|
|
1434
1515
|
type: "button",
|
|
1435
1516
|
class: normalizeClass(clearButtonClasses.value),
|
|
@@ -1836,7 +1917,7 @@ var DateInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
|
|
|
1836
1917
|
}), null, 16, _hoisted_1$25);
|
|
1837
1918
|
};
|
|
1838
1919
|
}
|
|
1839
|
-
}), [["__scopeId", "data-v-
|
|
1920
|
+
}), [["__scopeId", "data-v-8a975d48"]]);
|
|
1840
1921
|
//#endregion
|
|
1841
1922
|
//#region src/components/DateRangeInput.vue
|
|
1842
1923
|
var _hoisted_1$24 = ["value", "disabled"];
|
|
@@ -1849,7 +1930,7 @@ var _hoisted_3$11 = [
|
|
|
1849
1930
|
var _hoisted_4$8 = { class: "flex items-center justify-between" };
|
|
1850
1931
|
var _hoisted_5$6 = { key: 0 };
|
|
1851
1932
|
var _hoisted_6$6 = { key: 1 };
|
|
1852
|
-
var _hoisted_7$
|
|
1933
|
+
var _hoisted_7$5 = { key: 2 };
|
|
1853
1934
|
var DateRangeInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
|
|
1854
1935
|
__name: "DateRangeInput",
|
|
1855
1936
|
props: {
|
|
@@ -2204,7 +2285,7 @@ var DateRangeInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
|
|
|
2204
2285
|
onMouseleave: handleDateLeave
|
|
2205
2286
|
}, toDisplayString(day.date.getDate()), 43, _hoisted_3$11)]);
|
|
2206
2287
|
}), 128))]),
|
|
2207
|
-
createElementVNode("div", { class: normalizeClass(["mt-4 pt-4 border-t border-neutral-200 dark:border-neutral-800", props.ui.footer]) }, [createElementVNode("div", _hoisted_4$8, [createElementVNode("div", { class: normalizeClass(["text-xs text-neutral-500 dark:text-neutral-400", props.ui.footerText]) }, [startDate.value && endDate.value ? (openBlock(), createElementBlock("div", _hoisted_5$6, " Range: " + toDisplayString(daysBetween.value) + " days ", 1)) : startDate.value ? (openBlock(), createElementBlock("div", _hoisted_6$6, " Select end date ")) : (openBlock(), createElementBlock("div", _hoisted_7$
|
|
2288
|
+
createElementVNode("div", { class: normalizeClass(["mt-4 pt-4 border-t border-neutral-200 dark:border-neutral-800", props.ui.footer]) }, [createElementVNode("div", _hoisted_4$8, [createElementVNode("div", { class: normalizeClass(["text-xs text-neutral-500 dark:text-neutral-400", props.ui.footerText]) }, [startDate.value && endDate.value ? (openBlock(), createElementBlock("div", _hoisted_5$6, " Range: " + toDisplayString(daysBetween.value) + " days ", 1)) : startDate.value ? (openBlock(), createElementBlock("div", _hoisted_6$6, " Select end date ")) : (openBlock(), createElementBlock("div", _hoisted_7$5, " Select start date "))], 2), startDate.value || endDate.value ? (openBlock(), createElementBlock("button", {
|
|
2208
2289
|
key: 0,
|
|
2209
2290
|
type: "button",
|
|
2210
2291
|
class: normalizeClass(["text-xs text-red-600 hover:text-red-700 dark:text-red-400 dark:hover:text-red-300 transition-colors", props.ui.clearButton]),
|
|
@@ -2659,18 +2740,18 @@ var _sfc_main$18 = {
|
|
|
2659
2740
|
});
|
|
2660
2741
|
};
|
|
2661
2742
|
const loadTinyMce = async () => {
|
|
2662
|
-
const tinymceModule = await import("./tinymce-
|
|
2743
|
+
const tinymceModule = await import("./tinymce-C38hRTpx.js").then((m) => /* @__PURE__ */ __toESM(m.default));
|
|
2663
2744
|
const tinymce = tinymceModule.default ?? tinymceModule;
|
|
2664
2745
|
if (typeof globalThis !== "undefined" && !globalThis.tinymce) globalThis.tinymce = tinymce;
|
|
2665
2746
|
await Promise.all([
|
|
2666
|
-
import("./dom-
|
|
2667
|
-
import("./default-
|
|
2668
|
-
import("./silver-
|
|
2669
|
-
import("./code-
|
|
2670
|
-
import("./image
|
|
2671
|
-
import("./link-
|
|
2672
|
-
import("./lists-
|
|
2673
|
-
import("./table-
|
|
2747
|
+
import("./dom-BXn8qn2o.js"),
|
|
2748
|
+
import("./default-CZa89wEE.js"),
|
|
2749
|
+
import("./silver-BMTgS4Sf.js"),
|
|
2750
|
+
import("./code-3Xpqq54w.js"),
|
|
2751
|
+
import("./image--oDAPWpF.js"),
|
|
2752
|
+
import("./link-CHw8DHTU.js"),
|
|
2753
|
+
import("./lists-BT5R_kh4.js"),
|
|
2754
|
+
import("./table-3K-TAswh.js")
|
|
2674
2755
|
]);
|
|
2675
2756
|
isEditorReady.value = true;
|
|
2676
2757
|
};
|
|
@@ -2792,8 +2873,8 @@ var _hoisted_3$9 = { class: "min-w-0 flex-1" };
|
|
|
2792
2873
|
var _hoisted_4$7 = { class: "flex items-start gap-3" };
|
|
2793
2874
|
var _hoisted_5$5 = { class: "min-w-0 flex-1" };
|
|
2794
2875
|
var _hoisted_6$5 = ["disabled", "aria-label"];
|
|
2795
|
-
var _hoisted_7$
|
|
2796
|
-
var _hoisted_8$
|
|
2876
|
+
var _hoisted_7$4 = { class: "mt-4 space-y-4" };
|
|
2877
|
+
var _hoisted_8$2 = ["aria-label", "aria-valuenow"];
|
|
2797
2878
|
var _hoisted_9$1 = {
|
|
2798
2879
|
key: 0,
|
|
2799
2880
|
class: "absolute inset-0 bg-[linear-gradient(to_right,#fff,transparent)]"
|
|
@@ -3346,7 +3427,7 @@ var ColorPicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
|
|
|
3346
3427
|
"aria-label": unref(t)("Pick color from screen"),
|
|
3347
3428
|
onClick: pickFromScreen
|
|
3348
3429
|
}, [createVNode(unref(EyeDropperIcon), { class: "size-5" })], 10, _hoisted_6$5)) : createCommentVNode("", true)
|
|
3349
|
-
]), createElementVNode("div", _hoisted_7$
|
|
3430
|
+
]), createElementVNode("div", _hoisted_7$4, [
|
|
3350
3431
|
createElementVNode("div", {
|
|
3351
3432
|
ref_key: "saturationRef",
|
|
3352
3433
|
ref: saturationRef,
|
|
@@ -3367,7 +3448,7 @@ var ColorPicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
|
|
|
3367
3448
|
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]),
|
|
3368
3449
|
style: normalizeStyle(saturationHandleStyle.value)
|
|
3369
3450
|
}, null, 6)
|
|
3370
|
-
], 46, _hoisted_8$
|
|
3451
|
+
], 46, _hoisted_8$2),
|
|
3371
3452
|
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", {
|
|
3372
3453
|
id: fieldId.value ? `${fieldId.value}-hue` : void 0,
|
|
3373
3454
|
type: "range",
|
|
@@ -3416,7 +3497,7 @@ var ColorPicker_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
|
|
|
3416
3497
|
], 2);
|
|
3417
3498
|
};
|
|
3418
3499
|
}
|
|
3419
|
-
}), [["__scopeId", "data-v-
|
|
3500
|
+
}), [["__scopeId", "data-v-ce146146"]]);
|
|
3420
3501
|
//#endregion
|
|
3421
3502
|
//#region src/components/InputGroup.vue
|
|
3422
3503
|
var _hoisted_1$18 = ["for"];
|
|
@@ -4280,7 +4361,7 @@ var _hoisted_3$8 = { class: "mx-auto flex size-12 shrink-0 items-center justify-
|
|
|
4280
4361
|
var _hoisted_4$6 = { class: "mt-3 text-center sm:mt-0 sm:ms-4 sm:text-start" };
|
|
4281
4362
|
var _hoisted_5$4 = { class: "text-lg font-medium text-neutral-950 dark:text-neutral-50" };
|
|
4282
4363
|
var _hoisted_6$4 = { class: "mt-4 text-sm text-neutral-600 dark:text-neutral-200" };
|
|
4283
|
-
var _hoisted_7$
|
|
4364
|
+
var _hoisted_7$3 = { class: "flex flex-col-reverse gap-4 border-t border-neutral-200 bg-neutral-50 px-6 py-4 text-end dark:border-neutral-800 dark:bg-neutral-900/60 lg:flex-row lg:justify-end lg:gap-0" };
|
|
4284
4365
|
var _sfc_main$13 = {
|
|
4285
4366
|
__name: "ConfirmationModal",
|
|
4286
4367
|
props: {
|
|
@@ -4320,7 +4401,7 @@ var _sfc_main$13 = {
|
|
|
4320
4401
|
position: __props.position,
|
|
4321
4402
|
onClose: close
|
|
4322
4403
|
}, {
|
|
4323
|
-
default: withCtx(() => [createElementVNode("div", _hoisted_1$17, [createElementVNode("div", _hoisted_2$11, [createElementVNode("div", _hoisted_3$8, [createVNode(unref(ExclamationTriangleIcon), { class: "size-6 text-red-600 dark:text-neutral-100" })]), createElementVNode("div", _hoisted_4$6, [createElementVNode("h3", _hoisted_5$4, [renderSlot(_ctx.$slots, "title")]), createElementVNode("div", _hoisted_6$4, [renderSlot(_ctx.$slots, "content")])])])]), createElementVNode("div", _hoisted_7$
|
|
4404
|
+
default: withCtx(() => [createElementVNode("div", _hoisted_1$17, [createElementVNode("div", _hoisted_2$11, [createElementVNode("div", _hoisted_3$8, [createVNode(unref(ExclamationTriangleIcon), { class: "size-6 text-red-600 dark:text-neutral-100" })]), createElementVNode("div", _hoisted_4$6, [createElementVNode("h3", _hoisted_5$4, [renderSlot(_ctx.$slots, "title")]), createElementVNode("div", _hoisted_6$4, [renderSlot(_ctx.$slots, "content")])])])]), createElementVNode("div", _hoisted_7$3, [renderSlot(_ctx.$slots, "footer")])]),
|
|
4324
4405
|
_: 3
|
|
4325
4406
|
}, 8, [
|
|
4326
4407
|
"show",
|
|
@@ -5387,7 +5468,7 @@ var _hoisted_3$4 = { class: "flex items-center gap-3" };
|
|
|
5387
5468
|
var _hoisted_4$3 = { class: "text-sm font-medium text-neutral-700 dark:text-neutral-100" };
|
|
5388
5469
|
var _hoisted_5$3 = { class: "flex flex-wrap items-center gap-2" };
|
|
5389
5470
|
var _hoisted_6$3 = ["onClick"];
|
|
5390
|
-
var _hoisted_7$
|
|
5471
|
+
var _hoisted_7$2 = { class: "text-xs text-neutral-500 dark:text-neutral-200" };
|
|
5391
5472
|
var _sfc_main$4 = {
|
|
5392
5473
|
__name: "SortControls",
|
|
5393
5474
|
props: {
|
|
@@ -5443,7 +5524,7 @@ var _sfc_main$4 = {
|
|
|
5443
5524
|
class: "w-3 h-3 ml-1 inline"
|
|
5444
5525
|
})) : createCommentVNode("", true)
|
|
5445
5526
|
], 10, _hoisted_6$3);
|
|
5446
|
-
}), 128))])]), createElementVNode("div", _hoisted_7$
|
|
5527
|
+
}), 128))])]), createElementVNode("div", _hoisted_7$2, toDisplayString(__props.count) + " " + toDisplayString(__props.countLabel), 1)])]);
|
|
5447
5528
|
};
|
|
5448
5529
|
}
|
|
5449
5530
|
};
|
|
@@ -5509,25 +5590,23 @@ var _sfc_main$3 = {
|
|
|
5509
5590
|
//#endregion
|
|
5510
5591
|
//#region src/components/TableSearch.vue
|
|
5511
5592
|
var _hoisted_1$4 = { class: "flex flex-col items-start gap-4 lg:flex-row lg:flex-wrap lg:items-center lg:justify-between" };
|
|
5512
|
-
var _hoisted_2$3 = {
|
|
5513
|
-
var _hoisted_3$3 = { class: "min-w-0 flex-1" };
|
|
5514
|
-
var _hoisted_4$2 = {
|
|
5593
|
+
var _hoisted_2$3 = {
|
|
5515
5594
|
key: 0,
|
|
5516
5595
|
class: "flex shrink-0 flex-col items-start gap-3 sm:flex-row sm:items-center lg:w-auto"
|
|
5517
5596
|
};
|
|
5518
|
-
var
|
|
5597
|
+
var _hoisted_3$3 = {
|
|
5519
5598
|
key: 0,
|
|
5520
5599
|
class: "flex items-center"
|
|
5521
5600
|
};
|
|
5522
|
-
var
|
|
5601
|
+
var _hoisted_4$2 = {
|
|
5523
5602
|
key: 1,
|
|
5524
5603
|
class: "flex items-center text-xs text-neutral-500 dark:text-neutral-400 sm:w-auto sm:text-sm lg:w-auto"
|
|
5525
5604
|
};
|
|
5526
|
-
var
|
|
5605
|
+
var _hoisted_5$2 = {
|
|
5527
5606
|
key: 0,
|
|
5528
5607
|
class: "ml-2"
|
|
5529
5608
|
};
|
|
5530
|
-
var
|
|
5609
|
+
var _hoisted_6$2 = { class: "font-medium text-neutral-700 dark:text-neutral-200" };
|
|
5531
5610
|
var _sfc_main$2 = {
|
|
5532
5611
|
__name: "TableSearch",
|
|
5533
5612
|
props: {
|
|
@@ -5575,6 +5654,11 @@ var _sfc_main$2 = {
|
|
|
5575
5654
|
type: String,
|
|
5576
5655
|
default: "server",
|
|
5577
5656
|
validator: (value) => ["client", "server"].includes(value)
|
|
5657
|
+
},
|
|
5658
|
+
searchFieldsLayout: {
|
|
5659
|
+
type: String,
|
|
5660
|
+
default: "inline",
|
|
5661
|
+
validator: (value) => ["inline", "stacked"].includes(value)
|
|
5578
5662
|
}
|
|
5579
5663
|
},
|
|
5580
5664
|
emits: ["update:modelValue", "update:showDeleted"],
|
|
@@ -5589,8 +5673,10 @@ var _sfc_main$2 = {
|
|
|
5589
5673
|
get: () => props.showDeleted,
|
|
5590
5674
|
set: (value) => emit("update:showDeleted", value)
|
|
5591
5675
|
});
|
|
5676
|
+
const searchContentClasses = computed(() => props.searchFieldsLayout === "stacked" ? "flex w-full min-w-0 flex-1 flex-col gap-3" : "flex w-full min-w-0 flex-1 flex-col gap-3 lg:flex-row lg:items-center");
|
|
5677
|
+
const searchFieldsClasses = computed(() => props.searchFieldsLayout === "stacked" ? "w-full min-w-0" : "min-w-0 flex-1");
|
|
5592
5678
|
return (_ctx, _cache) => {
|
|
5593
|
-
return openBlock(), createElementBlock("div", { class: normalizeClass(__props.cardClass) }, [createElementVNode("div", _hoisted_1$4, [createElementVNode("div",
|
|
5679
|
+
return openBlock(), createElementBlock("div", { class: normalizeClass(__props.cardClass) }, [createElementVNode("div", _hoisted_1$4, [createElementVNode("div", { class: normalizeClass(searchContentClasses.value) }, [__props.searchbar ? (openBlock(), createBlock(_sfc_main$16, {
|
|
5594
5680
|
key: 0,
|
|
5595
5681
|
modelValue: model.value,
|
|
5596
5682
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => model.value = $event),
|
|
@@ -5600,14 +5686,14 @@ var _sfc_main$2 = {
|
|
|
5600
5686
|
}, {
|
|
5601
5687
|
"leading-icon": withCtx(() => [createVNode(unref(Search), { class: "h-5 w-5" })]),
|
|
5602
5688
|
_: 1
|
|
5603
|
-
}, 8, ["modelValue", "placeholder"])) : createCommentVNode("", true), createElementVNode("div",
|
|
5604
|
-
__props.showDeletedToggle ? (openBlock(), createElementBlock("div",
|
|
5689
|
+
}, 8, ["modelValue", "placeholder"])) : createCommentVNode("", true), createElementVNode("div", { class: normalizeClass(searchFieldsClasses.value) }, [renderSlot(_ctx.$slots, "search-fields")], 2)], 2), __props.showDeletedToggle || __props.count !== null || _ctx.$slots.controls ? (openBlock(), createElementBlock("div", _hoisted_2$3, [
|
|
5690
|
+
__props.showDeletedToggle ? (openBlock(), createElementBlock("div", _hoisted_3$3, [createVNode(_sfc_main$20, {
|
|
5605
5691
|
modelValue: showDeletedModel.value,
|
|
5606
5692
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => showDeletedModel.value = $event),
|
|
5607
5693
|
label: __props.showDeletedLabel
|
|
5608
5694
|
}, null, 8, ["modelValue", "label"])])) : createCommentVNode("", true),
|
|
5609
5695
|
renderSlot(_ctx.$slots, "controls"),
|
|
5610
|
-
__props.count !== null ? (openBlock(), createElementBlock("div",
|
|
5696
|
+
__props.count !== null ? (openBlock(), createElementBlock("div", _hoisted_4$2, [createElementVNode("span", null, toDisplayString(__props.count) + " " + toDisplayString(__props.countLabel), 1), model.value ? (openBlock(), createElementBlock("span", _hoisted_5$2, [createTextVNode(toDisplayString(__props.queryLabel) + " ", 1), createElementVNode("span", _hoisted_6$2, " \"" + toDisplayString(model.value) + "\" ", 1)])) : createCommentVNode("", true)])) : createCommentVNode("", true)
|
|
5611
5697
|
])) : createCommentVNode("", true)])], 2);
|
|
5612
5698
|
};
|
|
5613
5699
|
}
|
|
@@ -5737,6 +5823,11 @@ var _sfc_main$1 = {
|
|
|
5737
5823
|
type: String,
|
|
5738
5824
|
default: "server",
|
|
5739
5825
|
validator: (value) => ["client", "server"].includes(value)
|
|
5826
|
+
},
|
|
5827
|
+
searchFieldsLayout: {
|
|
5828
|
+
type: String,
|
|
5829
|
+
default: "inline",
|
|
5830
|
+
validator: (value) => ["inline", "stacked"].includes(value)
|
|
5740
5831
|
}
|
|
5741
5832
|
},
|
|
5742
5833
|
emits: [
|
|
@@ -5832,6 +5923,7 @@ var _sfc_main$1 = {
|
|
|
5832
5923
|
"show-deleted-toggle": __props.searchShowDeletedToggle,
|
|
5833
5924
|
"show-deleted-label": __props.searchShowDeletedLabel,
|
|
5834
5925
|
"search-mode": __props.searchMode,
|
|
5926
|
+
"search-fields-layout": __props.searchFieldsLayout,
|
|
5835
5927
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searchQuery.value = $event),
|
|
5836
5928
|
"onUpdate:showDeleted": updateSearchShowDeleted
|
|
5837
5929
|
}, createSlots({ _: 2 }, [_ctx.$slots["search-fields"] ? {
|
|
@@ -5851,7 +5943,8 @@ var _sfc_main$1 = {
|
|
|
5851
5943
|
"show-deleted",
|
|
5852
5944
|
"show-deleted-toggle",
|
|
5853
5945
|
"show-deleted-label",
|
|
5854
|
-
"search-mode"
|
|
5946
|
+
"search-mode",
|
|
5947
|
+
"search-fields-layout"
|
|
5855
5948
|
])) : createCommentVNode("", true), createElementVNode("div", { class: normalizeClass(["bg-white/90 backdrop-blur-sm dark:bg-neutral-950/90", __props.isCard ? "animate-fadeIn rounded-2xl border border-neutral-200 shadow-sm dark:border-neutral-800 md:mx-0 overflow-hidden" : ""]) }, [createElementVNode("div", { class: normalizeClass(["overflow-x-auto", __props.isCard ? "rounded-t-xl" : ""]) }, [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/80 dark:bg-neutral-900/80", __props.theadClass)) }, [createElementVNode("tr", { class: normalizeClass(__props.headerRowClass) }, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (column) => {
|
|
5856
5949
|
return openBlock(), createElementBlock(Fragment, { key: column.key }, [column.sortable ? (openBlock(), createBlock(_sfc_main$3, {
|
|
5857
5950
|
key: 0,
|
|
@@ -6644,4 +6737,4 @@ var plugin_default = { install(app) {
|
|
|
6644
6737
|
//#endregion
|
|
6645
6738
|
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 };
|
|
6646
6739
|
|
|
6647
|
-
//# sourceMappingURL=plugin-
|
|
6740
|
+
//# sourceMappingURL=plugin-Bnh8KnIk.js.map
|