@vireo-ai/trellis-ui 0.1.59 → 0.1.60

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.
Files changed (111) hide show
  1. package/package.json +8 -8
  2. package/packages/client/types/components/file-upload/index.d.ts +3 -2
  3. package/packages/client/types/components/image/contract.d.ts +1 -1
  4. package/packages/client/types/components/select/index.d.ts +3 -2
  5. package/packages/client/types/runtime/item-template.d.ts +13 -0
  6. package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis-a1130be0a833.css +14030 -0
  7. package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.min-d053936d467f.css +2 -0
  8. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/bridge-COxhbtRZ.js +1 -0
  9. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/bridge.js +1 -1
  10. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/build-metadata.json +155 -143
  11. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/motion-B0MINJTL.js +2 -0
  12. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/motion-B0MINJTL.js.map +1 -0
  13. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/motion.js +2 -2
  14. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/resizable-Ctqx_OoS.js +2 -0
  15. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/resizable-Ctqx_OoS.js.map +1 -0
  16. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/resizable.js +2 -2
  17. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/shortcut-D2NgvMgw.js +2 -0
  18. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/shortcut-D2NgvMgw.js.map +1 -0
  19. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/shortcut.js +2 -2
  20. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/sortable-DQ4eUO2l.js +2 -0
  21. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/sortable-DQ4eUO2l.js.map +1 -0
  22. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/sortable.js +2 -2
  23. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-B986Ob4f.js +2 -0
  24. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-B986Ob4f.js.map +1 -0
  25. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-ChoqPigj.js +2 -0
  26. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-ChoqPigj.js.map +1 -0
  27. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CqtsPVJy.js +2 -0
  28. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CqtsPVJy.js.map +1 -0
  29. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DQtFqG0K.js +2 -0
  30. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DQtFqG0K.js.map +1 -0
  31. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/item-template-DSfME41Q.js +2 -0
  32. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/item-template-DSfME41Q.js.map +1 -0
  33. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/accordion-CKh9jOQc.js +1 -0
  34. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/accordion.js +2 -1
  35. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/button-Dnf0aKac.js +1 -0
  36. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/button.js +2 -1
  37. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/checkbox-BpFFtrfY.js +1 -0
  38. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/checkbox.js +2 -1
  39. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/data-grid-DHqf4lhn.js +1 -0
  40. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/data-grid.js +2 -1
  41. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/date-picker-DhNrvLv7.js +1 -0
  42. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/date-picker.js +2 -1
  43. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/direct-upload-DaT6-YFL.js +1 -0
  44. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/direct-upload.js +2 -1
  45. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/dropdown-CDPdgATy.js +1 -0
  46. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/dropdown.js +2 -1
  47. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/field-CtQbyblj.js +1 -0
  48. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/field.js +2 -1
  49. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/file-upload-DARtpJDT.js +1 -0
  50. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/file-upload.js +2 -1
  51. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/formset-CPO4XZkB.js +1 -0
  52. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/formset.js +2 -1
  53. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/import-mapper-C-3lKsKm.js +1 -0
  54. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/import-mapper.js +2 -1
  55. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index-DzOKmgfj.js +2 -0
  56. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index-DzOKmgfj.js.map +1 -0
  57. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index.js +2 -2
  58. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/input-BKEbDkKa.js +1 -0
  59. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/input.js +2 -1
  60. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/keybinding-RIi2q1IT.js +1 -0
  61. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/keybinding.js +2 -1
  62. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/modal-1D2WtmlK.js +1 -0
  63. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/modal.js +2 -1
  64. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/panels-BXtMr9cv.js +1 -0
  65. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/panels.js +2 -1
  66. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/radio-DrGFMWGq.js +1 -0
  67. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/radio.js +2 -1
  68. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/scroll-area-CyUCAbgG.js +1 -0
  69. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/scroll-area.js +2 -1
  70. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/select-B_b2uwfv.js +1 -0
  71. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/select.js +2 -1
  72. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/sidebar-D8y44c-J.js +1 -0
  73. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/sidebar.js +2 -1
  74. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/slider-OztnTlqr.js +1 -0
  75. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/slider.js +2 -1
  76. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/switch-CZ7aiASg.js +1 -0
  77. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/switch.js +2 -1
  78. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/table-G3G5d2Eo.js +1 -0
  79. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/table.js +2 -1
  80. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tabs-CBjcV5_z.js +1 -0
  81. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tabs.js +2 -1
  82. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/toast-DSduFsxK.js +1 -0
  83. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/toast.js +2 -1
  84. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tooltip-B3vA5YAi.js +1 -0
  85. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tooltip.js +2 -1
  86. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/virtualizer-CkRX2qVO.js +1 -0
  87. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/virtualizer.js +2 -1
  88. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/core-CRIj89v5.js +1 -0
  89. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/core.js +2 -1
  90. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index-CL7BWKcd.js +2 -0
  91. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index-CL7BWKcd.js.map +1 -0
  92. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index.js +2 -2
  93. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/logical-entry-manifest.json +52 -47
  94. package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis-acc1b62a38b1.js +11 -0
  95. package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.js +4 -4
  96. package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.min-acc1b62a38b1.js +11 -0
  97. package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.min.js +4 -4
  98. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/motion.js.map +0 -1
  99. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/resizable.js.map +0 -1
  100. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/shortcut.js.map +0 -1
  101. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/sortable.js.map +0 -1
  102. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-18lXAVBg.js +0 -2
  103. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-18lXAVBg.js.map +0 -1
  104. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Bp3Npe3t.js +0 -2
  105. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Bp3Npe3t.js.map +0 -1
  106. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Ce_fpT15.js +0 -2
  107. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Ce_fpT15.js.map +0 -1
  108. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DDJEGHq-.js +0 -2
  109. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DDJEGHq-.js.map +0 -1
  110. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index.js.map +0 -1
  111. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entry.generated-DQtFqG0K.js","names":["bind","bindAll"],"sources":["../../../../../../../../../node_modules/.pnpm/@atlaskit+pragmatic-drag-and-drop@2.0.2/node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/public-utils/external/file.js","../../../../../../../../../node_modules/.pnpm/@atlaskit+pragmatic-drag-and-drop@2.0.2/node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/util/changing-window/is-entering-window.js","../../../../../../../../../node_modules/.pnpm/@atlaskit+pragmatic-drag-and-drop@2.0.2/node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/adapter/external-adapter.js","../../../../../../../../client/src/components/file-upload/contract.ts","../../../../../../../../client/src/components/file-upload/machine.ts","../../../../../../../../client/src/components/file-upload/styles.ts","../../../../../../../../client/src/components/file-upload/index.ts","../../../../../../../../client/src/components/file-upload/entry.generated.ts"],"sourcesContent":["export function containsFiles(_ref) {\n var source = _ref.source;\n return source.types.includes('Files');\n}\n\n/** Obtain an array of the dragged `File`s */\n// eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports\nexport function getFiles(_ref2) {\n var source = _ref2.source;\n return source.items\n // unlike other media types, for files:\n // item.kind is 'file'\n // item.type is the type of file eg 'image/jpg'\n // for other media types, item.type is the mime format\n .filter(function (item) {\n return item.kind === 'file';\n }).map(function (item) {\n return item.getAsFile();\n }).filter(function (file) {\n return file != null;\n });\n}","import { isFirefox } from '../is-firefox';\nimport { isSafari } from '../is-safari';\nimport { isEnteringWindowInSafari } from './count-events-for-safari';\nimport { isFromAnotherWindow } from './is-from-another-window';\nexport function isEnteringWindow(_ref) {\n var dragEnter = _ref.dragEnter;\n var type = dragEnter.type,\n relatedTarget = dragEnter.relatedTarget;\n if (type !== 'dragenter') {\n return false;\n }\n if (isSafari()) {\n return isEnteringWindowInSafari({\n dragEnter: dragEnter\n });\n }\n\n // standard check\n if (relatedTarget == null) {\n return true;\n }\n\n /**\n * 🦊 Exception: `iframe` in Firefox (`125.0`)\n *\n * Case 1: parent `window` → child `iframe`\n * `relatedTarget` is the `iframe` element in the parent `window`\n * (foreign element)\n *\n * Case 2: child `iframe` → parent `window`\n * `relatedTarget` is an element inside the child `iframe`\n * (foreign element)\n */\n\n if (isFirefox()) {\n return isFromAnotherWindow(relatedTarget);\n }\n\n /**\n * 🌏 Exception: `iframe` in Chrome (`124.0`)\n *\n * Case 1: parent `window` → child `iframe`\n * `relatedTarget` is `null` *(standard check)*\n *\n * Case 2: child `iframe` → parent `window`\n * `relatedTarget` is the `iframe` element in the parent `window`\n */\n\n // Case 2\n // Using `instanceof` check as the element will be in the same `window`\n return relatedTarget instanceof HTMLIFrameElement;\n}","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport { bind, bindAll } from 'bind-event-listener';\nimport { makeAdapter } from '../make-adapter/make-adapter';\nimport { androidFallbackText } from '../util/android';\nimport { isEnteringWindow } from '../util/changing-window/is-entering-window';\nimport { getBindingsForBrokenDrags } from '../util/detect-broken-drag';\nimport { textMediaType } from '../util/media-types/text-media-type';\nimport { elementAdapterNativeDataKey } from './element-adapter-native-data-key';\nexport function isAnAvailableType(_ref) {\n var type = _ref.type,\n value = _ref.value;\n // We don't want to expose our private elementAdapter key / value\n if (type === elementAdapterNativeDataKey) {\n return false;\n }\n // Not exposing \"text/plain\" if it contains the android fallback text\n // We _could_ add an `isAndroid()` check, but it's probably safest\n // to trim this data out, regardless of what OS we see it on.\n if (type === textMediaType && value === androidFallbackText) {\n return false;\n }\n return true;\n}\n\n// eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports\nexport function getAvailableTypes(transfer) {\n return Array.from(transfer.types).filter(function (type) {\n return isAnAvailableType({\n type: type,\n value: transfer.getData(type)\n });\n });\n}\n\n// eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports\nexport function getAvailableItems(dataTransfer) {\n // item.kind is 'string' | 'file'\n // For 'string' item.type is the mimeType (eg 'text/plain')\n // For 'file' item.type is the file type (eg 'image/jpg')\n\n return Array.from(dataTransfer.items).filter(function (item) {\n return item.kind === 'file' || isAnAvailableType({\n type: item.type,\n value: dataTransfer.getData(item.type)\n });\n });\n}\nvar didDragStartLocally = false;\nvar adapter = makeAdapter({\n typeKey: 'external',\n // for external drags, we are generally making a copy of something that is being dragged\n defaultDropEffect: 'copy',\n mount: function mount(api) {\n // Binding to the `window` so that the element adapter\n // has a chance to get in first on the`document`.\n // We are giving preference to the element adapter.\n return bind(window, {\n type: 'dragenter',\n listener: function listener(event) {\n // drag operation was started within the document, it won't be an \"external\" drag\n if (didDragStartLocally) {\n return;\n }\n\n // Note: not checking if event was cancelled (`event.defaultPrevented`) as\n // cancelling a \"dragenter\" accepts the drag operation (not prevent it)\n\n // Something has gone wrong with our drag event\n if (!event.dataTransfer) {\n // Including this code on \"test\" and \"development\" environments:\n // - Browser tests commonly run against \"development\" builds\n // - Unit tests commonly run in \"test\"\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.warn(\"\\n It appears as though you have are not testing DragEvents correctly.\\n\\n - If you are unit testing, ensure you have polyfilled DragEvent.\\n - If you are browser testing, ensure you are dispatching drag events correctly.\\n\\n Please see our testing guides for more information:\\n https://atlassian.design/components/pragmatic-drag-and-drop/core-package/testing\\n \".replace(/ {2}/g, ''));\n }\n return;\n }\n if (!api.canStart(event)) {\n return;\n }\n if (!isEnteringWindow({\n dragEnter: event\n })) {\n return;\n }\n\n // Note: not checking types for `elementAdapterNativeDataKey` as we expect to see that\n // key when pdnd started the drag in another document\n var types = getAvailableTypes(event.dataTransfer);\n if (!types.length) {\n return;\n }\n var locked = {\n types: types,\n items: [],\n getStringData: function getStringData() {\n return null;\n }\n };\n api.start({\n event: event,\n dragType: {\n type: 'external',\n startedFrom: 'external',\n payload: locked,\n getDropPayload: function getDropPayload(event) {\n // this would be a platform error\n // trying to handle it gracefully rather than throwing (for now)\n if (!event.dataTransfer) {\n return locked;\n }\n var items = getAvailableItems(event.dataTransfer);\n // need to use `.bind` as `getData` is required\n // to be run with `event.dataTransfer` as the \"this\" context\n var nativeGetData = event.dataTransfer.getData.bind(event.dataTransfer);\n return {\n types: types,\n items: items,\n // return `null` if there is no result, otherwise string\n getStringData: function getStringData(mediaType) {\n // not dragging the requested type\n // return `null` (no result)\n if (!types.includes(mediaType)) {\n return null;\n }\n\n // nativeGetData will return `\"\"` when there is no value,\n // but at this point we know we will only get explicitly set\n // values back as we have checked the `types`.\n // `\"\"` can be an explicitly set value.\n var value = nativeGetData(mediaType);\n\n // not exposing data for unavailable types\n if (!isAnAvailableType({\n type: mediaType,\n value: value\n })) {\n return null;\n }\n return value;\n }\n };\n }\n }\n });\n }\n });\n }\n});\n\n/**\n * Some events don't make sense for the external adapter\n *\n * `onGenerateDragPreview`\n * The browser creates the drag preview for external drags, so we don't\n * need an event to generate the preview for _monitors_ or the _dropTarget_\n *\n * `onDragStart`\n * An external drag can never start from in the `window`, so _dropTarget_'s\n * don't need `onDragStart`\n */\n\n// eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports\nexport function dropTargetForExternal(args) {\n // not removing unused events, just leaning on the type system\n return adapter.dropTarget(args);\n}\n\n// eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports\nexport function monitorForExternal(args) {\n // not removing unused events, just leaning on the type system\n return adapter.monitor(args);\n}\n(function startup() {\n // server side rendering check\n if (typeof window === 'undefined') {\n return;\n }\n\n // A shared single usage registration as we want to capture\n // all external drag operations, even if there are no drop targets\n // on the page yet\n adapter.registerUsage();\n // independent of pdnd, we need to keep track of\n // all drag operations so that we can know if a drag operation\n // has started locally\n\n var idle = {\n type: 'idle'\n };\n var state = idle;\n function clear() {\n if (state.type !== 'dragging') {\n return;\n }\n didDragStartLocally = false;\n state.cleanup();\n state = idle;\n }\n function bindEndEvents() {\n return bindAll(window, [{\n type: 'dragend',\n listener: clear\n }].concat(_toConsumableArray(getBindingsForBrokenDrags({\n onDragEnd: clear\n }))),\n // we want to make sure we get all the events,\n // and this helps avoid not seeing events when folks stop\n // them later on the event path\n {\n capture: true\n });\n }\n\n // we always keep this event listener active\n bind(window, {\n type: 'dragstart',\n listener: function listener() {\n // something bad has happened if this is true!\n if (state.type !== 'idle') {\n return;\n }\n // set our global flag\n didDragStartLocally = true;\n state = {\n type: 'dragging',\n cleanup: bindEndEvents()\n };\n },\n // binding in the capture phase so these listeners are called\n // before our listeners in the adapters `mount` function\n options: {\n capture: true\n }\n });\n})();\n\n/** Common event payload for all events */\n\n/** A map containing payloads for all events */\n\n/** Common event payload for all drop target events */\n\n/** A map containing payloads for all events on drop targets */\n\n/** Arguments given to all feedback functions (eg `canDrop()`) on a `dropTargetForExternal` */\n\n/** Arguments given to all monitor feedback functions (eg `canMonitor()`) for a `monitorForExternal` */","import {attribute, bool, number, oneOf, string, type SchemaToProps} from '../../runtime';\n\nconst FILE_UPLOAD_LAYOUTS = ['stack', 'inline'] as const;\nconst FILE_UPLOAD_PREVIEWS = ['auto', 'image', 'none'] as const;\nconst FILE_UPLOAD_SIZES = ['sm', 'md', 'lg'] as const;\nconst FILE_UPLOAD_TRANSPORTS = ['native', 'direct'] as const;\n\ntype FileUploadLayout = (typeof FILE_UPLOAD_LAYOUTS)[number];\ntype FileUploadPreview = (typeof FILE_UPLOAD_PREVIEWS)[number];\ntype FileUploadSize = (typeof FILE_UPLOAD_SIZES)[number];\ntype FileUploadTransport = (typeof FILE_UPLOAD_TRANSPORTS)[number];\n\nconst fileUploadSchema = {\n name: string,\n accept: string,\n capture: string,\n multiple: bool,\n required: bool,\n disabled: bool,\n invalid: bool,\n preview: oneOf(FILE_UPLOAD_PREVIEWS, 'auto' as FileUploadPreview),\n layout: oneOf(FILE_UPLOAD_LAYOUTS, 'stack' as FileUploadLayout),\n size: oneOf(FILE_UPLOAD_SIZES, 'md' as FileUploadSize),\n heading: string.default('Drop files here or browse'),\n text: string,\n browseLabel: string,\n empty: attribute(string, 'empty-label'),\n maxItems: number.min(0).default(0),\n clearable: bool.default(true),\n transport: oneOf(FILE_UPLOAD_TRANSPORTS, 'native' as FileUploadTransport),\n rootClass: string,\n dropzoneClass: string,\n listClass: string,\n itemClass: string,\n class: string,\n};\n\nconst fileUploadDropzoneSchema = {\n heading: string.default('Drop files here or browse'),\n text: string,\n icon: string.default('cloud__upload'),\n layout: oneOf(FILE_UPLOAD_LAYOUTS, 'stack' as FileUploadLayout),\n size: oneOf(FILE_UPLOAD_SIZES, 'md' as FileUploadSize),\n disabled: bool,\n invalid: bool,\n class: string,\n};\n\nconst fileUploadListSchema = {\n class: string,\n};\n\nconst fileUploadItemSchema = {\n filename: string,\n filesize: string,\n mime: string,\n preview: string,\n icon: string.default('document__blank'),\n invalid: bool,\n error: string,\n class: string,\n};\n\nconst fileUploadRemoveSchema = {\n label: string.default('Remove file'),\n class: string,\n};\n\ntype FileUploadProps = SchemaToProps<typeof fileUploadSchema>;\n\nexport {\n FILE_UPLOAD_LAYOUTS,\n FILE_UPLOAD_PREVIEWS,\n FILE_UPLOAD_SIZES,\n FILE_UPLOAD_TRANSPORTS,\n fileUploadDropzoneSchema,\n fileUploadItemSchema,\n fileUploadListSchema,\n fileUploadRemoveSchema,\n fileUploadSchema,\n};\nexport type {\n FileUploadLayout,\n FileUploadPreview,\n FileUploadProps,\n FileUploadSize,\n FileUploadTransport,\n};\n","import {\n createMachine,\n type Machine,\n type MachineEventObject,\n type MachineScope,\n} from '../../runtime/state-machine';\nimport {defineHook, type TransitionHookDefinition} from '../../runtime/transition-coordinator';\nimport type {FileUploadProps} from './contract';\n\ntype FileSelectionSource = 'picker' | 'drop' | 'remove' | 'props' | 'clear';\ntype FileTransferStatus = 'selected' | 'uploading' | 'complete' | 'failed' | 'canceled';\n\ntype FileUploadMetadata = {\n id: string;\n name: string;\n bytes: number;\n size: string;\n type: string;\n};\n\ntype FileUploadRecord = FileUploadMetadata & {\n status: FileTransferStatus;\n progress: number;\n};\n\ntype FileUploadContext = {\n selection: {\n records: FileUploadRecord[];\n limitReached: boolean;\n rejectedCount: number;\n limitRejectedCount: number;\n source: FileSelectionSource;\n };\n existing: string[];\n transfer: {\n status: 'native' | 'idle' | 'uploading' | 'complete' | 'failed' | 'canceled';\n error: string;\n };\n};\n\ntype FileUploadMachineEffects = {\n commitSelection(scope: MachineScope<FileUploadContext, FileUploadProps>): void;\n reconcileSelection(scope: MachineScope<FileUploadContext, FileUploadProps>): void;\n resetSelection(scope: MachineScope<FileUploadContext, FileUploadProps>): void;\n syncProps(scope: MachineScope<FileUploadContext, FileUploadProps>): void;\n syncDragging(scope: MachineScope<FileUploadContext, FileUploadProps>): void;\n clearExisting(scope: MachineScope<FileUploadContext, FileUploadProps>): void;\n commitExistingReplacement(scope: MachineScope<FileUploadContext, FileUploadProps>): void;\n syncTransfer(scope: MachineScope<FileUploadContext, FileUploadProps>): void;\n emitComplete(scope: MachineScope<FileUploadContext, FileUploadProps>): void;\n emitError(scope: MachineScope<FileUploadContext, FileUploadProps>): void;\n emitCancel(scope: MachineScope<FileUploadContext, FileUploadProps>): void;\n};\n\ntype CreateFileUploadMachineOptions = {\n props: FileUploadProps;\n context: FileUploadContext;\n effects: FileUploadMachineEffects;\n};\n\ntype FileRecordsEvent = MachineEventObject & {\n records: FileUploadMetadata[];\n append?: boolean;\n source?: FileSelectionSource;\n};\n\ntype ExistingFileEvent = MachineEventObject & {id?: unknown};\n\nconst uploadingHook = defineHook({\n name: 'uploading',\n state: 'transfer.direct.uploading',\n project: (snapshot) => ({\n files: snapshot.context.selection.records.filter(({status}) => status === 'uploading'),\n }),\n onDone: 'UPLOADING_DONE',\n onError: 'UPLOADING_ERROR',\n required: true,\n sends: {\n progress: (id: string, loaded: number, total: number) => ({type: 'UPLOAD_PROGRESS', id, loaded, total}),\n cancel: () => ({type: 'CANCEL_UPLOAD'}),\n fail: (error: unknown) => ({type: 'UPLOADING_ERROR', error}),\n },\n} satisfies TransitionHookDefinition<\n FileUploadContext,\n FileUploadProps,\n {files: FileUploadMetadata[]},\n 'uploading'\n>);\n\nconst fileUploadHooks = [uploadingHook] as const;\n\nconst recordsEvent = (event: MachineEventObject): FileRecordsEvent => event as FileRecordsEvent;\nconst existingFileId = (event: MachineEventObject): string => {\n const id = (event as ExistingFileEvent).id;\n return typeof id === 'string' ? id : '';\n};\nconst eventSource = (event: MachineEventObject): FileSelectionSource => {\n const source = event.source;\n return source === 'picker' || source === 'drop' || source === 'remove' || source === 'props' ? source : 'clear';\n};\n\nconst acceptedByAccept = (file: FileUploadMetadata, accept: string): boolean => {\n const tokens = accept.split(',').map((token) => token.trim().toLowerCase()).filter(Boolean);\n if (tokens.length === 0) return true;\n const name = file.name.toLowerCase();\n const type = file.type.toLowerCase();\n return tokens.some((token) => {\n if (token === '*/*') return true;\n if (token.startsWith('.')) return name.endsWith(token);\n if (token.endsWith('/*')) return type.startsWith(token.slice(0, -1));\n return token.includes('/') && type === token;\n });\n};\n\nconst selectionPlan = (\n context: Readonly<FileUploadContext>,\n props: Readonly<FileUploadProps>,\n event: MachineEventObject,\n): FileUploadContext['selection'] => {\n const candidate = recordsEvent(event).records ?? [];\n const accepted = candidate.filter((file) => acceptedByAccept(file, props.accept));\n const base = recordsEvent(event).append && props.multiple ? [...context.selection.records] : [];\n const combined = props.multiple ? [...base, ...accepted] : accepted.slice(0, 1);\n const selected = props.maxItems > 0 ? combined.slice(0, props.maxItems) : combined;\n const currentById = new Map(context.selection.records.map((record) => [record.id, record]));\n const startsUpload = props.transport === 'direct'\n && (eventSource(event) === 'picker' || eventSource(event) === 'drop');\n const records = selected.map((file) => currentById.get(file.id) ?? {\n ...file,\n status: startsUpload ? 'uploading' as const : 'selected' as const,\n progress: 0,\n });\n return {\n records,\n limitReached: props.maxItems > 0 && records.length >= props.maxItems,\n rejectedCount: candidate.length - accepted.length + combined.length - records.length,\n limitRejectedCount: combined.length - records.length,\n source: eventSource(event),\n };\n};\n\nconst plannedRecords = ({context, props, event}: MachineScope<FileUploadContext, FileUploadProps>): FileUploadRecord[] => (\n selectionPlan(context, props, event).records\n);\nconst planIsEmpty = (scope: MachineScope<FileUploadContext, FileUploadProps>): boolean => plannedRecords(scope).length === 0;\nconst planIsCapped = ({context, props, event}: MachineScope<FileUploadContext, FileUploadProps>): boolean => (\n selectionPlan(context, props, event).limitReached\n);\nconst canMutate = ({context, props}: MachineScope<FileUploadContext, FileUploadProps>): boolean => (\n !props.disabled && context.transfer.status !== 'uploading'\n);\nconst isDirect = ({props}: MachineScope<FileUploadContext, FileUploadProps>): boolean => props.transport === 'direct';\nconst isNative = ({props}: MachineScope<FileUploadContext, FileUploadProps>): boolean => props.transport === 'native';\nconst shouldUpload = (scope: MachineScope<FileUploadContext, FileUploadProps>): boolean => (\n isDirect(scope)\n && (eventSource(scope.event) === 'picker' || eventSource(scope.event) === 'drop')\n && plannedRecords(scope).some(({status}) => status === 'uploading')\n);\n\nconst planSelection = ({context, props, event}: MachineScope<FileUploadContext, FileUploadProps>) => ({\n context: {selection: selectionPlan(context, props, event)},\n});\nconst clearSelection = ({context}: MachineScope<FileUploadContext, FileUploadProps>) => ({\n context: {selection: {...context.selection, records: [], limitReached: false, rejectedCount: 0, limitRejectedCount: 0, source: 'clear' as const}},\n});\nconst beginUpload = ({context}: MachineScope<FileUploadContext, FileUploadProps>) => {\n return {context: {transfer: {\n ...context.transfer,\n status: 'uploading' as const,\n error: '',\n }}};\n};\nconst setTransferStatus = (\n context: Readonly<FileUploadContext>,\n status: 'native' | 'idle' | 'complete' | 'failed' | 'canceled',\n error = '',\n): FileUploadContext['transfer'] => ({...context.transfer, status, error});\nconst updateUploadingRecords = (\n context: Readonly<FileUploadContext>,\n status: Extract<FileTransferStatus, 'complete' | 'failed' | 'canceled'>,\n): FileUploadRecord[] => context.selection.records.map((record) => record.status === 'uploading' ? {\n ...record,\n status,\n progress: status === 'complete' ? 1 : record.progress,\n} : record);\nconst finishUpload = ({context}: MachineScope<FileUploadContext, FileUploadProps>) => ({context: {\n selection: {...context.selection, records: updateUploadingRecords(context, 'complete')},\n existing: [],\n transfer: setTransferStatus(context, 'complete'),\n}});\nconst failUpload = ({context, event}: MachineScope<FileUploadContext, FileUploadProps>) => ({context: {\n selection: {...context.selection, records: updateUploadingRecords(context, 'failed')},\n transfer: setTransferStatus(context, 'failed', event.error instanceof Error ? event.error.message : String(event.error ?? 'Upload failed.')),\n}});\nconst cancelUpload = ({context}: MachineScope<FileUploadContext, FileUploadProps>) => ({context: {\n selection: {...context.selection, records: updateUploadingRecords(context, 'canceled')},\n transfer: setTransferStatus(context, 'canceled'),\n}});\nconst updateProgress = ({context, event}: MachineScope<FileUploadContext, FileUploadProps>) => {\n const id = typeof event.id === 'string' ? event.id : '';\n const loaded = Number(event.loaded);\n const total = Number(event.total);\n const progress = Number.isFinite(loaded) && Number.isFinite(total) && total > 0 ? Math.min(1, Math.max(0, loaded / total)) : 0;\n const record = context.selection.records.find((candidate) => candidate.id === id);\n if (record?.status !== 'uploading') return;\n return {context: {selection: {\n ...context.selection,\n records: context.selection.records.map((candidate) => candidate.id === id ? {...candidate, progress} : candidate),\n }}};\n};\n\nconst canMutateToEmpty = (scope: MachineScope<FileUploadContext, FileUploadProps>): boolean => canMutate(scope) && planIsEmpty(scope);\nconst canMutateToCapped = (scope: MachineScope<FileUploadContext, FileUploadProps>): boolean => canMutate(scope) && planIsCapped(scope);\n\nconst inventoryTransitions = (effect: 'commitSelection' | 'reconcileSelection') => [\n {target: '#inventory-empty', guard: canMutateToEmpty, reduce: 'planSelection', effects: effect},\n {target: '#inventory-capped', guard: canMutateToCapped, reduce: 'planSelection', effects: effect},\n {target: '#inventory-populated', guard: canMutate, reduce: 'planSelection', effects: effect},\n];\n\nconst createFileUploadMachine = ({props, context, effects}: CreateFileUploadMachineOptions): Machine<FileUploadContext, FileUploadProps> => createMachine<FileUploadContext, FileUploadProps>({\n type: 'parallel',\n on: {PROPS_CHANGED: {reduce: 'replaceProps', effects: 'syncProps'}},\n states: {\n interaction: {\n initial: 'idle',\n states: {\n idle: {on: {DRAG_ENTER: {target: 'dragging', guard: canMutate, effects: 'syncDragging'}}},\n dragging: {tags: ['dragging'], on: {\n DRAG_LEAVE: {target: 'idle', effects: 'syncDragging'},\n DROP: {target: 'idle', effects: 'syncDragging'},\n RECONCILE: {target: 'idle', guard: ({props: currentProps}) => currentProps.disabled, effects: 'syncDragging'},\n }},\n },\n },\n inventory: {\n initial: 'empty',\n on: {\n FILES_CHANGED: inventoryTransitions('commitSelection'),\n RECONCILE: inventoryTransitions('reconcileSelection'),\n FILES_RESET: {target: '#inventory-empty', guard: canMutate, reduce: 'clearSelection', effects: 'resetSelection'},\n REMOVE_EXISTING: {guard: canMutate, reduce: 'removeExisting', effects: 'clearExisting'},\n CLEAR_EXISTING: {guard: canMutate, reduce: 'clearExisting', effects: 'clearExisting'},\n },\n states: {\n empty: {id: 'inventory-empty', tags: ['empty']},\n populated: {id: 'inventory-populated', tags: ['has-files']},\n capped: {id: 'inventory-capped', tags: ['has-files', 'limit-reached']},\n },\n },\n transfer: {\n initial: 'inactive',\n states: {\n inactive: {on: {\n RECONCILE: [{target: '#transfer-direct-idle', guard: isDirect, reduce: 'setDirectIdle', effects: 'syncTransfer'}, {target: '#transfer-native', reduce: 'setNative', effects: 'syncTransfer'}],\n }},\n native: {id: 'transfer-native', on: {\n RECONCILE: {target: '#transfer-direct-idle', guard: isDirect, reduce: 'setDirectIdle', effects: 'syncTransfer'},\n }},\n direct: {\n initial: 'idle',\n on: {RECONCILE: {target: '#transfer-native', guard: isNative, reduce: 'setNative', effects: 'syncTransfer'}},\n states: {\n idle: {id: 'transfer-direct-idle', on: {FILES_CHANGED: {target: 'uploading', guard: shouldUpload, reduce: 'beginUpload', effects: 'syncTransfer'}}},\n uploading: {id: 'transfer-uploading', tags: ['uploading'], on: {\n UPLOAD_PROGRESS: {reduce: 'updateProgress', effects: 'syncTransfer'},\n UPLOADING_DONE: {target: 'complete', reduce: 'finishUpload', effects: ['commitExistingReplacement', 'syncTransfer', 'emitComplete']},\n UPLOADING_ERROR: {target: 'failed', reduce: 'failUpload', effects: ['syncTransfer', 'emitError']},\n CANCEL_UPLOAD: {target: 'canceled', reduce: 'cancelUpload', effects: ['syncTransfer', 'emitCancel']},\n RECONCILE: {target: 'canceled', guard: ({props: currentProps}) => currentProps.disabled || currentProps.transport !== 'direct', reduce: 'cancelUpload', effects: ['syncTransfer', 'emitCancel']},\n }},\n complete: {on: {FILES_CHANGED: [\n {target: 'uploading', guard: shouldUpload, reduce: 'beginUpload', effects: 'syncTransfer'},\n {target: '#transfer-direct-idle', guard: planIsEmpty, reduce: 'setDirectIdle', effects: 'syncTransfer'},\n ]}},\n failed: {tags: ['upload-failed'], on: {\n RETRY_UPLOAD: {target: 'uploading', reduce: 'retryUpload', effects: 'syncTransfer'},\n FILES_CHANGED: [\n {target: 'uploading', guard: shouldUpload, reduce: 'beginUpload', effects: 'syncTransfer'},\n {target: '#transfer-direct-idle', guard: planIsEmpty, reduce: 'setDirectIdle', effects: 'syncTransfer'},\n ],\n }},\n canceled: {on: {\n RETRY_UPLOAD: {target: 'uploading', reduce: 'retryUpload', effects: 'syncTransfer'},\n FILES_CHANGED: [\n {target: 'uploading', guard: shouldUpload, reduce: 'beginUpload', effects: 'syncTransfer'},\n {target: '#transfer-direct-idle', guard: planIsEmpty, reduce: 'setDirectIdle', effects: 'syncTransfer'},\n ],\n }},\n },\n },\n },\n },\n },\n}, {\n context,\n props,\n reducers: {\n replaceProps: ({event, props: currentProps}) => ({props: event.props as FileUploadProps ?? currentProps}),\n planSelection,\n clearSelection,\n removeExisting: ({context: current, event}) => ({\n context: {existing: current.existing.filter((id) => id !== existingFileId(event))},\n }),\n clearExisting: () => ({context: {existing: []}}),\n beginUpload,\n retryUpload: ({context: current}) => ({context: {\n selection: {\n ...current.selection,\n records: current.selection.records.map((record) => (\n record.status === 'failed' || record.status === 'canceled'\n ? {...record, status: 'uploading' as const, progress: 0}\n : record\n )),\n },\n transfer: {...current.transfer, status: 'uploading', error: ''},\n }}),\n finishUpload,\n failUpload,\n cancelUpload,\n updateProgress,\n setNative: ({context: current}) => ({context: {transfer: setTransferStatus(current, 'native')}}),\n setDirectIdle: ({context: current}) => ({context: {transfer: setTransferStatus(current, 'idle')}}),\n },\n effects: {\n commitSelection: effects.commitSelection,\n reconcileSelection: effects.reconcileSelection,\n resetSelection: effects.resetSelection,\n syncProps: effects.syncProps,\n syncDragging: effects.syncDragging,\n clearExisting: effects.clearExisting,\n commitExistingReplacement: effects.commitExistingReplacement,\n syncTransfer: effects.syncTransfer,\n emitComplete: effects.emitComplete,\n emitError: effects.emitError,\n emitCancel: effects.emitCancel,\n },\n});\n\nexport {createFileUploadMachine, fileUploadHooks};\nexport type {\n CreateFileUploadMachineOptions,\n FileSelectionSource,\n FileTransferStatus,\n FileUploadContext,\n FileUploadMachineEffects,\n FileUploadMetadata,\n FileUploadRecord,\n};\n","import {defineStyles} from '../../runtime';\n\nconst fileUploadStyles = defineStyles({definition: {\n component: 'ui.file-upload',\n parts: {\n root: {\n base: [\n 'grid w-full min-w-0 gap-3',\n ],\n },\n control: {\n base: 'relative grid min-w-0 gap-3',\n },\n input: {\n base: 'sr-only',\n },\n dropzone: {\n base: [\n 'relative grid min-w-0 overflow-hidden rounded-surface-md text-inherit outline-none',\n ],\n variants: {\n layout: {\n stack: 'justify-items-center text-center',\n inline: 'grid-cols-[auto_minmax(0,1fr)_auto] items-center text-left',\n },\n size: {\n sm: 'gap-2 p-3',\n md: 'gap-3 p-4',\n lg: 'gap-3 p-5',\n },\n },\n defaults: {\n layout: 'stack',\n size: 'md',\n },\n },\n icon: {\n base: 'size-icon-lg shrink-0 fill-current text-surface-ink-muted',\n },\n body: {\n base: 'grid min-w-0 gap-1',\n },\n heading: {\n base: 'text-sm font-medium text-inherit',\n },\n text: {\n base: 'text-xs font-normal text-surface-ink-muted',\n },\n browse: {\n base: [\n 'inline-flex min-w-0 items-center justify-center rounded-control-md px-2 py-1 text-xs font-medium',\n ],\n },\n list: {\n base: 'grid min-w-0 gap-2',\n },\n empty: {\n base: 'text-xs text-surface-ink-muted',\n },\n item: {\n base: [\n 'grid min-w-0 grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-3 rounded-surface-sm px-3 py-2',\n ],\n },\n preview: {\n base: 'flex size-9 shrink-0 items-center justify-center overflow-hidden rounded-surface-xs bg-interaction-hover text-surface-ink-muted',\n },\n previewImage: {\n base: 'size-full',\n },\n itemIcon: {\n base: 'size-icon fill-current',\n },\n itemBody: {\n base: 'grid min-w-0 gap-0.5',\n },\n itemName: {\n base: 'truncate text-sm font-medium text-inherit',\n },\n itemMeta: {\n base: 'truncate text-xs font-normal text-surface-ink-muted',\n },\n itemError: {\n base: 'truncate text-xs font-normal text-intent-danger-text',\n },\n remove: {\n base: [\n 'relative z-20 inline-flex size-control-sm shrink-0 items-center justify-center rounded-control-md border-0 bg-transparent',\n 'text-surface-ink-muted outline-none',\n ],\n },\n removeIcon: {\n base: 'size-icon-xs fill-current leading-none',\n },\n clear: {\n base: 'sr-only',\n },\n },\n}});\n\nexport {fileUploadStyles};\n","import {containsFiles, getFiles} from '@atlaskit/pragmatic-drag-and-drop/external/file';\nimport {dropTargetForExternal, monitorForExternal, type ExternalDropTargetEventPayloadMap} from '@atlaskit/pragmatic-drag-and-drop/external/adapter';\nimport type Alpine from 'alpinejs';\n\nimport {\n createAlpineMachine,\n defineAlpineData,\n type AlpineMachine,\n type TransitionForHook,\n type TrellisAlpineComponent,\n} from '@client/runtime';\nimport {cleanupManagerFor} from '@client/runtime/alpine-data';\nimport type {CleanupManager} from '@client/runtime/cleanup-manager';\nimport {syncControlPresence, syncNativeControl} from '@client/runtime/form-control';\nimport {resolveStyle} from '@client/runtime/styles';\nimport {createTemplateInstance, findItemTemplate, type TemplateInstance} from '@client/runtime/item-template';\nimport {addListener, dispatch, setPresence} from '@client/utils';\nimport {fileUploadSchema, type FileUploadProps} from './contract';\nimport {\n createFileUploadMachine,\n fileUploadHooks,\n type FileSelectionSource,\n type FileTransferStatus,\n type FileUploadContext,\n type FileUploadMetadata,\n type FileUploadRecord,\n} from './machine';\nimport {fileUploadStyles} from './styles';\n\ntype FileUploadTransitionName = (typeof fileUploadHooks)[number]['name'];\ntype FileUploadTransition<TName extends FileUploadTransitionName = FileUploadTransitionName> = TransitionForHook<\n Extract<(typeof fileUploadHooks)[number], {name: TName}>,\n HTMLElement\n>;\n\n/**\n * Public Alpine API for `ui.file-upload`.\n *\n * @public\n */\ninterface UiFileUploadApi {\n /** Serializable metadata for the current pending or transferred files. */\n readonly files: readonly FileUploadRecord[];\n /** Whether pending or existing file content is present. */\n readonly hasFiles: boolean;\n /** Whether an external file is over the drop target. */\n readonly isDragging: boolean;\n /** Whether the direct transport hook is pending. */\n readonly isUploading: boolean;\n /** Whether the configured client-side item limit is full. */\n readonly isLimitReached: boolean;\n /** Opens the native file picker when interaction is available. */\n browse(): void;\n /** Removes a pending file by its stable record id. */\n remove(id: string): void;\n /** Retries failed or canceled direct-upload records. */\n retry(): void;\n /** Cancels the active direct-upload batch. */\n cancel(): void;\n /** Returns the original browser File for transport code without cloning it. */\n file(id: string): File | null;\n /** Returns a component-managed preview URL when the selected file is previewable. */\n preview(id: string): string | null;\n}\n\ntype FileUploadData = AlpineMachine<FileUploadContext, FileUploadProps, typeof fileUploadHooks> & UiFileUploadApi & {\n init(): void;\n destroy(): void;\n};\n\nconst formatBytes = (bytes: number): string => {\n if (bytes === 0) return '0 B';\n const units = ['B', 'KB', 'MB', 'GB'];\n const unitIndex = Math.min(Math.floor(Math.log(bytes) / Math.log(1024)), units.length - 1);\n const value = bytes / (1024 ** unitIndex);\n const display = value >= 10 || unitIndex === 0 ? Math.round(value) : Number(value.toFixed(1));\n return `${display} ${units[unitIndex]}`;\n};\n\nconst filesFromList = (list: FileList | null): File[] => list ? Array.from(list) : [];\nconst isImageFile = (file: File): boolean => file.type.startsWith('image/');\nconst canPreviewFile = (file: File, preview: FileUploadProps['preview']): boolean => preview !== 'none' && (preview === 'image' || isImageFile(file));\n\nconst toFileList = (files: File[]): FileList | null => {\n if (typeof DataTransfer === 'undefined') return null;\n const transfer = new DataTransfer();\n files.forEach((file) => transfer.items.add(file));\n return transfer.files;\n};\n\nconst setInputFiles = (input: HTMLInputElement, files: File[]): boolean => {\n const list = toFileList(files);\n if (!list) return false;\n try {\n input.files = list;\n return true;\n } catch {\n return false;\n }\n};\n\nconst UiFileUpload = (AlpineInstance: Alpine.Alpine): TrellisAlpineComponent<FileUploadData> => {\n let rootEl: (HTMLElement & Alpine.ElementWithXAttributes) | null = null;\n let cleanup: CleanupManager;\n let ignoreNativeChange = false;\n let fileSequence = 0;\n const items = new Map<string, TemplateInstance<Record<string, unknown>>>();\n const rawFiles = new Map<string, File>();\n const previewUrls = new Map<string, string>();\n\n const root = (): HTMLElement => {\n if (!rootEl) throw new Error('File upload has not been initialized.');\n return rootEl;\n };\n const input = (): HTMLInputElement => {\n const control = root().querySelector<HTMLInputElement>('[data-ui-file-upload-input]');\n if (!control) throw new Error('File upload requires a native file input.');\n return control;\n };\n const dropzone = (): HTMLElement | null => root().querySelector<HTMLElement>('[data-ui-file-upload-dropzone]');\n const list = (): HTMLElement | null => root().querySelector<HTMLElement>('[data-ui-file-upload-list]');\n const currentProps = (): Readonly<FileUploadProps> => bridge.getSnapshot().props;\n const currentContext = (): Readonly<FileUploadContext> => bridge.getSnapshot().context;\n\n const metadataFor = (file: File): FileUploadMetadata => ({\n id: `file-${++fileSequence}`,\n name: file.name,\n bytes: file.size,\n size: formatBytes(file.size),\n type: file.type || 'File',\n });\n const registerFiles = (files: File[]): FileUploadMetadata[] => files.map((file) => {\n const metadata = metadataFor(file);\n rawFiles.set(metadata.id, file);\n return metadata;\n });\n const revokePreview = (id: string): void => {\n const url = previewUrls.get(id);\n if (url) URL.revokeObjectURL(url);\n previewUrls.delete(id);\n };\n const previewFor = (id: string): string | null => {\n const file = rawFiles.get(id);\n if (!file || !canPreviewFile(file, currentProps().preview)) return null;\n const existing = previewUrls.get(id);\n if (existing) return existing;\n const url = URL.createObjectURL(file);\n previewUrls.set(id, url);\n return url;\n };\n const dispatchNativeChange = (): void => {\n if (currentProps().transport === 'direct') return;\n ignoreNativeChange = true;\n input().dispatchEvent(new Event('input', {bubbles: true}));\n input().dispatchEvent(new Event('change', {bubbles: true}));\n };\n const sendFiles = (records: FileUploadMetadata[], source: FileSelectionSource, append = false): void => {\n if (currentProps().disabled || bridge.hasTag('uploading')) return;\n bridge.send({type: 'FILES_CHANGED', records, source, append});\n };\n\n const identifyExistingItems = (): string[] => {\n const used = new Set<string>();\n return [...root().querySelectorAll<HTMLElement>('[data-ui-file-upload-item][data-existing-file]')]\n .map((item, index) => {\n const authored = item.dataset.fileId || item.dataset.uploadKey || `existing-${index + 1}`;\n let id = authored;\n let suffix = 2;\n while (used.has(id)) id = `${authored}-${suffix++}`;\n used.add(id);\n item.dataset.fileId = id;\n item.querySelectorAll<HTMLElement>('[data-ui-file-upload-remove][data-existing-file]')\n .forEach((remove) => { remove.dataset.fileId = id; });\n return id;\n });\n };\n\n const renderFiles = (context: Readonly<FileUploadContext>, props: Readonly<FileUploadProps>): void => {\n const container = list();\n if (!container) return;\n const template = findItemTemplate(root(), 'x-ui-file-upload:item');\n if (!template) throw new Error('File upload requires an item template.');\n const records = context.selection.records;\n const selectedIds = new Set(records.map(({id}) => id));\n items.forEach((instance, id) => {\n if (!selectedIds.has(id) || instance.template !== template || instance.element.parentElement !== container) {\n instance.destroy();\n items.delete(id);\n }\n });\n [...previewUrls.keys()].filter((id) => !selectedIds.has(id)).forEach(revokePreview);\n [...rawFiles.keys()].filter((id) => !selectedIds.has(id)).forEach((id) => rawFiles.delete(id));\n const activeExistingIds = new Set(context.existing);\n container.querySelectorAll<HTMLElement>('[data-ui-file-upload-item][data-existing-file]')\n .forEach((item) => { item.hidden = !activeExistingIds.has(item.dataset.fileId ?? ''); });\n const empty = container.querySelector<HTMLElement>('[data-ui-file-upload-empty]');\n if (empty) empty.hidden = records.length > 0 || context.existing.length > 0;\n\n const styles = Object.fromEntries(Object.entries(fileUploadStyles.parts).map(([name, part]) => [\n name, resolveStyle({part, className: name === 'item' ? props.itemClass : ''}),\n ]));\n records.forEach((record) => {\n const scope = {$file: record, $styles: styles};\n let instance = items.get(record.id);\n if (!instance) {\n instance = createTemplateInstance(AlpineInstance, template, scope);\n const item = instance.element;\n item.dataset.uiFileUploadItem = '';\n item.dataset.uiFileUploadPending = '';\n item.dataset.fileId = record.id;\n items.set(record.id, instance);\n } else instance.update(scope);\n instance.element.dataset.status = record.status;\n instance.element.dataset.progress = String(record.progress);\n if (instance.element.parentElement !== container) instance.mount(container);\n });\n };\n\n const syncDom = (\n context: Readonly<FileUploadContext> = currentContext(),\n props: Readonly<FileUploadProps> = currentProps(),\n ): void => {\n const records = context.selection.records;\n const existing = context.existing.length > 0;\n const hasFiles = records.length > 0 || existing;\n const unavailable = props.disabled || context.selection.limitReached || context.transfer.status === 'uploading';\n const control = input();\n syncNativeControl({input: control, state: {disabled: props.disabled, required: props.required, invalid: props.invalid}});\n if (props.transport === 'native' && props.name) control.name = props.name;\n else control.removeAttribute('name');\n control.multiple = props.multiple;\n props.accept ? control.setAttribute('accept', props.accept) : control.removeAttribute('accept');\n props.capture ? control.setAttribute('capture', props.capture) : control.removeAttribute('capture');\n if (unavailable && !props.disabled) {\n control.setAttribute('aria-disabled', 'true');\n control.tabIndex = -1;\n } else if (!props.disabled) {\n control.removeAttribute('aria-disabled');\n control.removeAttribute('tabindex');\n }\n if (control.form) control.form.enctype = 'multipart/form-data';\n\n syncControlPresence({el: root(), state: props, value: 'true'});\n setPresence({el: root(), attr: 'data-empty', present: !hasFiles, value: 'true'});\n setPresence({el: root(), attr: 'data-has-files', present: hasFiles, value: 'true'});\n setPresence({el: root(), attr: 'data-multiple', present: props.multiple, value: 'true'});\n setPresence({el: root(), attr: 'data-max-items-reached', present: context.selection.limitReached, value: 'true'});\n setPresence({el: root(), attr: 'data-has-existing-file', present: existing, value: 'true'});\n root().dataset.transport = props.transport;\n root().dataset.transferState = context.transfer.status;\n const zone = dropzone();\n if (zone) {\n syncControlPresence({el: zone, state: {disabled: unavailable, invalid: props.invalid}, value: 'true'});\n setPresence({el: zone, attr: 'data-multiple', present: props.multiple, value: 'true'});\n setPresence({el: zone, attr: 'data-has-files', present: hasFiles, value: 'true'});\n setPresence({el: zone, attr: 'data-max-items-reached', present: context.selection.limitReached, value: 'true'});\n }\n renderFiles(context, props);\n };\n\n const initialContext = (props: FileUploadProps): FileUploadContext => ({\n selection: {records: [], limitReached: false, rejectedCount: 0, limitRejectedCount: 0, source: 'clear'},\n existing: identifyExistingItems(),\n transfer: {status: props.transport === 'native' ? 'native' : 'idle', error: ''},\n });\n const syncSelection = (scope: {context: Readonly<FileUploadContext>; props: Readonly<FileUploadProps>}): boolean => {\n const selectedFiles = scope.context.selection.records.flatMap(({id}) => rawFiles.get(id) ?? []);\n if (!setInputFiles(input(), selectedFiles)) {\n input().value = '';\n bridge.send('FILES_RESET');\n return false;\n }\n syncDom(scope.context, scope.props);\n return true;\n };\n\n const bridge = createAlpineMachine({\n schema: fileUploadSchema,\n hooks: fileUploadHooks,\n createMachine: ({props}) => createFileUploadMachine({\n props,\n context: initialContext(props),\n effects: {\n commitSelection: (scope) => {\n if (!syncSelection(scope)) return;\n if (scope.context.selection.limitRejectedCount > 0) {\n dispatch({el: root(), name: 'ui:file-upload-limit', detail: {rejectedCount: scope.context.selection.limitRejectedCount}});\n }\n if (scope.context.selection.source !== 'picker') dispatchNativeChange();\n dispatch({\n el: root(),\n name: 'ui:file-upload-change',\n detail: {files: scope.context.selection.records, source: scope.context.selection.source},\n });\n },\n reconcileSelection: (scope) => { syncSelection(scope); },\n resetSelection: (scope) => { input().value = ''; syncDom(scope.context, scope.props); },\n syncProps: (scope) => {\n syncDom(scope.context, scope.props);\n bridge.send({type: 'RECONCILE', records: scope.context.selection.records, source: 'props'});\n },\n syncDragging: (scope) => {\n const dragging = scope.snapshot.tags.includes('dragging');\n setPresence({el: root(), attr: 'data-dragging', present: dragging, value: 'true'});\n const zone = dropzone();\n if (zone) setPresence({el: zone, attr: 'data-dragging', present: dragging, value: 'true'});\n },\n clearExisting: (scope) => {\n const activeIds = new Set(scope.context.existing);\n const removedIds = [...root().querySelectorAll<HTMLElement>(\n '[data-ui-file-upload-item][data-existing-file]:not([hidden])',\n )].flatMap((item) => {\n const id = item.dataset.fileId;\n if (!id || activeIds.has(id)) return [];\n item.querySelectorAll<HTMLInputElement>('[data-ui-file-upload-clear]')\n .forEach((clear) => {\n clear.checked = true;\n clear.dispatchEvent(new Event('change', {bubbles: true}));\n });\n return [id];\n });\n syncDom(scope.context, scope.props);\n dispatch({\n el: root(),\n name: 'ui:file-upload-change',\n detail: {\n files: scope.context.selection.records,\n source: scope.context.selection.source,\n removedExistingIds: removedIds,\n },\n });\n },\n commitExistingReplacement: (scope) => {\n const removedIds = [...root().querySelectorAll<HTMLElement>(\n '[data-ui-file-upload-item][data-existing-file]:not([hidden])',\n )].flatMap((item) => item.dataset.fileId ?? []);\n syncDom(scope.context, scope.props);\n if (removedIds.length === 0) return;\n dispatch({\n el: root(),\n name: 'ui:file-upload-change',\n detail: {\n files: scope.context.selection.records,\n source: scope.context.selection.source,\n removedExistingIds: removedIds,\n },\n });\n },\n syncTransfer: (scope) => syncDom(scope.context, scope.props),\n emitComplete: (scope) => dispatch({el: root(), name: 'ui:file-upload-complete', detail: {files: scope.context.selection.records}}),\n emitError: (scope) => dispatch({el: root(), name: 'ui:file-upload-error', detail: {files: scope.context.selection.records, error: scope.context.transfer.error}}),\n emitCancel: (scope) => dispatch({el: root(), name: 'ui:file-upload-cancel', detail: {files: scope.context.selection.records}}),\n },\n }),\n });\n\n const component: TrellisAlpineComponent<FileUploadData> = {\n ...bridge,\n get files() { return this.snapshot.current?.context.selection.records ?? []; },\n get hasFiles() { return (this.snapshot.current?.context.selection.records.length ?? 0) > 0 || (this.snapshot.current?.context.existing.length ?? 0) > 0; },\n get isDragging() { return this.snapshot.current?.tags.includes('dragging') ?? false; },\n get isUploading() { return this.snapshot.current?.tags.includes('uploading') ?? false; },\n get isLimitReached() { return this.snapshot.current?.context.selection.limitReached ?? false; },\n init() {\n cleanup = cleanupManagerFor(this);\n rootEl = this.$el;\n bridge.connect(this.$el, this.snapshot);\n const control = input();\n addListener({target: control, event: 'input', handler: (event) => {\n if (currentProps().transport === 'direct') event.stopPropagation();\n }, cleanup});\n addListener({target: control, event: 'change', handler: (event) => {\n if (currentProps().transport === 'direct') event.stopPropagation();\n if (ignoreNativeChange) { ignoreNativeChange = false; return; }\n sendFiles(registerFiles(filesFromList(control.files)), 'picker');\n }, cleanup});\n addListener({target: root(), event: 'click', handler: (event) => {\n const target = event.target;\n if (!(target instanceof Element)) return;\n const existing = target.closest<HTMLElement>('[data-ui-file-upload-remove][data-existing-file][data-file-id]');\n if (existing?.dataset.fileId) {\n event.preventDefault();\n bridge.send({type: 'REMOVE_EXISTING', id: existing.dataset.fileId});\n return;\n }\n const remove = target.closest<HTMLElement>('[data-ui-file-upload-remove][data-file-id]');\n if (remove?.dataset.fileId) { event.preventDefault(); component.remove(remove.dataset.fileId); }\n }, cleanup});\n addListener({target: root(), event: 'trellis:file-upload-clear-existing', handler: () => {\n bridge.send('CLEAR_EXISTING');\n }, cleanup});\n const zone = dropzone();\n if (zone) {\n cleanup.add(dropTargetForExternal({\n element: zone,\n canDrop: ({source}) => !currentProps().disabled && !bridge.hasTag('uploading') && containsFiles({source}),\n getDropEffect: () => 'copy',\n onDragEnter: () => bridge.send('DRAG_ENTER'),\n onDragLeave: () => bridge.send('DRAG_LEAVE'),\n onDrop: ({source}: ExternalDropTargetEventPayloadMap['onDrop']) => {\n bridge.send('DROP');\n if (!containsFiles({source})) return;\n sendFiles(registerFiles(getFiles({source})), 'drop', currentProps().multiple);\n },\n }));\n cleanup.add(monitorForExternal({canMonitor: ({source}) => containsFiles({source}), onDrop: () => bridge.send('DRAG_LEAVE')}));\n }\n syncDom();\n bridge.send({type: 'RECONCILE', records: [], source: 'props'});\n },\n destroy() {\n items.forEach((instance) => instance.destroy());\n items.clear();\n previewUrls.forEach((url) => URL.revokeObjectURL(url));\n previewUrls.clear();\n rawFiles.clear();\n bridge.disconnect();\n rootEl = null;\n },\n browse() { if (!currentProps().disabled && !bridge.hasTag('uploading')) input().click(); },\n remove(id) {\n if (currentProps().disabled || bridge.hasTag('uploading') || !rawFiles.has(id)) return;\n const records = currentContext().selection.records.filter((record) => record.id !== id);\n sendFiles(records, 'remove');\n },\n retry() { bridge.send('RETRY_UPLOAD'); },\n cancel() { bridge.send('CANCEL_UPLOAD'); },\n file(id) { return rawFiles.get(id) ?? null; },\n preview(id) { return previewFor(id); },\n };\n return component;\n};\n\nconst registerFileUpload = (AlpineInstance: Alpine.Alpine): void => {\n // The template directive declares markup; the component owns its instances.\n AlpineInstance.directive('ui-file-upload', () => {});\n defineAlpineData('UiFileUpload', () => UiFileUpload(AlpineInstance))(AlpineInstance);\n};\n\nexport {registerFileUpload, UiFileUpload};\nexport type {\n FileTransferStatus,\n FileUploadData,\n FileUploadMetadata,\n FileUploadRecord,\n FileUploadTransition,\n UiFileUploadApi,\n};\n","// Generated by scripts/generate_component_entries.mjs from packages/client/component-entries.json.\n// Do not edit by hand.\nimport type {Alpine as AlpineType} from 'alpinejs';\n\nimport {registerFileUpload as registerComponent} from './index';\n\nconst registered = new WeakSet<AlpineType>();\n\nconst registerFileUpload = (AlpineInstance: AlpineType): void => {\n if (registered.has(AlpineInstance)) return;\n registered.add(AlpineInstance);\n\n registerComponent(AlpineInstance);\n};\n\nexport {registerFileUpload};\nexport default registerFileUpload;\nexport * from './index';\n"],"x_google_ignoreList":[0,1,2],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ var e=(e,t,n)=>{let r=t.content.cloneNode(!0),i=r.firstElementChild;if(!(i instanceof HTMLElement)||r.childElementCount!==1||[...r.childNodes].some(e=>e.nodeType===Node.TEXT_NODE&&e.textContent?.trim()))throw Error(`An item template must contain exactly one HTML root element.`);let a=e.reactive(n),o=e.addScopeToNode(i,a,t),s=!1,c=!1;return e.onElRemoved(i,()=>{c||(c=!0,queueMicrotask(o))}),{element:i,template:t,update(e){c||Object.assign(a,e)},mount(t,n=null){if(c)throw Error(`Cannot mount a destroyed item template.`);e.mutateDom(()=>{t.insertBefore(i,n),s||e.initTree(i),s=!0})},destroy(){c||(c=!0,e.mutateDom(()=>{s&&e.destroyTree(i),i.remove(),o()}))}}},t=(e,t)=>[...e.querySelectorAll(`template`)].find(e=>e.hasAttribute(t));export{t as n,e as t};
2
+ //# sourceMappingURL=item-template-DSfME41Q.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"item-template-DSfME41Q.js","names":[],"sources":["../../../../../../../../client/src/runtime/item-template.ts"],"sourcesContent":["import type Alpine from 'alpinejs';\n\n/** A mounted, scoped template owns its Alpine tree until removal. */\ntype TemplateInstance<T extends Record<string, unknown>> = {\n readonly element: HTMLElement;\n readonly template: HTMLTemplateElement;\n update(scope: T): void;\n mount(container: HTMLElement, before?: Node | null): void;\n destroy(): void;\n};\n\nconst createTemplateInstance = <T extends Record<string, unknown>>(\n AlpineInstance: Alpine.Alpine,\n template: HTMLTemplateElement,\n initialScope: T,\n): TemplateInstance<T> => {\n const fragment = template.content.cloneNode(true) as DocumentFragment;\n const element = fragment.firstElementChild;\n if (!(element instanceof HTMLElement) || fragment.childElementCount !== 1\n || [...fragment.childNodes].some((node) => node.nodeType === Node.TEXT_NODE && node.textContent?.trim())) {\n throw new Error('An item template must contain exactly one HTML root element.');\n }\n const scope = AlpineInstance.reactive(initialScope);\n const releaseScope = AlpineInstance.addScopeToNode(element, scope, template);\n let mounted = false;\n let destroyed = false;\n AlpineInstance.onElRemoved(element, () => {\n if (destroyed) return;\n destroyed = true;\n queueMicrotask(releaseScope);\n });\n return {\n element,\n template,\n update(next) { if (!destroyed) Object.assign(scope, next); },\n mount(container, before = null) {\n if (destroyed) throw new Error('Cannot mount a destroyed item template.');\n AlpineInstance.mutateDom(() => {\n container.insertBefore(element, before);\n if (!mounted) AlpineInstance.initTree(element);\n mounted = true;\n });\n },\n destroy() {\n if (destroyed) return;\n destroyed = true;\n AlpineInstance.mutateDom(() => {\n if (mounted) AlpineInstance.destroyTree(element);\n element.remove();\n releaseScope();\n });\n },\n };\n};\n\nconst findItemTemplate = (root: HTMLElement, attribute: string): HTMLTemplateElement | undefined => (\n [...root.querySelectorAll<HTMLTemplateElement>('template')].find((template) => template.hasAttribute(attribute))\n);\n\nexport {createTemplateInstance, findItemTemplate};\nexport type {TemplateInstance};\n"],"mappings":"AAWA,IAAM,GACF,EACA,EACA,IACsB,CACtB,IAAM,EAAW,EAAS,QAAQ,UAAU,EAAI,EAC1C,EAAU,EAAS,kBACzB,GAAI,EAAE,aAAmB,cAAgB,EAAS,oBAAsB,GACjE,CAAC,GAAG,EAAS,UAAU,CAAC,CAAC,KAAM,GAAS,EAAK,WAAa,KAAK,WAAa,EAAK,aAAa,KAAK,CAAC,EACvG,MAAU,MAAM,8DAA8D,EAElF,IAAM,EAAQ,EAAe,SAAS,CAAY,EAC5C,EAAe,EAAe,eAAe,EAAS,EAAO,CAAQ,EACvE,EAAU,GACV,EAAY,GAMhB,OALA,EAAe,YAAY,MAAe,CAClC,IACJ,EAAY,GACZ,eAAe,CAAY,EAC/B,CAAC,EACM,CACH,UACA,WACA,OAAO,EAAM,CAAO,GAAW,OAAO,OAAO,EAAO,CAAI,CAAG,EAC3D,MAAM,EAAW,EAAS,KAAM,CAC5B,GAAI,EAAW,MAAU,MAAM,yCAAyC,EACxE,EAAe,cAAgB,CAC3B,EAAU,aAAa,EAAS,CAAM,EACjC,GAAS,EAAe,SAAS,CAAO,EAC7C,EAAU,EACd,CAAC,CACL,EACA,SAAU,CACF,IACJ,EAAY,GACZ,EAAe,cAAgB,CACvB,GAAS,EAAe,YAAY,CAAO,EAC/C,EAAQ,OAAO,EACf,EAAa,CACjB,CAAC,EACL,CACJ,CACJ,EAEM,GAAoB,EAAmB,IACzC,CAAC,GAAG,EAAK,iBAAsC,UAAU,CAAC,CAAC,CAAC,KAAM,GAAa,EAAS,aAAa,CAAS,CAAC"}
@@ -0,0 +1 @@
1
+ import{n as e,t}from"../chunks/entry.generated-dcqwycC7.js";export{e as UiAccordion,t as default,t as registerAccordion};
@@ -1 +1,2 @@
1
- import{n as e,t}from"../chunks/entry.generated-dcqwycC7.js";export{e as UiAccordion,t as default,t as registerAccordion};
1
+ export * from "./accordion-CKh9jOQc.js";
2
+ export {default} from "./accordion-CKh9jOQc.js";
@@ -0,0 +1 @@
1
+ import{n as e,t}from"../chunks/entry.generated-oJwO9fIY.js";export{t as default,t as registerButton,e as unregisterButton};
@@ -1 +1,2 @@
1
- import{n as e,t}from"../chunks/entry.generated-oJwO9fIY.js";export{t as default,t as registerButton,e as unregisterButton};
1
+ export * from "./button-Dnf0aKac.js";
2
+ export {default} from "./button-Dnf0aKac.js";
@@ -0,0 +1 @@
1
+ import{n as e,r as t,t as n}from"../chunks/entry.generated-D2es_Wi2.js";export{e as UiCheckbox,t as UiCheckboxGroup,n as default,n as registerCheckbox};
@@ -1 +1,2 @@
1
- import{n as e,r as t,t as n}from"../chunks/entry.generated-D2es_Wi2.js";export{e as UiCheckbox,t as UiCheckboxGroup,n as default,n as registerCheckbox};
1
+ export * from "./checkbox-BpFFtrfY.js";
2
+ export {default} from "./checkbox-BpFFtrfY.js";
@@ -0,0 +1 @@
1
+ import{n as e,t}from"../chunks/entry.generated-CqtsPVJy.js";export{e as UiDataGrid,t as default,t as registerDataGrid};
@@ -1 +1,2 @@
1
- import{n as e,t}from"../chunks/entry.generated-Bp3Npe3t.js";export{e as UiDataGrid,t as default,t as registerDataGrid};
1
+ export * from "./data-grid-DHqf4lhn.js";
2
+ export {default} from "./data-grid-DHqf4lhn.js";
@@ -0,0 +1 @@
1
+ import{n as e,t}from"../chunks/entry.generated-2YvnuzOD.js";export{e as UiDatePicker,t as default,t as registerDatePicker};
@@ -1 +1,2 @@
1
- import{n as e,t}from"../chunks/entry.generated-2YvnuzOD.js";export{e as UiDatePicker,t as default,t as registerDatePicker};
1
+ export * from "./date-picker-DhNrvLv7.js";
2
+ export {default} from "./date-picker-DhNrvLv7.js";
@@ -0,0 +1 @@
1
+ import{n as e,t}from"../chunks/entry.generated-CC6pQ0nu.js";export{e as UiDirectUpload,t as default,t as registerDirectUpload};
@@ -1 +1,2 @@
1
- import{n as e,t}from"../chunks/entry.generated-CC6pQ0nu.js";export{e as UiDirectUpload,t as default,t as registerDirectUpload};
1
+ export * from "./direct-upload-DaT6-YFL.js";
2
+ export {default} from "./direct-upload-DaT6-YFL.js";
@@ -0,0 +1 @@
1
+ import{n as e,t}from"../chunks/entry.generated-WRveW7p9.js";export{e as UiDropdown,t as default,t as registerDropdown};
@@ -1 +1,2 @@
1
- import{n as e,t}from"../chunks/entry.generated-WRveW7p9.js";export{e as UiDropdown,t as default,t as registerDropdown};
1
+ export * from "./dropdown-CDPdgATy.js";
2
+ export {default} from "./dropdown-CDPdgATy.js";
@@ -0,0 +1 @@
1
+ import{n as e,t}from"../chunks/entry.generated-C_SxTqg5.js";export{e as UiField,t as default,t as registerField};
@@ -1 +1,2 @@
1
- import{n as e,t}from"../chunks/entry.generated-C_SxTqg5.js";export{e as UiField,t as default,t as registerField};
1
+ export * from "./field-CtQbyblj.js";
2
+ export {default} from "./field-CtQbyblj.js";
@@ -0,0 +1 @@
1
+ import{n as e,t}from"../chunks/entry.generated-DQtFqG0K.js";export{e as UiFileUpload,t as default,t as registerFileUpload};
@@ -1 +1,2 @@
1
- import{n as e,t}from"../chunks/entry.generated-DDJEGHq-.js";export{e as UiFileUpload,t as default,t as registerFileUpload};
1
+ export * from "./file-upload-DARtpJDT.js";
2
+ export {default} from "./file-upload-DARtpJDT.js";
@@ -0,0 +1 @@
1
+ import{n as e,t}from"../chunks/entry.generated-xjydizn-.js";export{e as UiFormset,t as default,t as registerFormset};
@@ -1 +1,2 @@
1
- import{n as e,t}from"../chunks/entry.generated-xjydizn-.js";export{e as UiFormset,t as default,t as registerFormset};
1
+ export * from "./formset-CPO4XZkB.js";
2
+ export {default} from "./formset-CPO4XZkB.js";
@@ -0,0 +1 @@
1
+ import{n as e,r as t,t as n}from"../chunks/entry.generated-BCTWp6Xu.js";export{e as UiImportMapper,n as default,n as registerImportMapper,t as mappingProjection};
@@ -1 +1,2 @@
1
- import{n as e,r as t,t as n}from"../chunks/entry.generated-BCTWp6Xu.js";export{e as UiImportMapper,n as default,n as registerImportMapper,t as mappingProjection};
1
+ export * from "./import-mapper-C-3lKsKm.js";
2
+ export {default} from "./import-mapper-C-3lKsKm.js";
@@ -0,0 +1,2 @@
1
+ import{t as e}from"../chunks/motion-B90yNOaV.js";import{n as ee,r as te,t}from"../chunks/entry.generated-ChoqPigj.js";import{n as ne,t as n}from"../chunks/capability-motion-D_BJBnwB.js";import{n as re,t as r}from"../chunks/entry.generated-B986Ob4f.js";import{n as i}from"../chunks/cursor-data-source-Do0FfF4Z.js";import{n as a,r as o,t as s}from"../chunks/capability-sortable-BDbURlVO.js";import{n as ie,t as c}from"../chunks/capability-resizable-ByUbMIHF.js";import{n as ae,t as l}from"../chunks/entry.generated-dcqwycC7.js";import{n as u,t as d}from"../chunks/entry.generated-oJwO9fIY.js";import{n as f,r as p,t as m}from"../chunks/entry.generated-D2es_Wi2.js";import{n as h,t as g}from"../chunks/entry.generated-2YvnuzOD.js";import{n as oe,t as _}from"../chunks/entry.generated-CC6pQ0nu.js";import{n as se,t as v}from"../chunks/entry.generated-WRveW7p9.js";import{n as ce,t as y}from"../chunks/entry.generated-C_SxTqg5.js";import{n as le,t as b}from"../chunks/entry.generated-DQtFqG0K.js";import{n as ue,t as x}from"../chunks/entry.generated-xjydizn-.js";import{n as de,r as fe,t as S}from"../chunks/entry.generated-BCTWp6Xu.js";import{n as C,t as w}from"../chunks/entry.generated-BZWdGtgg.js";import{a as T,i as E,n as D,o as O,r as k,t as A}from"../chunks/capability-shortcut-DZUQHJ3A.js";import{t as j}from"../chunks/controller-C8xqwkr0.js";import{t as M}from"../chunks/entry.generated-HqE8R7N1.js";import{n as N,r as P,t as F}from"../chunks/entry.generated-BgGSoQFS.js";import{n as I,r as L,t as R}from"../chunks/entry.generated-BSVJpGWu.js";import{n as z,r as B,t as V}from"../chunks/entry.generated-CfYgsDun.js";import{n as pe,t as H}from"../chunks/entry.generated-BnqcHAaF.js";import{i as me,n as he,r as ge,t as U}from"../chunks/entry.generated-OT_bt7F2.js";import{n as _e,t as W}from"../chunks/entry.generated-CVWqQEed.js";import{n as ve,t as G}from"../chunks/entry.generated-EqHVGr1d.js";import{n as ye,t as K}from"../chunks/entry.generated-DDrayI_M.js";import{n as be,r as xe,t as q}from"../chunks/entry.generated-BITa8xFV.js";import{n as Se,t as J}from"../chunks/entry.generated-CqtsPVJy.js";import{n as Ce,t as Y}from"../chunks/entry.generated-BQNpmLZO.js";import{_ as we,a as Te,b as Ee,c as De,d as Oe,f as ke,g as Ae,h as je,i as Me,l as Ne,m as Pe,n as Fe,o as Ie,p as Le,r as X,s as Re,t as Z,u as ze,v as Be,x as Ve,y as He}from"../chunks/entry.generated-O0hEhk-2.js";var Q=new WeakSet,$=e=>{Q.has(e)||(Q.add(e),n(e),c(e),s(e),O(e),l(e),d(),m(e),g(e),_(e),v(e),y(e),b(e),x(e),S(e),w(e),M(e),F(e),R(e),V(e),H(e),r(e),U(e),W(e),G(e),K(e),t(e),q(e),J(e),Y(e),Z(e))};export{Fe as TABLE_ALIGNS,X as TABLE_BORDERS,Me as TABLE_COLUMN_SCOPES,Te as TABLE_DENSITIES,Ie as TABLE_FILTER_AS_VALUES,Re as TABLE_LAYOUTS,De as TABLE_ROW_HEADER_SCOPES,Ne as TABLE_SORTS,ze as TABLE_VALIGNS,Oe as TABLE_VARIANTS,ke as TABLE_WIDTHS,ae as UiAccordion,f as UiCheckbox,p as UiCheckboxGroup,Ce as UiCursorVirtualizer,Se as UiDataGrid,h as UiDatePicker,oe as UiDirectUpload,se as UiDropdown,ce as UiField,le as UiFileUpload,ue as UiFormset,de as UiImportMapper,C as UiInput,N as UiModal,P as UiModalTrigger,I as UiPanelToggle,L as UiPanels,z as UiRadio,B as UiRadioGroup,pe as UiScrollArea,re as UiSelect,he as UiSidebar,ge as UiSidebarEdge,me as UiSidebarToggle,_e as UiSlider,ve as UiSwitch,ye as UiTabs,ee as UiToast,te as UiToastOutlet,be as UiTooltip,i as UiVirtualizer,$ as components,$ as default,j as createKeybindingController,ie as createResizable,A as createShortcutMatcher,o as createSortableRegistry,D as formatShortcut,k as formatShortcutKeys,fe as mappingProjection,e as motion,E as observePressedShortcutKeys,T as parseShortcut,l as registerAccordion,ne as registerBoundsDirective,d as registerButton,m as registerCheckbox,J as registerDataGrid,g as registerDatePicker,_ as registerDirectUpload,v as registerDropdown,y as registerField,b as registerFileUpload,x as registerFormset,S as registerImportMapper,w as registerInput,M as registerKeybinding,F as registerModal,n as registerMotionCapability,R as registerPanels,V as registerRadio,c as registerResizableCapability,H as registerScrollArea,r as registerSelect,O as registerShortcutCapability,U as registerSidebar,W as registerSlider,s as registerSortableCapability,a as registerSortableDirective,G as registerSwitch,Z as registerTable,K as registerTabs,t as registerToast,q as registerTooltip,xe as registerTooltipDirective,Y as registerVirtualizer,Le as tableCaptionSchema,Pe as tableCellSchema,je as tableColumnFilterSchema,Ae as tableColumnSchema,we as tableEmptySchema,Be as tableRowHeaderSchema,He as tableRowSchema,Ee as tableSchema,Ve as tableSectionSchema,u as unregisterButton};
2
+ //# sourceMappingURL=index-DzOKmgfj.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-DzOKmgfj.js","names":[],"sources":["../../../../../../../../client/src/components/entry.generated.ts"],"sourcesContent":["// Generated by scripts/generate_component_entries.mjs from packages/client/component-entries.json.\n// Do not edit by hand.\nimport type {Alpine as AlpineType} from 'alpinejs';\nimport {registerAccordion} from './accordion/entry.generated';\nimport {registerButton} from './button/entry.generated';\nimport {registerCheckbox} from './checkbox/entry.generated';\nimport {registerDatePicker} from './date-picker/entry.generated';\nimport {registerDirectUpload} from './direct-upload/entry.generated';\nimport {registerDropdown} from './dropdown/entry.generated';\nimport {registerField} from './field/entry.generated';\nimport {registerFileUpload} from './file-upload/entry.generated';\nimport {registerFormset} from './formset/entry.generated';\nimport {registerImportMapper} from './import-mapper/entry.generated';\nimport {registerInput} from './input/entry.generated';\nimport {registerKeybinding} from './keybinding/entry.generated';\nimport {registerModal} from './modal/entry.generated';\nimport {registerPanels} from './panels/entry.generated';\nimport {registerRadio} from './radio/entry.generated';\nimport {registerScrollArea} from './scroll-area/entry.generated';\nimport {registerSelect} from './select/entry.generated';\nimport {registerSidebar} from './sidebar/entry.generated';\nimport {registerSlider} from './slider/entry.generated';\nimport {registerSwitch} from './switch/entry.generated';\nimport {registerTabs} from './tabs/entry.generated';\nimport {registerToast} from './toast/entry.generated';\nimport {registerTooltip} from './tooltip/entry.generated';\nimport {registerDataGrid} from './data-grid/entry.generated';\nimport {registerVirtualizer} from './virtualizer/entry.generated';\nimport {registerTable} from './table/entry.generated';\nimport {registerMotionCapability} from '../capabilities/motion';\nimport {registerResizableCapability} from '../capabilities/resizable';\nimport {registerSortableCapability} from '../capabilities/sortable';\nimport {registerShortcutCapability} from '../capabilities/shortcut';\n\ntype ComponentsPlugin = (AlpineInstance: AlpineType) => void;\nconst registered = new WeakSet<AlpineType>();\n\nconst components: ComponentsPlugin = (AlpineInstance): void => {\n if (registered.has(AlpineInstance)) return;\n registered.add(AlpineInstance);\n registerMotionCapability(AlpineInstance);\n registerResizableCapability(AlpineInstance);\n registerSortableCapability(AlpineInstance);\n registerShortcutCapability(AlpineInstance);\n registerAccordion(AlpineInstance);\n registerButton();\n registerCheckbox(AlpineInstance);\n registerDatePicker(AlpineInstance);\n registerDirectUpload(AlpineInstance);\n registerDropdown(AlpineInstance);\n registerField(AlpineInstance);\n registerFileUpload(AlpineInstance);\n registerFormset(AlpineInstance);\n registerImportMapper(AlpineInstance);\n registerInput(AlpineInstance);\n registerKeybinding(AlpineInstance);\n registerModal(AlpineInstance);\n registerPanels(AlpineInstance);\n registerRadio(AlpineInstance);\n registerScrollArea(AlpineInstance);\n registerSelect(AlpineInstance);\n registerSidebar(AlpineInstance);\n registerSlider(AlpineInstance);\n registerSwitch(AlpineInstance);\n registerTabs(AlpineInstance);\n registerToast(AlpineInstance);\n registerTooltip(AlpineInstance);\n registerDataGrid(AlpineInstance);\n registerVirtualizer(AlpineInstance);\n registerTable(AlpineInstance);\n};\n\nexport {components};\nexport default components;\nexport type {ComponentsPlugin};\nexport * from './accordion/entry.generated';\nexport * from './button/entry.generated';\nexport * from './checkbox/entry.generated';\nexport * from './date-picker/entry.generated';\nexport * from './direct-upload/entry.generated';\nexport * from './dropdown/entry.generated';\nexport * from './field/entry.generated';\nexport * from './file-upload/entry.generated';\nexport * from './formset/entry.generated';\nexport * from './import-mapper/entry.generated';\nexport * from './input/entry.generated';\nexport * from './keybinding/entry.generated';\nexport * from './modal/entry.generated';\nexport * from './panels/entry.generated';\nexport * from './radio/entry.generated';\nexport * from './scroll-area/entry.generated';\nexport * from './select/entry.generated';\nexport * from './sidebar/entry.generated';\nexport * from './slider/entry.generated';\nexport * from './switch/entry.generated';\nexport * from './tabs/entry.generated';\nexport * from './toast/entry.generated';\nexport * from './tooltip/entry.generated';\nexport * from './data-grid/entry.generated';\nexport * from './virtualizer/entry.generated';\nexport * from './table/entry.generated';\nexport * from '../capabilities/motion';\nexport * from '../capabilities/resizable';\nexport * from '../capabilities/sortable';\nexport * from '../capabilities/shortcut';\n"],"mappings":"s1EAmCA,IAAM,EAAa,IAAI,QAEjB,EAAgC,GAAyB,CACvD,EAAW,IAAI,CAAc,IACjC,EAAW,IAAI,CAAc,EAC7B,EAAyB,CAAc,EACvC,EAA4B,CAAc,EAC1C,EAA2B,CAAc,EACzC,EAA2B,CAAc,EACzC,EAAkB,CAAc,EAChC,EAAe,EACf,EAAiB,CAAc,EAC/B,EAAmB,CAAc,EACjC,EAAqB,CAAc,EACnC,EAAiB,CAAc,EAC/B,EAAc,CAAc,EAC5B,EAAmB,CAAc,EACjC,EAAgB,CAAc,EAC9B,EAAqB,CAAc,EACnC,EAAc,CAAc,EAC5B,EAAmB,CAAc,EACjC,EAAc,CAAc,EAC5B,EAAe,CAAc,EAC7B,EAAc,CAAc,EAC5B,EAAmB,CAAc,EACjC,EAAe,CAAc,EAC7B,EAAgB,CAAc,EAC9B,EAAe,CAAc,EAC7B,EAAe,CAAc,EAC7B,EAAa,CAAc,EAC3B,EAAc,CAAc,EAC5B,EAAgB,CAAc,EAC9B,EAAiB,CAAc,EAC/B,EAAoB,CAAc,EAClC,EAAc,CAAc,EAChC"}
@@ -1,2 +1,2 @@
1
- import{t as e}from"../chunks/motion-B90yNOaV.js";import{n as ee,r as te,t}from"../chunks/entry.generated-Ce_fpT15.js";import{n as ne,t as n}from"../chunks/capability-motion-D_BJBnwB.js";import{n as re,t as r}from"../chunks/entry.generated-18lXAVBg.js";import{n as i}from"../chunks/cursor-data-source-Do0FfF4Z.js";import{n as a,r as o,t as s}from"../chunks/capability-sortable-BDbURlVO.js";import{n as ie,t as c}from"../chunks/capability-resizable-ByUbMIHF.js";import{n as ae,t as l}from"../chunks/entry.generated-dcqwycC7.js";import{n as u,t as d}from"../chunks/entry.generated-oJwO9fIY.js";import{n as f,r as p,t as m}from"../chunks/entry.generated-D2es_Wi2.js";import{n as h,t as g}from"../chunks/entry.generated-2YvnuzOD.js";import{n as oe,t as _}from"../chunks/entry.generated-CC6pQ0nu.js";import{n as se,t as v}from"../chunks/entry.generated-WRveW7p9.js";import{n as ce,t as y}from"../chunks/entry.generated-C_SxTqg5.js";import{n as le,t as b}from"../chunks/entry.generated-DDJEGHq-.js";import{n as ue,t as x}from"../chunks/entry.generated-xjydizn-.js";import{n as de,r as fe,t as S}from"../chunks/entry.generated-BCTWp6Xu.js";import{n as C,t as w}from"../chunks/entry.generated-BZWdGtgg.js";import{a as T,i as E,n as D,o as O,r as k,t as A}from"../chunks/capability-shortcut-DZUQHJ3A.js";import{t as j}from"../chunks/controller-C8xqwkr0.js";import{t as M}from"../chunks/entry.generated-HqE8R7N1.js";import{n as N,r as P,t as F}from"../chunks/entry.generated-BgGSoQFS.js";import{n as I,r as L,t as R}from"../chunks/entry.generated-BSVJpGWu.js";import{n as z,r as B,t as V}from"../chunks/entry.generated-CfYgsDun.js";import{n as pe,t as H}from"../chunks/entry.generated-BnqcHAaF.js";import{i as me,n as he,r as ge,t as U}from"../chunks/entry.generated-OT_bt7F2.js";import{n as _e,t as W}from"../chunks/entry.generated-CVWqQEed.js";import{n as ve,t as G}from"../chunks/entry.generated-EqHVGr1d.js";import{n as ye,t as K}from"../chunks/entry.generated-DDrayI_M.js";import{n as be,r as xe,t as q}from"../chunks/entry.generated-BITa8xFV.js";import{n as Se,t as J}from"../chunks/entry.generated-Bp3Npe3t.js";import{n as Ce,t as Y}from"../chunks/entry.generated-BQNpmLZO.js";import{_ as we,a as Te,b as Ee,c as De,d as Oe,f as ke,g as Ae,h as je,i as Me,l as Ne,m as Pe,n as Fe,o as Ie,p as Le,r as X,s as Re,t as Z,u as ze,v as Be,x as Ve,y as He}from"../chunks/entry.generated-O0hEhk-2.js";var Q=new WeakSet,$=e=>{Q.has(e)||(Q.add(e),n(e),c(e),s(e),O(e),l(e),d(),m(e),g(e),_(e),v(e),y(e),b(e),x(e),S(e),w(e),M(e),F(e),R(e),V(e),H(e),r(e),U(e),W(e),G(e),K(e),t(e),q(e),J(e),Y(e),Z(e))};export{Fe as TABLE_ALIGNS,X as TABLE_BORDERS,Me as TABLE_COLUMN_SCOPES,Te as TABLE_DENSITIES,Ie as TABLE_FILTER_AS_VALUES,Re as TABLE_LAYOUTS,De as TABLE_ROW_HEADER_SCOPES,Ne as TABLE_SORTS,ze as TABLE_VALIGNS,Oe as TABLE_VARIANTS,ke as TABLE_WIDTHS,ae as UiAccordion,f as UiCheckbox,p as UiCheckboxGroup,Ce as UiCursorVirtualizer,Se as UiDataGrid,h as UiDatePicker,oe as UiDirectUpload,se as UiDropdown,ce as UiField,le as UiFileUpload,ue as UiFormset,de as UiImportMapper,C as UiInput,N as UiModal,P as UiModalTrigger,I as UiPanelToggle,L as UiPanels,z as UiRadio,B as UiRadioGroup,pe as UiScrollArea,re as UiSelect,he as UiSidebar,ge as UiSidebarEdge,me as UiSidebarToggle,_e as UiSlider,ve as UiSwitch,ye as UiTabs,ee as UiToast,te as UiToastOutlet,be as UiTooltip,i as UiVirtualizer,$ as components,$ as default,j as createKeybindingController,ie as createResizable,A as createShortcutMatcher,o as createSortableRegistry,D as formatShortcut,k as formatShortcutKeys,fe as mappingProjection,e as motion,E as observePressedShortcutKeys,T as parseShortcut,l as registerAccordion,ne as registerBoundsDirective,d as registerButton,m as registerCheckbox,J as registerDataGrid,g as registerDatePicker,_ as registerDirectUpload,v as registerDropdown,y as registerField,b as registerFileUpload,x as registerFormset,S as registerImportMapper,w as registerInput,M as registerKeybinding,F as registerModal,n as registerMotionCapability,R as registerPanels,V as registerRadio,c as registerResizableCapability,H as registerScrollArea,r as registerSelect,O as registerShortcutCapability,U as registerSidebar,W as registerSlider,s as registerSortableCapability,a as registerSortableDirective,G as registerSwitch,Z as registerTable,K as registerTabs,t as registerToast,q as registerTooltip,xe as registerTooltipDirective,Y as registerVirtualizer,Le as tableCaptionSchema,Pe as tableCellSchema,je as tableColumnFilterSchema,Ae as tableColumnSchema,we as tableEmptySchema,Be as tableRowHeaderSchema,He as tableRowSchema,Ee as tableSchema,Ve as tableSectionSchema,u as unregisterButton};
2
- //# sourceMappingURL=index.js.map
1
+ export * from "./index-DzOKmgfj.js";
2
+ export {default} from "./index-DzOKmgfj.js";
@@ -0,0 +1 @@
1
+ import{n as e,t}from"../chunks/entry.generated-BZWdGtgg.js";export{e as UiInput,t as default,t as registerInput};
@@ -1 +1,2 @@
1
- import{n as e,t}from"../chunks/entry.generated-BZWdGtgg.js";export{e as UiInput,t as default,t as registerInput};
1
+ export * from "./input-BKEbDkKa.js";
2
+ export {default} from "./input-BKEbDkKa.js";
@@ -0,0 +1 @@
1
+ import{t as e}from"../chunks/controller-C8xqwkr0.js";import{t}from"../chunks/entry.generated-HqE8R7N1.js";export{e as createKeybindingController,t as default,t as registerKeybinding};
@@ -1 +1,2 @@
1
- import{t as e}from"../chunks/controller-C8xqwkr0.js";import{t}from"../chunks/entry.generated-HqE8R7N1.js";export{e as createKeybindingController,t as default,t as registerKeybinding};
1
+ export * from "./keybinding-RIi2q1IT.js";
2
+ export {default} from "./keybinding-RIi2q1IT.js";
@@ -0,0 +1 @@
1
+ import{n as e,r as t,t as n}from"../chunks/entry.generated-BgGSoQFS.js";export{e as UiModal,t as UiModalTrigger,n as default,n as registerModal};
@@ -1 +1,2 @@
1
- import{n as e,r as t,t as n}from"../chunks/entry.generated-BgGSoQFS.js";export{e as UiModal,t as UiModalTrigger,n as default,n as registerModal};
1
+ export * from "./modal-1D2WtmlK.js";
2
+ export {default} from "./modal-1D2WtmlK.js";
@@ -0,0 +1 @@
1
+ import{n as e,r as t,t as n}from"../chunks/entry.generated-BSVJpGWu.js";export{e as UiPanelToggle,t as UiPanels,n as default,n as registerPanels};
@@ -1 +1,2 @@
1
- import{n as e,r as t,t as n}from"../chunks/entry.generated-BSVJpGWu.js";export{e as UiPanelToggle,t as UiPanels,n as default,n as registerPanels};
1
+ export * from "./panels-BXtMr9cv.js";
2
+ export {default} from "./panels-BXtMr9cv.js";
@@ -0,0 +1 @@
1
+ import{n as e,r as t,t as n}from"../chunks/entry.generated-CfYgsDun.js";export{e as UiRadio,t as UiRadioGroup,n as default,n as registerRadio};
@@ -1 +1,2 @@
1
- import{n as e,r as t,t as n}from"../chunks/entry.generated-CfYgsDun.js";export{e as UiRadio,t as UiRadioGroup,n as default,n as registerRadio};
1
+ export * from "./radio-DrGFMWGq.js";
2
+ export {default} from "./radio-DrGFMWGq.js";
@@ -0,0 +1 @@
1
+ import{n as e,t}from"../chunks/entry.generated-BnqcHAaF.js";export{e as UiScrollArea,t as default,t as registerScrollArea};
@@ -1 +1,2 @@
1
- import{n as e,t}from"../chunks/entry.generated-BnqcHAaF.js";export{e as UiScrollArea,t as default,t as registerScrollArea};
1
+ export * from "./scroll-area-CyUCAbgG.js";
2
+ export {default} from "./scroll-area-CyUCAbgG.js";
@@ -0,0 +1 @@
1
+ import{n as e,t}from"../chunks/entry.generated-B986Ob4f.js";export{e as UiSelect,t as default,t as registerSelect};
@@ -1 +1,2 @@
1
- import{n as e,t}from"../chunks/entry.generated-18lXAVBg.js";export{e as UiSelect,t as default,t as registerSelect};
1
+ export * from "./select-B_b2uwfv.js";
2
+ export {default} from "./select-B_b2uwfv.js";
@@ -0,0 +1 @@
1
+ import{i as e,n as t,r as n,t as r}from"../chunks/entry.generated-OT_bt7F2.js";export{t as UiSidebar,n as UiSidebarEdge,e as UiSidebarToggle,r as default,r as registerSidebar};
@@ -1 +1,2 @@
1
- import{i as e,n as t,r as n,t as r}from"../chunks/entry.generated-OT_bt7F2.js";export{t as UiSidebar,n as UiSidebarEdge,e as UiSidebarToggle,r as default,r as registerSidebar};
1
+ export * from "./sidebar-D8y44c-J.js";
2
+ export {default} from "./sidebar-D8y44c-J.js";
@@ -0,0 +1 @@
1
+ import{n as e,t}from"../chunks/entry.generated-CVWqQEed.js";export{e as UiSlider,t as default,t as registerSlider};
@@ -1 +1,2 @@
1
- import{n as e,t}from"../chunks/entry.generated-CVWqQEed.js";export{e as UiSlider,t as default,t as registerSlider};
1
+ export * from "./slider-OztnTlqr.js";
2
+ export {default} from "./slider-OztnTlqr.js";
@@ -0,0 +1 @@
1
+ import{n as e,t}from"../chunks/entry.generated-EqHVGr1d.js";export{e as UiSwitch,t as default,t as registerSwitch};
@@ -1 +1,2 @@
1
- import{n as e,t}from"../chunks/entry.generated-EqHVGr1d.js";export{e as UiSwitch,t as default,t as registerSwitch};
1
+ export * from "./switch-CZ7aiASg.js";
2
+ export {default} from "./switch-CZ7aiASg.js";
@@ -0,0 +1 @@
1
+ import{_ as e,a as t,b as n,c as r,d as i,f as a,g as o,h as s,i as c,l,m as u,n as d,o as f,p,r as m,s as h,t as g,u as _,v,x as y,y as b}from"../chunks/entry.generated-O0hEhk-2.js";export{d as TABLE_ALIGNS,m as TABLE_BORDERS,c as TABLE_COLUMN_SCOPES,t as TABLE_DENSITIES,f as TABLE_FILTER_AS_VALUES,h as TABLE_LAYOUTS,r as TABLE_ROW_HEADER_SCOPES,l as TABLE_SORTS,_ as TABLE_VALIGNS,i as TABLE_VARIANTS,a as TABLE_WIDTHS,g as default,g as registerTable,p as tableCaptionSchema,u as tableCellSchema,s as tableColumnFilterSchema,o as tableColumnSchema,e as tableEmptySchema,v as tableRowHeaderSchema,b as tableRowSchema,n as tableSchema,y as tableSectionSchema};
@@ -1 +1,2 @@
1
- import{_ as e,a as t,b as n,c as r,d as i,f as a,g as o,h as s,i as c,l,m as u,n as d,o as f,p,r as m,s as h,t as g,u as _,v,x as y,y as b}from"../chunks/entry.generated-O0hEhk-2.js";export{d as TABLE_ALIGNS,m as TABLE_BORDERS,c as TABLE_COLUMN_SCOPES,t as TABLE_DENSITIES,f as TABLE_FILTER_AS_VALUES,h as TABLE_LAYOUTS,r as TABLE_ROW_HEADER_SCOPES,l as TABLE_SORTS,_ as TABLE_VALIGNS,i as TABLE_VARIANTS,a as TABLE_WIDTHS,g as default,g as registerTable,p as tableCaptionSchema,u as tableCellSchema,s as tableColumnFilterSchema,o as tableColumnSchema,e as tableEmptySchema,v as tableRowHeaderSchema,b as tableRowSchema,n as tableSchema,y as tableSectionSchema};
1
+ export * from "./table-G3G5d2Eo.js";
2
+ export {default} from "./table-G3G5d2Eo.js";
@@ -0,0 +1 @@
1
+ import{n as e,t}from"../chunks/entry.generated-DDrayI_M.js";export{e as UiTabs,t as default,t as registerTabs};
@@ -1 +1,2 @@
1
- import{n as e,t}from"../chunks/entry.generated-DDrayI_M.js";export{e as UiTabs,t as default,t as registerTabs};
1
+ export * from "./tabs-CBjcV5_z.js";
2
+ export {default} from "./tabs-CBjcV5_z.js";
@@ -0,0 +1 @@
1
+ import{n as e,r as t,t as n}from"../chunks/entry.generated-ChoqPigj.js";export{e as UiToast,t as UiToastOutlet,n as default,n as registerToast};
@@ -1 +1,2 @@
1
- import{n as e,r as t,t as n}from"../chunks/entry.generated-Ce_fpT15.js";export{e as UiToast,t as UiToastOutlet,n as default,n as registerToast};
1
+ export * from "./toast-DSduFsxK.js";
2
+ export {default} from "./toast-DSduFsxK.js";
@@ -0,0 +1 @@
1
+ import{n as e,r as t,t as n}from"../chunks/entry.generated-BITa8xFV.js";export{e as UiTooltip,n as default,n as registerTooltip,t as registerTooltipDirective};
@@ -1 +1,2 @@
1
- import{n as e,r as t,t as n}from"../chunks/entry.generated-BITa8xFV.js";export{e as UiTooltip,n as default,n as registerTooltip,t as registerTooltipDirective};
1
+ export * from "./tooltip-B3vA5YAi.js";
2
+ export {default} from "./tooltip-B3vA5YAi.js";
@@ -0,0 +1 @@
1
+ import{n as e}from"../chunks/cursor-data-source-Do0FfF4Z.js";import{n as t,t as n}from"../chunks/entry.generated-BQNpmLZO.js";export{t as UiCursorVirtualizer,e as UiVirtualizer,n as default,n as registerVirtualizer};
@@ -1 +1,2 @@
1
- import{n as e}from"../chunks/cursor-data-source-Do0FfF4Z.js";import{n as t,t as n}from"../chunks/entry.generated-BQNpmLZO.js";export{t as UiCursorVirtualizer,e as UiVirtualizer,n as default,n as registerVirtualizer};
1
+ export * from "./virtualizer-CkRX2qVO.js";
2
+ export {default} from "./virtualizer-CkRX2qVO.js";
@@ -0,0 +1 @@
1
+ import{i as e}from"./chunks/ui-CTQoglp3.js";import{a as t,c as n,f as r,l as i,n as a,o,s}from"./chunks/codecs-CQ7olTJL.js";import{i as c,r as l,t as u}from"./chunks/alpine-machine-CE2UN4Qu.js";import{n as d}from"./chunks/alpine-data-Dvc_bXq6.js";import{a as f,i as p,n as m,r as h,t as g}from"./chunks/core-Ybm_WmKr.js";import{n as _,t as v}from"./chunks/styles-CX2j92ex.js";import{t as y}from"./chunks/merge-bindings-BtqW3UgP.js";import{t as b}from"./chunks/machine-CNnHDbyo.js";export{a as bool,g as coreRuntime,g as default,u as createAlpineMachine,b as createMachine,l as createTransitionCoordinator,t as decodeProps,d as defineAlpineData,c as defineHook,h as defineManifest,o as defineProps,p as defineSchemaManifest,v as defineStyles,s as json,y as mergeBindings,n as number,i as oneOf,f as propsFromSchema,m as registerTransitionDirective,_ as resolveStyle,r as string,e as ui};
@@ -1 +1,2 @@
1
- import{i as e}from"./chunks/ui-CTQoglp3.js";import{a as t,c as n,f as r,l as i,n as a,o,s}from"./chunks/codecs-CQ7olTJL.js";import{i as c,r as l,t as u}from"./chunks/alpine-machine-CE2UN4Qu.js";import{n as d}from"./chunks/alpine-data-Dvc_bXq6.js";import{a as f,i as p,n as m,r as h,t as g}from"./chunks/core-Ybm_WmKr.js";import{n as _,t as v}from"./chunks/styles-CX2j92ex.js";import{t as y}from"./chunks/merge-bindings-BtqW3UgP.js";import{t as b}from"./chunks/machine-CNnHDbyo.js";export{a as bool,g as coreRuntime,g as default,u as createAlpineMachine,b as createMachine,l as createTransitionCoordinator,t as decodeProps,d as defineAlpineData,c as defineHook,h as defineManifest,o as defineProps,p as defineSchemaManifest,v as defineStyles,s as json,y as mergeBindings,n as number,i as oneOf,f as propsFromSchema,m as registerTransitionDirective,_ as resolveStyle,r as string,e as ui};
1
+ export * from "./core-CRIj89v5.js";
2
+ export {default} from "./core-CRIj89v5.js";
@@ -0,0 +1,2 @@
1
+ import{i as e}from"./chunks/ui-CTQoglp3.js";import{n as ee}from"./chunks/bridge-DMrvM3JE.js";import{t}from"./chunks/motion-B90yNOaV.js";import{n as te,r as ne,t as re}from"./chunks/entry.generated-ChoqPigj.js";import{n,t as r}from"./chunks/capability-motion-D_BJBnwB.js";import{a as i,c as a,f as o,l as s,n as c,o as l,s as u}from"./chunks/codecs-CQ7olTJL.js";import{i as d,r as f,t as p}from"./chunks/alpine-machine-CE2UN4Qu.js";import{n as m}from"./chunks/alpine-data-Dvc_bXq6.js";import{a as h,i as g,n as _,r as v,t as y}from"./chunks/core-Ybm_WmKr.js";import{n as b,t as x}from"./chunks/styles-CX2j92ex.js";import{t as S}from"./chunks/merge-bindings-BtqW3UgP.js";import{t as C}from"./chunks/machine-CNnHDbyo.js";import{n as w,t as T}from"./chunks/entry.generated-B986Ob4f.js";import{n as E}from"./chunks/cursor-data-source-Do0FfF4Z.js";import{n as D,r as O,t as k}from"./chunks/capability-sortable-BDbURlVO.js";import{n as A,t as j}from"./chunks/capability-resizable-ByUbMIHF.js";import{n as M,t as N}from"./chunks/entry.generated-dcqwycC7.js";import{n as P,t as F}from"./chunks/entry.generated-oJwO9fIY.js";import{n as I,r as L,t as R}from"./chunks/entry.generated-D2es_Wi2.js";import{n as z,t as B}from"./chunks/entry.generated-2YvnuzOD.js";import{n as V,t as H}from"./chunks/entry.generated-CC6pQ0nu.js";import{n as U,t as W}from"./chunks/entry.generated-WRveW7p9.js";import{n as G,t as K}from"./chunks/entry.generated-C_SxTqg5.js";import{n as q,t as J}from"./chunks/entry.generated-DQtFqG0K.js";import{n as Y,t as X}from"./chunks/entry.generated-xjydizn-.js";import{n as ie,r as ae,t as oe}from"./chunks/entry.generated-BCTWp6Xu.js";import{n as se,t as ce}from"./chunks/entry.generated-BZWdGtgg.js";import{a as le,i as ue,n as de,o as fe,r as Z,t as pe}from"./chunks/capability-shortcut-DZUQHJ3A.js";import{t as me}from"./chunks/controller-C8xqwkr0.js";import{t as he}from"./chunks/entry.generated-HqE8R7N1.js";import{n as ge,r as _e,t as ve}from"./chunks/entry.generated-BgGSoQFS.js";import{n as ye,r as be,t as xe}from"./chunks/entry.generated-BSVJpGWu.js";import{n as Se,r as Ce,t as we}from"./chunks/entry.generated-CfYgsDun.js";import{n as Te,t as Ee}from"./chunks/entry.generated-BnqcHAaF.js";import{i as De,n as Oe,r as ke,t as Ae}from"./chunks/entry.generated-OT_bt7F2.js";import{n as je,t as Me}from"./chunks/entry.generated-CVWqQEed.js";import{n as Ne,t as Pe}from"./chunks/entry.generated-EqHVGr1d.js";import{n as Fe,t as Ie}from"./chunks/entry.generated-DDrayI_M.js";import{n as Le,r as Re,t as ze}from"./chunks/entry.generated-BITa8xFV.js";import{n as Be,t as Ve}from"./chunks/entry.generated-CqtsPVJy.js";import{n as He,t as Ue}from"./chunks/entry.generated-BQNpmLZO.js";import{_ as We,a as Ge,b as Ke,c as qe,d as Je,f as Ye,g as Xe,h as Ze,i as Qe,l as $e,m as et,n as tt,o as nt,p as rt,r as it,s as at,t as ot,u as st,v as ct,x as lt,y as ut}from"./chunks/entry.generated-O0hEhk-2.js";import{components as Q}from"./components/index-DzOKmgfj.js";var dt=`trellis:core.trellis:motion.trellis:resizable.trellis:sortable.trellis:shortcut.trellis:accordion.trellis:button.trellis:checkbox.trellis:date-picker.trellis:direct-upload.trellis:dropdown.trellis:field.trellis:file-upload.trellis:formset.trellis:import-mapper.trellis:input.trellis:keybinding.trellis:modal.trellis:panels.trellis:radio.trellis:scroll-area.trellis:select.trellis:sidebar.trellis:slider.trellis:switch.trellis:tabs.trellis:toast.trellis:tooltip.trellis:data-grid.trellis:virtualizer.trellis:table`.split(`.`),$=e=>{y(e),Q(e),ee(dt,e)};export{tt as TABLE_ALIGNS,it as TABLE_BORDERS,Qe as TABLE_COLUMN_SCOPES,Ge as TABLE_DENSITIES,nt as TABLE_FILTER_AS_VALUES,at as TABLE_LAYOUTS,qe as TABLE_ROW_HEADER_SCOPES,$e as TABLE_SORTS,st as TABLE_VALIGNS,Je as TABLE_VARIANTS,Ye as TABLE_WIDTHS,M as UiAccordion,I as UiCheckbox,L as UiCheckboxGroup,He as UiCursorVirtualizer,Be as UiDataGrid,z as UiDatePicker,V as UiDirectUpload,U as UiDropdown,G as UiField,q as UiFileUpload,Y as UiFormset,ie as UiImportMapper,se as UiInput,ge as UiModal,_e as UiModalTrigger,ye as UiPanelToggle,be as UiPanels,Se as UiRadio,Ce as UiRadioGroup,Te as UiScrollArea,w as UiSelect,Oe as UiSidebar,ke as UiSidebarEdge,De as UiSidebarToggle,je as UiSlider,Ne as UiSwitch,Fe as UiTabs,te as UiToast,ne as UiToastOutlet,Le as UiTooltip,E as UiVirtualizer,c as bool,Q as components,y as coreRuntime,p as createAlpineMachine,me as createKeybindingController,C as createMachine,A as createResizable,pe as createShortcutMatcher,O as createSortableRegistry,f as createTransitionCoordinator,i as decodeProps,$ as default,$ as trellisUi,m as defineAlpineData,d as defineHook,v as defineManifest,l as defineProps,g as defineSchemaManifest,x as defineStyles,de as formatShortcut,Z as formatShortcutKeys,u as json,ae as mappingProjection,S as mergeBindings,t as motion,a as number,ue as observePressedShortcutKeys,s as oneOf,le as parseShortcut,h as propsFromSchema,N as registerAccordion,n as registerBoundsDirective,F as registerButton,R as registerCheckbox,Ve as registerDataGrid,B as registerDatePicker,H as registerDirectUpload,W as registerDropdown,K as registerField,J as registerFileUpload,X as registerFormset,oe as registerImportMapper,ce as registerInput,he as registerKeybinding,ve as registerModal,r as registerMotionCapability,xe as registerPanels,we as registerRadio,j as registerResizableCapability,Ee as registerScrollArea,T as registerSelect,fe as registerShortcutCapability,Ae as registerSidebar,Me as registerSlider,k as registerSortableCapability,D as registerSortableDirective,Pe as registerSwitch,ot as registerTable,Ie as registerTabs,re as registerToast,ze as registerTooltip,Re as registerTooltipDirective,_ as registerTransitionDirective,Ue as registerVirtualizer,b as resolveStyle,o as string,rt as tableCaptionSchema,et as tableCellSchema,Ze as tableColumnFilterSchema,Xe as tableColumnSchema,We as tableEmptySchema,ct as tableRowHeaderSchema,ut as tableRowSchema,Ke as tableSchema,lt as tableSectionSchema,e as ui,P as unregisterButton};
2
+ //# sourceMappingURL=index-CL7BWKcd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-CL7BWKcd.js","names":[],"sources":["../../../../../../../client/src/assets/full-runtime.generated.ts","../../../../../../../client/src/index.ts"],"sourcesContent":["// Generated by scripts/generate_component_entries.mjs from packages/client/component-entries.json.\n// Do not edit by hand.\nconst fullRuntimeAssetIds = [\n 'trellis:core',\n 'trellis:motion',\n 'trellis:resizable',\n 'trellis:sortable',\n 'trellis:shortcut',\n 'trellis:accordion',\n 'trellis:button',\n 'trellis:checkbox',\n 'trellis:date-picker',\n 'trellis:direct-upload',\n 'trellis:dropdown',\n 'trellis:field',\n 'trellis:file-upload',\n 'trellis:formset',\n 'trellis:import-mapper',\n 'trellis:input',\n 'trellis:keybinding',\n 'trellis:modal',\n 'trellis:panels',\n 'trellis:radio',\n 'trellis:scroll-area',\n 'trellis:select',\n 'trellis:sidebar',\n 'trellis:slider',\n 'trellis:switch',\n 'trellis:tabs',\n 'trellis:toast',\n 'trellis:tooltip',\n 'trellis:data-grid',\n 'trellis:virtualizer',\n 'trellis:table',\n] as const;\n\nexport {fullRuntimeAssetIds};\n","import type {Alpine as AlpineType} from 'alpinejs';\n\nimport {markAssetsRegistered} from './assets/bridge';\nimport {fullRuntimeAssetIds} from './assets/full-runtime.generated';\nimport components from './components/entry.generated';\nimport coreRuntime from './core';\n\ntype TrellisUIPlugin = (AlpineInstance: AlpineType) => void;\n\nconst trellisUi: TrellisUIPlugin = (AlpineInstance): void => {\n coreRuntime(AlpineInstance);\n components(AlpineInstance);\n markAssetsRegistered(fullRuntimeAssetIds, AlpineInstance);\n};\n\nexport {trellisUi};\nexport default trellisUi;\nexport type {TrellisUIPlugin};\nexport * from './core';\nexport * from './components/entry.generated';\n"],"mappings":"65FAEA,IAAM,GAAsB,4gBAgC5B,ECzBM,EAA8B,GAAyB,CACzD,EAAY,CAAc,EAC1B,EAAW,CAAc,EACzB,GAAqB,GAAqB,CAAc,CAC5D"}