@adaptive-ds/solid-ui 0.11.0 → 0.12.2

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 (155) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +219 -0
  3. package/dist/demo_pages/LinkBlock.js +1 -1
  4. package/dist/demo_pages/generateDemoRoutes.js +3 -3
  5. package/dist/generate_demo_list/generateDemoList.js +1 -1
  6. package/dist/generate_demo_list/parts/formatGeneratedCodeFile.d.ts +1 -1
  7. package/dist/generate_demo_list/parts/formatGeneratedCodeFile.js +1 -1
  8. package/dist/input/check/CheckBoolean.js +1 -1
  9. package/dist/input/check/CheckBooleanSingle.js +1 -1
  10. package/dist/input/check/CheckMultiple.js +1 -1
  11. package/dist/input/check/CheckSingle.js +1 -1
  12. package/dist/input/check/Checkbox.js +1 -1
  13. package/dist/input/fieldset/Fieldset.js +1 -1
  14. package/dist/input/input/Input.js +1 -1
  15. package/dist/input/input/InputDatalist.js +2 -2
  16. package/dist/input/label/Label.js +1 -1
  17. package/dist/input/label/LabelAsterix.js +1 -1
  18. package/dist/input/label/LabelPseudo.js +1 -1
  19. package/dist/input/label/LabelWithInfo.js +1 -1
  20. package/dist/input/label/LabelWithSubtitle.js +1 -1
  21. package/dist/input/number/NumberInputS.js +2 -2
  22. package/dist/input/select/SelectMultiple.js +1 -1
  23. package/dist/input/select/SelectSingleNative.js +1 -1
  24. package/dist/input/switch/SwitchSingle.js +1 -1
  25. package/dist/input/textarea/Textarea.js +1 -1
  26. package/dist/interactive/button/Button.js +1 -1
  27. package/dist/interactive/button/ButtonIcon1.js +1 -1
  28. package/dist/interactive/button/ButtonIconOnly.js +1 -1
  29. package/dist/interactive/details/Details.js +1 -1
  30. package/dist/interactive/dialog/CorvuDialog.js +1 -1
  31. package/dist/interactive/dialog/CorvuDialogIcon.js +1 -1
  32. package/dist/interactive/layout/SidebarLayout.js +1 -1
  33. package/dist/interactive/link/LinkButton.js +1 -1
  34. package/dist/interactive/link/LinkButtonIconOnly.js +1 -1
  35. package/dist/interactive/link/LinkText.js +1 -1
  36. package/dist/interactive/list/BulletLinks.js +1 -1
  37. package/dist/interactive/tabs/TabsTop.js +1 -1
  38. package/dist/interactive/theme/themeSignal.js +1 -1
  39. package/dist/interactive/toast/Toast.js +1 -1
  40. package/dist/interactive/toast/Toaster.js +1 -1
  41. package/dist/interactive/toggle/ToggleButtonIconOnly.js +1 -1
  42. package/dist/node_modules/@adaptive-ds/utils/dist/bun/runCmdAsync.js +45 -0
  43. package/dist/node_modules/@adaptive-ds/utils/dist/bun/runCmdAsync.js.map +1 -0
  44. package/dist/node_modules/@adaptive-ds/utils/dist/int/safeParseInt.js +10 -0
  45. package/dist/node_modules/@adaptive-ds/utils/dist/int/safeParseInt.js.map +1 -0
  46. package/dist/node_modules/@adaptive-ds/utils/dist/json/jsonStringifyPretty.js +7 -0
  47. package/dist/node_modules/@adaptive-ds/utils/dist/json/jsonStringifyPretty.js.map +1 -0
  48. package/dist/node_modules/@adaptive-ds/utils/dist/obj/objectEntries.js +5 -0
  49. package/dist/node_modules/@adaptive-ds/utils/dist/obj/objectEntries.js.map +1 -0
  50. package/dist/node_modules/@adaptive-ds/utils/dist/obj/objectKeys.js +5 -0
  51. package/dist/node_modules/@adaptive-ds/utils/dist/obj/objectKeys.js.map +1 -0
  52. package/dist/node_modules/@adaptive-ds/utils/dist/ran/generateId12.js +9 -0
  53. package/dist/node_modules/@adaptive-ds/utils/dist/ran/generateId12.js.map +1 -0
  54. package/dist/node_modules/@adaptive-ds/utils/dist/ran/generateReadableId.js +29 -0
  55. package/dist/node_modules/@adaptive-ds/utils/dist/ran/generateReadableId.js.map +1 -0
  56. package/dist/node_modules/@adaptive-ds/utils/dist/ran/urlAlphabet32.js +5 -0
  57. package/dist/node_modules/@adaptive-ds/utils/dist/ran/urlAlphabet32.js.map +1 -0
  58. package/dist/node_modules/@corvu/dialog/dist/index.js +537 -0
  59. package/dist/node_modules/@corvu/dialog/dist/index.js.map +1 -0
  60. package/dist/node_modules/@corvu/popover/dist/index.js +267 -0
  61. package/dist/node_modules/@corvu/popover/dist/index.js.map +1 -0
  62. package/dist/node_modules/@corvu/popover/node_modules/@corvu/utils/dist/chunk/74BWZKBI.js +7 -0
  63. package/dist/node_modules/@corvu/popover/node_modules/@corvu/utils/dist/chunk/74BWZKBI.js.map +1 -0
  64. package/dist/node_modules/@corvu/popover/node_modules/@corvu/utils/dist/chunk/NVYXOAAC.js +22 -0
  65. package/dist/node_modules/@corvu/popover/node_modules/@corvu/utils/dist/chunk/NVYXOAAC.js.map +1 -0
  66. package/dist/node_modules/@corvu/popover/node_modules/@corvu/utils/dist/chunk/U42ECMND.js +16 -0
  67. package/dist/node_modules/@corvu/popover/node_modules/@corvu/utils/dist/chunk/U42ECMND.js.map +1 -0
  68. package/dist/node_modules/@corvu/popover/node_modules/@corvu/utils/dist/chunk/UKBPAEF5.js +23 -0
  69. package/dist/node_modules/@corvu/popover/node_modules/@corvu/utils/dist/chunk/UKBPAEF5.js.map +1 -0
  70. package/dist/node_modules/@corvu/popover/node_modules/@corvu/utils/dist/chunk/WR7IK7QK.js +41 -0
  71. package/dist/node_modules/@corvu/popover/node_modules/@corvu/utils/dist/chunk/WR7IK7QK.js.map +1 -0
  72. package/dist/node_modules/@corvu/popover/node_modules/@corvu/utils/dist/components/FloatingArrow.js +72 -0
  73. package/dist/node_modules/@corvu/popover/node_modules/@corvu/utils/dist/components/FloatingArrow.js.map +1 -0
  74. package/dist/node_modules/@corvu/popover/node_modules/@corvu/utils/dist/create/floating.js +132 -0
  75. package/dist/node_modules/@corvu/popover/node_modules/@corvu/utils/dist/create/floating.js.map +1 -0
  76. package/dist/node_modules/@corvu/popover/node_modules/@corvu/utils/dist/create/keyedContext.js +20 -0
  77. package/dist/node_modules/@corvu/popover/node_modules/@corvu/utils/dist/create/keyedContext.js.map +1 -0
  78. package/dist/node_modules/@corvu/popover/node_modules/@corvu/utils/dist/create/once.js +18 -0
  79. package/dist/node_modules/@corvu/popover/node_modules/@corvu/utils/dist/create/once.js.map +1 -0
  80. package/dist/node_modules/@corvu/utils/dist/chunk/74BWZKBI.js +18 -0
  81. package/dist/node_modules/@corvu/utils/dist/chunk/74BWZKBI.js.map +1 -0
  82. package/dist/node_modules/@corvu/utils/dist/chunk/GZJAOTUE.js +45 -0
  83. package/dist/node_modules/@corvu/utils/dist/chunk/GZJAOTUE.js.map +1 -0
  84. package/dist/node_modules/@corvu/utils/dist/chunk/U42ECMND.js +20 -0
  85. package/dist/node_modules/@corvu/utils/dist/chunk/U42ECMND.js.map +1 -0
  86. package/dist/node_modules/@corvu/utils/dist/chunk/UKBPAEF5.js +52 -0
  87. package/dist/node_modules/@corvu/utils/dist/chunk/UKBPAEF5.js.map +1 -0
  88. package/dist/node_modules/@corvu/utils/dist/chunk/XJFCWSNS.js +11 -0
  89. package/dist/node_modules/@corvu/utils/dist/chunk/XJFCWSNS.js.map +1 -0
  90. package/dist/node_modules/@corvu/utils/dist/create/controllableSignal.js +29 -0
  91. package/dist/node_modules/@corvu/utils/dist/create/controllableSignal.js.map +1 -0
  92. package/dist/node_modules/@corvu/utils/dist/create/keyedContext.js +20 -0
  93. package/dist/node_modules/@corvu/utils/dist/create/keyedContext.js.map +1 -0
  94. package/dist/node_modules/@corvu/utils/dist/create/once.js +18 -0
  95. package/dist/node_modules/@corvu/utils/dist/create/once.js.map +1 -0
  96. package/dist/node_modules/@corvu/utils/dist/create/register.js +22 -0
  97. package/dist/node_modules/@corvu/utils/dist/create/register.js.map +1 -0
  98. package/dist/node_modules/@corvu/utils/dist/create/style.js +51 -0
  99. package/dist/node_modules/@corvu/utils/dist/create/style.js.map +1 -0
  100. package/dist/node_modules/@corvu/utils/dist/scroll/index.js +39 -0
  101. package/dist/node_modules/@corvu/utils/dist/scroll/index.js.map +1 -0
  102. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js +878 -0
  103. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js.map +1 -0
  104. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +628 -0
  105. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js.map +1 -0
  106. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +174 -0
  107. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js.map +1 -0
  108. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +159 -0
  109. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.js.map +1 -0
  110. package/dist/node_modules/image-size/dist/index.js +942 -0
  111. package/dist/node_modules/image-size/dist/index.js.map +1 -0
  112. package/dist/node_modules/solid-dismissible/dist/index.js +253 -0
  113. package/dist/node_modules/solid-dismissible/dist/index.js.map +1 -0
  114. package/dist/node_modules/solid-focus-trap/dist/index.js +164 -0
  115. package/dist/node_modules/solid-focus-trap/dist/index.js.map +1 -0
  116. package/dist/node_modules/solid-presence/dist/index.js +73 -0
  117. package/dist/node_modules/solid-presence/dist/index.js.map +1 -0
  118. package/dist/node_modules/solid-prevent-scroll/dist/index.js +160 -0
  119. package/dist/node_modules/solid-prevent-scroll/dist/index.js.map +1 -0
  120. package/dist/static/badge/Badge.js +1 -1
  121. package/dist/static/container/CardWrapper.js +1 -1
  122. package/dist/static/dev/TailwindIndicator.js +1 -1
  123. package/dist/static/grid/FeatureGridSection.js +1 -1
  124. package/dist/static/icon/Icon.js +1 -1
  125. package/dist/static/icon/IconGoogle.js +1 -1
  126. package/dist/static/icons/iconApple.d.ts +2 -0
  127. package/dist/static/icons/iconApple.d.ts.map +1 -0
  128. package/dist/static/icons/iconApple.js +5 -0
  129. package/dist/static/icons/iconApple.js.map +1 -0
  130. package/dist/static/icons/iconGooglePlay.d.ts +2 -0
  131. package/dist/static/icons/iconGooglePlay.d.ts.map +1 -0
  132. package/dist/static/icons/iconGooglePlay.js +5 -0
  133. package/dist/static/icons/iconGooglePlay.js.map +1 -0
  134. package/dist/static/img/Img.js +1 -1
  135. package/dist/static/lists/BlackBulletPoint.js +1 -1
  136. package/dist/static/lists/BlueBulletPoint.js +1 -1
  137. package/dist/static/loaders/LoaderShuffle4Dots.js +1 -1
  138. package/dist/static/loaders/LoaderShuffle9Squares.js +1 -1
  139. package/dist/static/loaders/LoaderSpin4Square.js +1 -1
  140. package/dist/static/loaders/LoadingPage.js +1 -1
  141. package/dist/static/logo/LogoImageText.js +1 -1
  142. package/dist/static/page/PageWrapper.js +1 -1
  143. package/dist/static/pages/ErrorPage.js +1 -1
  144. package/dist/static/pages/SuccessPage.js +1 -1
  145. package/dist/static/separator/SeparatorOr.js +1 -1
  146. package/dist/static/separator/SeparatorWithText.js +1 -1
  147. package/dist/static/timeline/Timeline.js +1 -1
  148. package/dist/table/Table.js +1 -1
  149. package/dist/table/table1/Table1D.js +1 -1
  150. package/dist/table/table1/Table1M.js +1 -1
  151. package/dist/table/table1/Table1MEntry.js +1 -1
  152. package/dist/table/table2/Table2D.js +1 -1
  153. package/dist/table/table2/Table2M.js +1 -1
  154. package/dist/table/table2/Table2MEntry.js +1 -1
  155. package/package.json +16 -18
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../node_modules/image-size/dist/index.mjs"],"sourcesContent":["// lib/types/utils.ts\nvar decoder = new TextDecoder();\nvar toUTF8String = (input, start = 0, end = input.length) => decoder.decode(input.slice(start, end));\nvar toHexString = (input, start = 0, end = input.length) => input.slice(start, end).reduce((memo, i) => memo + `0${i.toString(16)}`.slice(-2), \"\");\nvar getView = (input, offset) => new DataView(input.buffer, input.byteOffset + offset);\nvar readInt16LE = (input, offset = 0) => getView(input, offset).getInt16(0, true);\nvar readUInt16BE = (input, offset = 0) => getView(input, offset).getUint16(0, false);\nvar readUInt16LE = (input, offset = 0) => getView(input, offset).getUint16(0, true);\nvar readUInt24LE = (input, offset = 0) => {\n const view = getView(input, offset);\n return view.getUint16(0, true) + (view.getUint8(2) << 16);\n};\nvar readInt32LE = (input, offset = 0) => getView(input, offset).getInt32(0, true);\nvar readUInt32BE = (input, offset = 0) => getView(input, offset).getUint32(0, false);\nvar readUInt32LE = (input, offset = 0) => getView(input, offset).getUint32(0, true);\nvar readUInt64 = (input, offset, isBigEndian) => getView(input, offset).getBigUint64(0, !isBigEndian);\nvar methods = {\n readUInt16BE,\n readUInt16LE,\n readUInt32BE,\n readUInt32LE\n};\nfunction readUInt(input, bits, offset = 0, isBigEndian = false) {\n const endian = isBigEndian ? \"BE\" : \"LE\";\n const methodName = `readUInt${bits}${endian}`;\n return methods[methodName](input, offset);\n}\nfunction readBox(input, offset) {\n if (input.length - offset < 4) return;\n const boxSize = readUInt32BE(input, offset);\n if (input.length - offset < boxSize) return;\n return {\n name: toUTF8String(input, 4 + offset, 8 + offset),\n offset,\n size: boxSize\n };\n}\nfunction findBox(input, boxName, currentOffset) {\n while (currentOffset < input.length) {\n const box = readBox(input, currentOffset);\n if (!box) break;\n if (box.name === boxName) return box;\n currentOffset += box.size > 0 ? box.size : 8;\n }\n}\n\n// lib/types/bmp.ts\nvar BMP = {\n validate: (input) => toUTF8String(input, 0, 2) === \"BM\",\n calculate: (input) => ({\n height: Math.abs(readInt32LE(input, 22)),\n width: readUInt32LE(input, 18)\n })\n};\n\n// lib/types/ico.ts\nvar TYPE_ICON = 1;\nvar SIZE_HEADER = 2 + 2 + 2;\nvar SIZE_IMAGE_ENTRY = 1 + 1 + 1 + 1 + 2 + 2 + 4 + 4;\nfunction getSizeFromOffset(input, offset) {\n const value = input[offset];\n return value === 0 ? 256 : value;\n}\nfunction getImageSize(input, imageIndex) {\n const offset = SIZE_HEADER + imageIndex * SIZE_IMAGE_ENTRY;\n return {\n height: getSizeFromOffset(input, offset + 1),\n width: getSizeFromOffset(input, offset)\n };\n}\nvar ICO = {\n validate(input) {\n const reserved = readUInt16LE(input, 0);\n const imageCount = readUInt16LE(input, 4);\n if (reserved !== 0 || imageCount === 0) return false;\n const imageType = readUInt16LE(input, 2);\n return imageType === TYPE_ICON;\n },\n calculate(input) {\n const nbImages = readUInt16LE(input, 4);\n const imageSize2 = getImageSize(input, 0);\n if (nbImages === 1) return imageSize2;\n const images = [];\n for (let imageIndex = 0; imageIndex < nbImages; imageIndex += 1) {\n images.push(getImageSize(input, imageIndex));\n }\n return {\n width: imageSize2.width,\n height: imageSize2.height,\n images\n };\n }\n};\n\n// lib/types/cur.ts\nvar TYPE_CURSOR = 2;\nvar CUR = {\n validate(input) {\n const reserved = readUInt16LE(input, 0);\n const imageCount = readUInt16LE(input, 4);\n if (reserved !== 0 || imageCount === 0) return false;\n const imageType = readUInt16LE(input, 2);\n return imageType === TYPE_CURSOR;\n },\n calculate: (input) => ICO.calculate(input)\n};\n\n// lib/types/dds.ts\nvar DDS = {\n validate: (input) => readUInt32LE(input, 0) === 542327876,\n calculate: (input) => ({\n height: readUInt32LE(input, 12),\n width: readUInt32LE(input, 16)\n })\n};\n\n// lib/types/gif.ts\nvar gifRegexp = /^GIF8[79]a/;\nvar GIF = {\n validate: (input) => gifRegexp.test(toUTF8String(input, 0, 6)),\n calculate: (input) => ({\n height: readUInt16LE(input, 8),\n width: readUInt16LE(input, 6)\n })\n};\n\n// lib/types/heif.ts\nvar brandMap = {\n avif: \"avif\",\n mif1: \"heif\",\n msf1: \"heif\",\n // heif-sequence\n heic: \"heic\",\n heix: \"heic\",\n hevc: \"heic\",\n // heic-sequence\n hevx: \"heic\"\n // heic-sequence\n};\nvar HEIF = {\n validate(input) {\n const boxType = toUTF8String(input, 4, 8);\n if (boxType !== \"ftyp\") return false;\n const ftypBox = findBox(input, \"ftyp\", 0);\n if (!ftypBox) return false;\n const brand = toUTF8String(input, ftypBox.offset + 8, ftypBox.offset + 12);\n return brand in brandMap;\n },\n calculate(input) {\n const metaBox = findBox(input, \"meta\", 0);\n const iprpBox = metaBox && findBox(input, \"iprp\", metaBox.offset + 12);\n const ipcoBox = iprpBox && findBox(input, \"ipco\", iprpBox.offset + 8);\n if (!ipcoBox) {\n throw new TypeError(\"Invalid HEIF, no ipco box found\");\n }\n const type = toUTF8String(input, 8, 12);\n const images = [];\n let currentOffset = ipcoBox.offset + 8;\n while (currentOffset < ipcoBox.offset + ipcoBox.size) {\n const ispeBox = findBox(input, \"ispe\", currentOffset);\n if (!ispeBox) break;\n const rawWidth = readUInt32BE(input, ispeBox.offset + 12);\n const rawHeight = readUInt32BE(input, ispeBox.offset + 16);\n const clapBox = findBox(input, \"clap\", currentOffset);\n let width = rawWidth;\n let height = rawHeight;\n if (clapBox && clapBox.offset < ipcoBox.offset + ipcoBox.size) {\n const cropRight = readUInt32BE(input, clapBox.offset + 12);\n width = rawWidth - cropRight;\n }\n images.push({ height, width });\n currentOffset = ispeBox.offset + ispeBox.size;\n }\n if (images.length === 0) {\n throw new TypeError(\"Invalid HEIF, no sizes found\");\n }\n return {\n width: images[0].width,\n height: images[0].height,\n type,\n ...images.length > 1 ? { images } : {}\n };\n }\n};\n\n// lib/types/icns.ts\nvar SIZE_HEADER2 = 4 + 4;\nvar FILE_LENGTH_OFFSET = 4;\nvar ENTRY_LENGTH_OFFSET = 4;\nvar ICON_TYPE_SIZE = {\n ICON: 32,\n \"ICN#\": 32,\n // m => 16 x 16\n \"icm#\": 16,\n icm4: 16,\n icm8: 16,\n // s => 16 x 16\n \"ics#\": 16,\n ics4: 16,\n ics8: 16,\n is32: 16,\n s8mk: 16,\n icp4: 16,\n // l => 32 x 32\n icl4: 32,\n icl8: 32,\n il32: 32,\n l8mk: 32,\n icp5: 32,\n ic11: 32,\n // h => 48 x 48\n ich4: 48,\n ich8: 48,\n ih32: 48,\n h8mk: 48,\n // . => 64 x 64\n icp6: 64,\n ic12: 32,\n // t => 128 x 128\n it32: 128,\n t8mk: 128,\n ic07: 128,\n // . => 256 x 256\n ic08: 256,\n ic13: 256,\n // . => 512 x 512\n ic09: 512,\n ic14: 512,\n // . => 1024 x 1024\n ic10: 1024\n};\nfunction readImageHeader(input, imageOffset) {\n const imageLengthOffset = imageOffset + ENTRY_LENGTH_OFFSET;\n return [\n toUTF8String(input, imageOffset, imageLengthOffset),\n readUInt32BE(input, imageLengthOffset)\n ];\n}\nfunction getImageSize2(type) {\n const size = ICON_TYPE_SIZE[type];\n return { width: size, height: size, type };\n}\nvar ICNS = {\n validate: (input) => toUTF8String(input, 0, 4) === \"icns\",\n calculate(input) {\n const inputLength = input.length;\n const fileLength = readUInt32BE(input, FILE_LENGTH_OFFSET);\n let imageOffset = SIZE_HEADER2;\n const images = [];\n while (imageOffset < fileLength && imageOffset < inputLength) {\n const imageHeader = readImageHeader(input, imageOffset);\n const imageSize2 = getImageSize2(imageHeader[0]);\n images.push(imageSize2);\n imageOffset += imageHeader[1];\n }\n if (images.length === 0) {\n throw new TypeError(\"Invalid ICNS, no sizes found\");\n }\n return {\n width: images[0].width,\n height: images[0].height,\n ...images.length > 1 ? { images } : {}\n };\n }\n};\n\n// lib/types/j2c.ts\nvar J2C = {\n // TODO: this doesn't seem right. SIZ marker doesn't have to be right after the SOC\n validate: (input) => readUInt32BE(input, 0) === 4283432785,\n calculate: (input) => ({\n height: readUInt32BE(input, 12),\n width: readUInt32BE(input, 8)\n })\n};\n\n// lib/types/jp2.ts\nvar JP2 = {\n validate(input) {\n const boxType = toUTF8String(input, 4, 8);\n if (boxType !== \"jP \") return false;\n const ftypBox = findBox(input, \"ftyp\", 0);\n if (!ftypBox) return false;\n const brand = toUTF8String(input, ftypBox.offset + 8, ftypBox.offset + 12);\n return brand === \"jp2 \";\n },\n calculate(input) {\n const jp2hBox = findBox(input, \"jp2h\", 0);\n const ihdrBox = jp2hBox && findBox(input, \"ihdr\", jp2hBox.offset + 8);\n if (ihdrBox) {\n return {\n height: readUInt32BE(input, ihdrBox.offset + 8),\n width: readUInt32BE(input, ihdrBox.offset + 12)\n };\n }\n throw new TypeError(\"Unsupported JPEG 2000 format\");\n }\n};\n\n// lib/types/jpg.ts\nvar EXIF_MARKER = \"45786966\";\nvar APP1_DATA_SIZE_BYTES = 2;\nvar EXIF_HEADER_BYTES = 6;\nvar TIFF_BYTE_ALIGN_BYTES = 2;\nvar BIG_ENDIAN_BYTE_ALIGN = \"4d4d\";\nvar LITTLE_ENDIAN_BYTE_ALIGN = \"4949\";\nvar IDF_ENTRY_BYTES = 12;\nvar NUM_DIRECTORY_ENTRIES_BYTES = 2;\nfunction isEXIF(input) {\n return toHexString(input, 2, 6) === EXIF_MARKER;\n}\nfunction extractSize(input, index) {\n return {\n height: readUInt16BE(input, index),\n width: readUInt16BE(input, index + 2)\n };\n}\nfunction extractOrientation(exifBlock, isBigEndian) {\n const idfOffset = 8;\n const offset = EXIF_HEADER_BYTES + idfOffset;\n const idfDirectoryEntries = readUInt(exifBlock, 16, offset, isBigEndian);\n for (let directoryEntryNumber = 0; directoryEntryNumber < idfDirectoryEntries; directoryEntryNumber++) {\n const start = offset + NUM_DIRECTORY_ENTRIES_BYTES + directoryEntryNumber * IDF_ENTRY_BYTES;\n const end = start + IDF_ENTRY_BYTES;\n if (start > exifBlock.length) {\n return;\n }\n const block = exifBlock.slice(start, end);\n const tagNumber = readUInt(block, 16, 0, isBigEndian);\n if (tagNumber === 274) {\n const dataFormat = readUInt(block, 16, 2, isBigEndian);\n if (dataFormat !== 3) {\n return;\n }\n const numberOfComponents = readUInt(block, 32, 4, isBigEndian);\n if (numberOfComponents !== 1) {\n return;\n }\n return readUInt(block, 16, 8, isBigEndian);\n }\n }\n}\nfunction validateExifBlock(input, index) {\n const exifBlock = input.slice(APP1_DATA_SIZE_BYTES, index);\n const byteAlign = toHexString(\n exifBlock,\n EXIF_HEADER_BYTES,\n EXIF_HEADER_BYTES + TIFF_BYTE_ALIGN_BYTES\n );\n const isBigEndian = byteAlign === BIG_ENDIAN_BYTE_ALIGN;\n const isLittleEndian = byteAlign === LITTLE_ENDIAN_BYTE_ALIGN;\n if (isBigEndian || isLittleEndian) {\n return extractOrientation(exifBlock, isBigEndian);\n }\n}\nfunction validateInput(input, index) {\n if (index > input.length) {\n throw new TypeError(\"Corrupt JPG, exceeded buffer limits\");\n }\n}\nvar JPG = {\n validate: (input) => toHexString(input, 0, 2) === \"ffd8\",\n calculate(_input) {\n let input = _input.slice(4);\n let orientation;\n let next;\n while (input.length) {\n const i = readUInt16BE(input, 0);\n validateInput(input, i);\n if (input[i] !== 255) {\n input = input.slice(1);\n continue;\n }\n if (isEXIF(input)) {\n orientation = validateExifBlock(input, i);\n }\n next = input[i + 1];\n if (next === 192 || next === 193 || next === 194) {\n const size = extractSize(input, i + 5);\n if (!orientation) {\n return size;\n }\n return {\n height: size.height,\n orientation,\n width: size.width\n };\n }\n input = input.slice(i + 2);\n }\n throw new TypeError(\"Invalid JPG, no size found\");\n }\n};\n\n// lib/utils/bit-reader.ts\nvar BitReader = class {\n constructor(input, endianness) {\n this.input = input;\n this.endianness = endianness;\n // Skip the first 16 bits (2 bytes) of signature\n this.byteOffset = 2;\n this.bitOffset = 0;\n }\n /** Reads a specified number of bits, and move the offset */\n getBits(length = 1) {\n let result = 0;\n let bitsRead = 0;\n while (bitsRead < length) {\n if (this.byteOffset >= this.input.length) {\n throw new Error(\"Reached end of input\");\n }\n const currentByte = this.input[this.byteOffset];\n const bitsLeft = 8 - this.bitOffset;\n const bitsToRead = Math.min(length - bitsRead, bitsLeft);\n if (this.endianness === \"little-endian\") {\n const mask = (1 << bitsToRead) - 1;\n const bits = currentByte >> this.bitOffset & mask;\n result |= bits << bitsRead;\n } else {\n const mask = (1 << bitsToRead) - 1 << 8 - this.bitOffset - bitsToRead;\n const bits = (currentByte & mask) >> 8 - this.bitOffset - bitsToRead;\n result = result << bitsToRead | bits;\n }\n bitsRead += bitsToRead;\n this.bitOffset += bitsToRead;\n if (this.bitOffset === 8) {\n this.byteOffset++;\n this.bitOffset = 0;\n }\n }\n return result;\n }\n};\n\n// lib/types/jxl-stream.ts\nfunction calculateImageDimension(reader, isSmallImage) {\n if (isSmallImage) {\n return 8 * (1 + reader.getBits(5));\n }\n const sizeClass = reader.getBits(2);\n const extraBits = [9, 13, 18, 30][sizeClass];\n return 1 + reader.getBits(extraBits);\n}\nfunction calculateImageWidth(reader, isSmallImage, widthMode, height) {\n if (isSmallImage && widthMode === 0) {\n return 8 * (1 + reader.getBits(5));\n }\n if (widthMode === 0) {\n return calculateImageDimension(reader, false);\n }\n const aspectRatios = [1, 1.2, 4 / 3, 1.5, 16 / 9, 5 / 4, 2];\n return Math.floor(height * aspectRatios[widthMode - 1]);\n}\nvar JXLStream = {\n validate: (input) => {\n return toHexString(input, 0, 2) === \"ff0a\";\n },\n calculate(input) {\n const reader = new BitReader(input, \"little-endian\");\n const isSmallImage = reader.getBits(1) === 1;\n const height = calculateImageDimension(reader, isSmallImage);\n const widthMode = reader.getBits(3);\n const width = calculateImageWidth(reader, isSmallImage, widthMode, height);\n return { width, height };\n }\n};\n\n// lib/types/jxl.ts\nfunction extractCodestream(input) {\n const jxlcBox = findBox(input, \"jxlc\", 0);\n if (jxlcBox) {\n return input.slice(jxlcBox.offset + 8, jxlcBox.offset + jxlcBox.size);\n }\n const partialStreams = extractPartialStreams(input);\n if (partialStreams.length > 0) {\n return concatenateCodestreams(partialStreams);\n }\n return void 0;\n}\nfunction extractPartialStreams(input) {\n const partialStreams = [];\n let offset = 0;\n while (offset < input.length) {\n const jxlpBox = findBox(input, \"jxlp\", offset);\n if (!jxlpBox) break;\n partialStreams.push(\n input.slice(jxlpBox.offset + 12, jxlpBox.offset + jxlpBox.size)\n );\n offset = jxlpBox.offset + jxlpBox.size;\n }\n return partialStreams;\n}\nfunction concatenateCodestreams(partialCodestreams) {\n const totalLength = partialCodestreams.reduce(\n (acc, curr) => acc + curr.length,\n 0\n );\n const codestream = new Uint8Array(totalLength);\n let position = 0;\n for (const partial of partialCodestreams) {\n codestream.set(partial, position);\n position += partial.length;\n }\n return codestream;\n}\nvar JXL = {\n validate: (input) => {\n const boxType = toUTF8String(input, 4, 8);\n if (boxType !== \"JXL \") return false;\n const ftypBox = findBox(input, \"ftyp\", 0);\n if (!ftypBox) return false;\n const brand = toUTF8String(input, ftypBox.offset + 8, ftypBox.offset + 12);\n return brand === \"jxl \";\n },\n calculate(input) {\n const codestream = extractCodestream(input);\n if (codestream) return JXLStream.calculate(codestream);\n throw new Error(\"No codestream found in JXL container\");\n }\n};\n\n// lib/types/ktx.ts\nvar KTX = {\n validate: (input) => {\n const signature = toUTF8String(input, 1, 7);\n return [\"KTX 11\", \"KTX 20\"].includes(signature);\n },\n calculate: (input) => {\n const type = input[5] === 49 ? \"ktx\" : \"ktx2\";\n const offset = type === \"ktx\" ? 36 : 20;\n return {\n height: readUInt32LE(input, offset + 4),\n width: readUInt32LE(input, offset),\n type\n };\n }\n};\n\n// lib/types/png.ts\nvar pngSignature = \"PNG\\r\\n\u001a\\n\";\nvar pngImageHeaderChunkName = \"IHDR\";\nvar pngFriedChunkName = \"CgBI\";\nvar PNG = {\n validate(input) {\n if (pngSignature === toUTF8String(input, 1, 8)) {\n let chunkName = toUTF8String(input, 12, 16);\n if (chunkName === pngFriedChunkName) {\n chunkName = toUTF8String(input, 28, 32);\n }\n if (chunkName !== pngImageHeaderChunkName) {\n throw new TypeError(\"Invalid PNG\");\n }\n return true;\n }\n return false;\n },\n calculate(input) {\n if (toUTF8String(input, 12, 16) === pngFriedChunkName) {\n return {\n height: readUInt32BE(input, 36),\n width: readUInt32BE(input, 32)\n };\n }\n return {\n height: readUInt32BE(input, 20),\n width: readUInt32BE(input, 16)\n };\n }\n};\n\n// lib/types/pnm.ts\nvar PNMTypes = {\n P1: \"pbm/ascii\",\n P2: \"pgm/ascii\",\n P3: \"ppm/ascii\",\n P4: \"pbm\",\n P5: \"pgm\",\n P6: \"ppm\",\n P7: \"pam\",\n PF: \"pfm\"\n};\nvar handlers = {\n default: (lines) => {\n let dimensions = [];\n while (lines.length > 0) {\n const line = lines.shift();\n if (line[0] === \"#\") {\n continue;\n }\n dimensions = line.split(\" \");\n break;\n }\n if (dimensions.length === 2) {\n return {\n height: Number.parseInt(dimensions[1], 10),\n width: Number.parseInt(dimensions[0], 10)\n };\n }\n throw new TypeError(\"Invalid PNM\");\n },\n pam: (lines) => {\n const size = {};\n while (lines.length > 0) {\n const line = lines.shift();\n if (line.length > 16 || line.charCodeAt(0) > 128) {\n continue;\n }\n const [key, value] = line.split(\" \");\n if (key && value) {\n size[key.toLowerCase()] = Number.parseInt(value, 10);\n }\n if (size.height && size.width) {\n break;\n }\n }\n if (size.height && size.width) {\n return {\n height: size.height,\n width: size.width\n };\n }\n throw new TypeError(\"Invalid PAM\");\n }\n};\nvar PNM = {\n validate: (input) => toUTF8String(input, 0, 2) in PNMTypes,\n calculate(input) {\n const signature = toUTF8String(input, 0, 2);\n const type = PNMTypes[signature];\n const lines = toUTF8String(input, 3).split(/[\\r\\n]+/);\n const handler = handlers[type] || handlers.default;\n return handler(lines);\n }\n};\n\n// lib/types/psd.ts\nvar PSD = {\n validate: (input) => toUTF8String(input, 0, 4) === \"8BPS\",\n calculate: (input) => ({\n height: readUInt32BE(input, 14),\n width: readUInt32BE(input, 18)\n })\n};\n\n// lib/types/svg.ts\nvar svgReg = /<svg\\s([^>\"']|\"[^\"]*\"|'[^']*')*>/;\nvar extractorRegExps = {\n height: /\\sheight=(['\"])([^%]+?)\\1/,\n root: svgReg,\n viewbox: /\\sviewBox=(['\"])(.+?)\\1/i,\n width: /\\swidth=(['\"])([^%]+?)\\1/\n};\nvar INCH_CM = 2.54;\nvar units = {\n in: 96,\n cm: 96 / INCH_CM,\n em: 16,\n ex: 8,\n m: 96 / INCH_CM * 100,\n mm: 96 / INCH_CM / 10,\n pc: 96 / 72 / 12,\n pt: 96 / 72,\n px: 1\n};\nvar unitsReg = new RegExp(\n `^([0-9.]+(?:e\\\\d+)?)(${Object.keys(units).join(\"|\")})?$`\n);\nfunction parseLength(len) {\n const m = unitsReg.exec(len);\n if (!m) {\n return void 0;\n }\n return Math.round(Number(m[1]) * (units[m[2]] || 1));\n}\nfunction parseViewbox(viewbox) {\n const bounds = viewbox.split(\" \");\n return {\n height: parseLength(bounds[3]),\n width: parseLength(bounds[2])\n };\n}\nfunction parseAttributes(root) {\n const width = root.match(extractorRegExps.width);\n const height = root.match(extractorRegExps.height);\n const viewbox = root.match(extractorRegExps.viewbox);\n return {\n height: height && parseLength(height[2]),\n viewbox: viewbox && parseViewbox(viewbox[2]),\n width: width && parseLength(width[2])\n };\n}\nfunction calculateByDimensions(attrs) {\n return {\n height: attrs.height,\n width: attrs.width\n };\n}\nfunction calculateByViewbox(attrs, viewbox) {\n const ratio = viewbox.width / viewbox.height;\n if (attrs.width) {\n return {\n height: Math.floor(attrs.width / ratio),\n width: attrs.width\n };\n }\n if (attrs.height) {\n return {\n height: attrs.height,\n width: Math.floor(attrs.height * ratio)\n };\n }\n return {\n height: viewbox.height,\n width: viewbox.width\n };\n}\nvar SVG = {\n // Scan only the first kilo-byte to speed up the check on larger files\n validate: (input) => svgReg.test(toUTF8String(input, 0, 1e3)),\n calculate(input) {\n const root = toUTF8String(input).match(extractorRegExps.root);\n if (root) {\n const attrs = parseAttributes(root[0]);\n if (attrs.width && attrs.height) {\n return calculateByDimensions(attrs);\n }\n if (attrs.viewbox) {\n return calculateByViewbox(attrs, attrs.viewbox);\n }\n }\n throw new TypeError(\"Invalid SVG\");\n }\n};\n\n// lib/types/tga.ts\nvar TGA = {\n validate(input) {\n return readUInt16LE(input, 0) === 0 && readUInt16LE(input, 4) === 0;\n },\n calculate(input) {\n return {\n height: readUInt16LE(input, 14),\n width: readUInt16LE(input, 12)\n };\n }\n};\n\n// lib/types/tiff.ts\nvar CONSTANTS = {\n TAG: {\n WIDTH: 256,\n HEIGHT: 257,\n COMPRESSION: 259\n },\n TYPE: {\n SHORT: 3,\n LONG: 4,\n LONG8: 16\n },\n ENTRY_SIZE: {\n STANDARD: 12,\n BIG: 20\n },\n COUNT_SIZE: {\n STANDARD: 2,\n BIG: 8\n }\n};\nfunction readIFD(input, { isBigEndian, isBigTiff }) {\n const ifdOffset = isBigTiff ? Number(readUInt64(input, 8, isBigEndian)) : readUInt(input, 32, 4, isBigEndian);\n const entryCountSize = isBigTiff ? CONSTANTS.COUNT_SIZE.BIG : CONSTANTS.COUNT_SIZE.STANDARD;\n return input.slice(ifdOffset + entryCountSize);\n}\nfunction readTagValue(input, type, offset, isBigEndian) {\n switch (type) {\n case CONSTANTS.TYPE.SHORT:\n return readUInt(input, 16, offset, isBigEndian);\n case CONSTANTS.TYPE.LONG:\n return readUInt(input, 32, offset, isBigEndian);\n case CONSTANTS.TYPE.LONG8: {\n const value = Number(readUInt64(input, offset, isBigEndian));\n if (value > Number.MAX_SAFE_INTEGER) {\n throw new TypeError(\"Value too large\");\n }\n return value;\n }\n default:\n return 0;\n }\n}\nfunction nextTag(input, isBigTiff) {\n const entrySize = isBigTiff ? CONSTANTS.ENTRY_SIZE.BIG : CONSTANTS.ENTRY_SIZE.STANDARD;\n if (input.length > entrySize) {\n return input.slice(entrySize);\n }\n}\nfunction extractTags(input, { isBigEndian, isBigTiff }) {\n const tags = {};\n let temp = input;\n while (temp?.length) {\n const code = readUInt(temp, 16, 0, isBigEndian);\n const type = readUInt(temp, 16, 2, isBigEndian);\n const length = isBigTiff ? Number(readUInt64(temp, 4, isBigEndian)) : readUInt(temp, 32, 4, isBigEndian);\n if (code === 0) break;\n if (length === 1 && (type === CONSTANTS.TYPE.SHORT || type === CONSTANTS.TYPE.LONG || isBigTiff && type === CONSTANTS.TYPE.LONG8)) {\n const valueOffset = isBigTiff ? 12 : 8;\n tags[code] = readTagValue(temp, type, valueOffset, isBigEndian);\n }\n temp = nextTag(temp, isBigTiff);\n }\n return tags;\n}\nfunction determineFormat(input) {\n const signature = toUTF8String(input, 0, 2);\n const version = readUInt(input, 16, 2, signature === \"MM\");\n return {\n isBigEndian: signature === \"MM\",\n isBigTiff: version === 43\n };\n}\nfunction validateBigTIFFHeader(input, isBigEndian) {\n const byteSize = readUInt(input, 16, 4, isBigEndian);\n const reserved = readUInt(input, 16, 6, isBigEndian);\n if (byteSize !== 8 || reserved !== 0) {\n throw new TypeError(\"Invalid BigTIFF header\");\n }\n}\nvar signatures = /* @__PURE__ */ new Set([\n \"49492a00\",\n // Little Endian\n \"4d4d002a\",\n // Big Endian\n \"49492b00\",\n // BigTIFF Little Endian\n \"4d4d002b\"\n // BigTIFF Big Endian\n]);\nvar TIFF = {\n validate: (input) => {\n const signature = toHexString(input, 0, 4);\n return signatures.has(signature);\n },\n calculate(input) {\n const format = determineFormat(input);\n if (format.isBigTiff) {\n validateBigTIFFHeader(input, format.isBigEndian);\n }\n const ifdBuffer = readIFD(input, format);\n const tags = extractTags(ifdBuffer, format);\n const info = {\n height: tags[CONSTANTS.TAG.HEIGHT],\n width: tags[CONSTANTS.TAG.WIDTH],\n type: format.isBigTiff ? \"bigtiff\" : \"tiff\"\n };\n if (tags[CONSTANTS.TAG.COMPRESSION]) {\n info.compression = tags[CONSTANTS.TAG.COMPRESSION];\n }\n if (!info.width || !info.height) {\n throw new TypeError(\"Invalid Tiff. Missing tags\");\n }\n return info;\n }\n};\n\n// lib/types/webp.ts\nfunction calculateExtended(input) {\n return {\n height: 1 + readUInt24LE(input, 7),\n width: 1 + readUInt24LE(input, 4)\n };\n}\nfunction calculateLossless(input) {\n return {\n height: 1 + ((input[4] & 15) << 10 | input[3] << 2 | (input[2] & 192) >> 6),\n width: 1 + ((input[2] & 63) << 8 | input[1])\n };\n}\nfunction calculateLossy(input) {\n return {\n height: readInt16LE(input, 8) & 16383,\n width: readInt16LE(input, 6) & 16383\n };\n}\nvar WEBP = {\n validate(input) {\n const riffHeader = \"RIFF\" === toUTF8String(input, 0, 4);\n const webpHeader = \"WEBP\" === toUTF8String(input, 8, 12);\n const vp8Header = \"VP8\" === toUTF8String(input, 12, 15);\n return riffHeader && webpHeader && vp8Header;\n },\n calculate(_input) {\n const chunkHeader = toUTF8String(_input, 12, 16);\n const input = _input.slice(20, 30);\n if (chunkHeader === \"VP8X\") {\n const extendedHeader = input[0];\n const validStart = (extendedHeader & 192) === 0;\n const validEnd = (extendedHeader & 1) === 0;\n if (validStart && validEnd) {\n return calculateExtended(input);\n }\n throw new TypeError(\"Invalid WebP\");\n }\n if (chunkHeader === \"VP8 \" && input[0] !== 47) {\n return calculateLossy(input);\n }\n const signature = toHexString(input, 3, 6);\n if (chunkHeader === \"VP8L\" && signature !== \"9d012a\") {\n return calculateLossless(input);\n }\n throw new TypeError(\"Invalid WebP\");\n }\n};\n\n// lib/types/index.ts\nvar typeHandlers = /* @__PURE__ */ new Map([\n [\"bmp\", BMP],\n [\"cur\", CUR],\n [\"dds\", DDS],\n [\"gif\", GIF],\n [\"heif\", HEIF],\n [\"icns\", ICNS],\n [\"ico\", ICO],\n [\"j2c\", J2C],\n [\"jp2\", JP2],\n [\"jpg\", JPG],\n [\"jxl\", JXL],\n [\"jxl-stream\", JXLStream],\n [\"ktx\", KTX],\n [\"png\", PNG],\n [\"pnm\", PNM],\n [\"psd\", PSD],\n [\"svg\", SVG],\n [\"tga\", TGA],\n [\"tiff\", TIFF],\n [\"webp\", WEBP]\n]);\nvar types = Array.from(typeHandlers.keys());\n\n// lib/detector.ts\nvar firstBytes = /* @__PURE__ */ new Map([\n [0, \"heif\"],\n [56, \"psd\"],\n [66, \"bmp\"],\n [68, \"dds\"],\n [71, \"gif\"],\n [73, \"tiff\"],\n [77, \"tiff\"],\n [82, \"webp\"],\n [105, \"icns\"],\n [137, \"png\"],\n [255, \"jpg\"]\n]);\nfunction detector(input) {\n const byte = input[0];\n const type = firstBytes.get(byte);\n if (type && typeHandlers.get(type).validate(input)) {\n return type;\n }\n return types.find((type2) => typeHandlers.get(type2).validate(input));\n}\n\n// lib/lookup.ts\nvar globalOptions = {\n disabledTypes: []\n};\nfunction imageSize(input) {\n const type = detector(input);\n if (typeof type !== \"undefined\") {\n if (globalOptions.disabledTypes.indexOf(type) > -1) {\n throw new TypeError(`disabled file type: ${type}`);\n }\n const size = typeHandlers.get(type).calculate(input);\n if (size !== void 0) {\n size.type = size.type ?? type;\n if (size.images && size.images.length > 1) {\n const largestImage = size.images.reduce((largest, current) => {\n return current.width * current.height > largest.width * largest.height ? current : largest;\n }, size.images[0]);\n size.width = largestImage.width;\n size.height = largestImage.height;\n }\n return size;\n }\n }\n throw new TypeError(`unsupported file type: ${type}`);\n}\nvar disableTypes = (types2) => {\n globalOptions.disabledTypes = types2;\n};\n\nexport { imageSize as default, disableTypes, imageSize, types };\n"],"names":[],"mappings":"AACA,IAAI,UAAU,IAAI,YAAW;AAC7B,IAAI,eAAe,CAAC,OAAO,QAAQ,GAAG,MAAM,MAAM,WAAW,QAAQ,OAAO,MAAM,MAAM,OAAO,GAAG,CAAC;AACnG,IAAI,cAAc,CAAC,OAAO,QAAQ,GAAG,MAAM,MAAM,WAAW,MAAM,MAAM,OAAO,GAAG,EAAE,OAAO,CAAC,MAAM,MAAM,OAAO,IAAI,EAAE,SAAS,EAAE,CAAC,GAAG,MAAM,EAAE,GAAG,EAAE;AACjJ,IAAI,UAAU,CAAC,OAAO,WAAW,IAAI,SAAS,MAAM,QAAQ,MAAM,aAAa,MAAM;AACrF,IAAI,cAAc,CAAC,OAAO,SAAS,MAAM,QAAQ,OAAO,MAAM,EAAE,SAAS,GAAG,IAAI;AAChF,IAAI,eAAe,CAAC,OAAO,SAAS,MAAM,QAAQ,OAAO,MAAM,EAAE,UAAU,GAAG,KAAK;AACnF,IAAI,eAAe,CAAC,OAAO,SAAS,MAAM,QAAQ,OAAO,MAAM,EAAE,UAAU,GAAG,IAAI;AAClF,IAAI,eAAe,CAAC,OAAO,SAAS,MAAM;AACxC,QAAM,OAAO,QAAQ,OAAO,MAAM;AAClC,SAAO,KAAK,UAAU,GAAG,IAAI,KAAK,KAAK,SAAS,CAAC,KAAK;AACxD;AACA,IAAI,cAAc,CAAC,OAAO,SAAS,MAAM,QAAQ,OAAO,MAAM,EAAE,SAAS,GAAG,IAAI;AAChF,IAAI,eAAe,CAAC,OAAO,SAAS,MAAM,QAAQ,OAAO,MAAM,EAAE,UAAU,GAAG,KAAK;AACnF,IAAI,eAAe,CAAC,OAAO,SAAS,MAAM,QAAQ,OAAO,MAAM,EAAE,UAAU,GAAG,IAAI;AAClF,IAAI,aAAa,CAAC,OAAO,QAAQ,gBAAgB,QAAQ,OAAO,MAAM,EAAE,aAAa,GAAG,CAAC,WAAW;AACpG,IAAI,UAAU;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACA,SAAS,SAAS,OAAO,MAAM,SAAS,GAAG,cAAc,OAAO;AAC9D,QAAM,SAAS,cAAc,OAAO;AACpC,QAAM,aAAa,WAAW,IAAI,GAAG,MAAM;AAC3C,SAAO,QAAQ,UAAU,EAAE,OAAO,MAAM;AAC1C;AACA,SAAS,QAAQ,OAAO,QAAQ;AAC9B,MAAI,MAAM,SAAS,SAAS,EAAG;AAC/B,QAAM,UAAU,aAAa,OAAO,MAAM;AAC1C,MAAI,MAAM,SAAS,SAAS,QAAS;AACrC,SAAO;AAAA,IACL,MAAM,aAAa,OAAO,IAAI,QAAQ,IAAI,MAAM;AAAA,IAChD;AAAA,IACA,MAAM;AAAA,EACV;AACA;AACA,SAAS,QAAQ,OAAO,SAAS,eAAe;AAC9C,SAAO,gBAAgB,MAAM,QAAQ;AACnC,UAAM,MAAM,QAAQ,OAAO,aAAa;AACxC,QAAI,CAAC,IAAK;AACV,QAAI,IAAI,SAAS,QAAS,QAAO;AACjC,qBAAiB,IAAI,OAAO,IAAI,IAAI,OAAO;AAAA,EAC7C;AACF;AAGA,IAAI,MAAM;AAAA,EACR,UAAU,CAAC,UAAU,aAAa,OAAO,GAAG,CAAC,MAAM;AAAA,EACnD,WAAW,CAAC,WAAW;AAAA,IACrB,QAAQ,KAAK,IAAI,YAAY,OAAO,EAAE,CAAC;AAAA,IACvC,OAAO,aAAa,OAAO,EAAE;AAAA,EACjC;AACA;AAGA,IAAI,YAAY;AAChB,IAAI,cAAc,IAAI,IAAI;AAC1B,IAAI,mBAAmB,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI;AACnD,SAAS,kBAAkB,OAAO,QAAQ;AACxC,QAAM,QAAQ,MAAM,MAAM;AAC1B,SAAO,UAAU,IAAI,MAAM;AAC7B;AACA,SAAS,aAAa,OAAO,YAAY;AACvC,QAAM,SAAS,cAAc,aAAa;AAC1C,SAAO;AAAA,IACL,QAAQ,kBAAkB,OAAO,SAAS,CAAC;AAAA,IAC3C,OAAO,kBAAkB,OAAO,MAAM;AAAA,EAC1C;AACA;AACA,IAAI,MAAM;AAAA,EACR,SAAS,OAAO;AACd,UAAM,WAAW,aAAa,OAAO,CAAC;AACtC,UAAM,aAAa,aAAa,OAAO,CAAC;AACxC,QAAI,aAAa,KAAK,eAAe,EAAG,QAAO;AAC/C,UAAM,YAAY,aAAa,OAAO,CAAC;AACvC,WAAO,cAAc;AAAA,EACvB;AAAA,EACA,UAAU,OAAO;AACf,UAAM,WAAW,aAAa,OAAO,CAAC;AACtC,UAAM,aAAa,aAAa,OAAO,CAAC;AACxC,QAAI,aAAa,EAAG,QAAO;AAC3B,UAAM,SAAS,CAAA;AACf,aAAS,aAAa,GAAG,aAAa,UAAU,cAAc,GAAG;AAC/D,aAAO,KAAK,aAAa,OAAO,UAAU,CAAC;AAAA,IAC7C;AACA,WAAO;AAAA,MACL,OAAO,WAAW;AAAA,MAClB,QAAQ,WAAW;AAAA,MACnB;AAAA,IACN;AAAA,EACE;AACF;AAGA,IAAI,cAAc;AAClB,IAAI,MAAM;AAAA,EACR,SAAS,OAAO;AACd,UAAM,WAAW,aAAa,OAAO,CAAC;AACtC,UAAM,aAAa,aAAa,OAAO,CAAC;AACxC,QAAI,aAAa,KAAK,eAAe,EAAG,QAAO;AAC/C,UAAM,YAAY,aAAa,OAAO,CAAC;AACvC,WAAO,cAAc;AAAA,EACvB;AAAA,EACA,WAAW,CAAC,UAAU,IAAI,UAAU,KAAK;AAC3C;AAGA,IAAI,MAAM;AAAA,EACR,UAAU,CAAC,UAAU,aAAa,OAAO,CAAC,MAAM;AAAA,EAChD,WAAW,CAAC,WAAW;AAAA,IACrB,QAAQ,aAAa,OAAO,EAAE;AAAA,IAC9B,OAAO,aAAa,OAAO,EAAE;AAAA,EACjC;AACA;AAGA,IAAI,YAAY;AAChB,IAAI,MAAM;AAAA,EACR,UAAU,CAAC,UAAU,UAAU,KAAK,aAAa,OAAO,GAAG,CAAC,CAAC;AAAA,EAC7D,WAAW,CAAC,WAAW;AAAA,IACrB,QAAQ,aAAa,OAAO,CAAC;AAAA,IAC7B,OAAO,aAAa,OAAO,CAAC;AAAA,EAChC;AACA;AAGA,IAAI,WAAW;AAAA,EACb,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA;AAAA,EAEN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA;AAAA,EAEN,MAAM;AAAA;AAER;AACA,IAAI,OAAO;AAAA,EACT,SAAS,OAAO;AACd,UAAM,UAAU,aAAa,OAAO,GAAG,CAAC;AACxC,QAAI,YAAY,OAAQ,QAAO;AAC/B,UAAM,UAAU,QAAQ,OAAO,QAAQ,CAAC;AACxC,QAAI,CAAC,QAAS,QAAO;AACrB,UAAM,QAAQ,aAAa,OAAO,QAAQ,SAAS,GAAG,QAAQ,SAAS,EAAE;AACzE,WAAO,SAAS;AAAA,EAClB;AAAA,EACA,UAAU,OAAO;AACf,UAAM,UAAU,QAAQ,OAAO,QAAQ,CAAC;AACxC,UAAM,UAAU,WAAW,QAAQ,OAAO,QAAQ,QAAQ,SAAS,EAAE;AACrE,UAAM,UAAU,WAAW,QAAQ,OAAO,QAAQ,QAAQ,SAAS,CAAC;AACpE,QAAI,CAAC,SAAS;AACZ,YAAM,IAAI,UAAU,iCAAiC;AAAA,IACvD;AACA,UAAM,OAAO,aAAa,OAAO,GAAG,EAAE;AACtC,UAAM,SAAS,CAAA;AACf,QAAI,gBAAgB,QAAQ,SAAS;AACrC,WAAO,gBAAgB,QAAQ,SAAS,QAAQ,MAAM;AACpD,YAAM,UAAU,QAAQ,OAAO,QAAQ,aAAa;AACpD,UAAI,CAAC,QAAS;AACd,YAAM,WAAW,aAAa,OAAO,QAAQ,SAAS,EAAE;AACxD,YAAM,YAAY,aAAa,OAAO,QAAQ,SAAS,EAAE;AACzD,YAAM,UAAU,QAAQ,OAAO,QAAQ,aAAa;AACpD,UAAI,QAAQ;AACZ,UAAI,SAAS;AACb,UAAI,WAAW,QAAQ,SAAS,QAAQ,SAAS,QAAQ,MAAM;AAC7D,cAAM,YAAY,aAAa,OAAO,QAAQ,SAAS,EAAE;AACzD,gBAAQ,WAAW;AAAA,MACrB;AACA,aAAO,KAAK,EAAE,QAAQ,MAAK,CAAE;AAC7B,sBAAgB,QAAQ,SAAS,QAAQ;AAAA,IAC3C;AACA,QAAI,OAAO,WAAW,GAAG;AACvB,YAAM,IAAI,UAAU,8BAA8B;AAAA,IACpD;AACA,WAAO;AAAA,MACL,OAAO,OAAO,CAAC,EAAE;AAAA,MACjB,QAAQ,OAAO,CAAC,EAAE;AAAA,MAClB;AAAA,MACA,GAAG,OAAO,SAAS,IAAI,EAAE,OAAM,IAAK,CAAA;AAAA,IAC1C;AAAA,EACE;AACF;AAGA,IAAI,eAAe,IAAI;AACvB,IAAI,qBAAqB;AACzB,IAAI,sBAAsB;AAC1B,IAAI,iBAAiB;AAAA,EACnB,MAAM;AAAA,EACN,QAAQ;AAAA;AAAA,EAER,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,MAAM;AAAA;AAAA,EAEN,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA;AAAA,EAEN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA;AAAA,EAEN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA;AAAA,EAEN,MAAM;AAAA,EACN,MAAM;AAAA;AAAA,EAEN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA;AAAA,EAEN,MAAM;AAAA,EACN,MAAM;AAAA;AAAA,EAEN,MAAM;AAAA,EACN,MAAM;AAAA;AAAA,EAEN,MAAM;AACR;AACA,SAAS,gBAAgB,OAAO,aAAa;AAC3C,QAAM,oBAAoB,cAAc;AACxC,SAAO;AAAA,IACL,aAAa,OAAO,aAAa,iBAAiB;AAAA,IAClD,aAAa,OAAO,iBAAiB;AAAA,EACzC;AACA;AACA,SAAS,cAAc,MAAM;AAC3B,QAAM,OAAO,eAAe,IAAI;AAChC,SAAO,EAAE,OAAO,MAAM,QAAQ,MAAM,KAAI;AAC1C;AACA,IAAI,OAAO;AAAA,EACT,UAAU,CAAC,UAAU,aAAa,OAAO,GAAG,CAAC,MAAM;AAAA,EACnD,UAAU,OAAO;AACf,UAAM,cAAc,MAAM;AAC1B,UAAM,aAAa,aAAa,OAAO,kBAAkB;AACzD,QAAI,cAAc;AAClB,UAAM,SAAS,CAAA;AACf,WAAO,cAAc,cAAc,cAAc,aAAa;AAC5D,YAAM,cAAc,gBAAgB,OAAO,WAAW;AACtD,YAAM,aAAa,cAAc,YAAY,CAAC,CAAC;AAC/C,aAAO,KAAK,UAAU;AACtB,qBAAe,YAAY,CAAC;AAAA,IAC9B;AACA,QAAI,OAAO,WAAW,GAAG;AACvB,YAAM,IAAI,UAAU,8BAA8B;AAAA,IACpD;AACA,WAAO;AAAA,MACL,OAAO,OAAO,CAAC,EAAE;AAAA,MACjB,QAAQ,OAAO,CAAC,EAAE;AAAA,MAClB,GAAG,OAAO,SAAS,IAAI,EAAE,OAAM,IAAK,CAAA;AAAA,IAC1C;AAAA,EACE;AACF;AAGA,IAAI,MAAM;AAAA;AAAA,EAER,UAAU,CAAC,UAAU,aAAa,OAAO,CAAC,MAAM;AAAA,EAChD,WAAW,CAAC,WAAW;AAAA,IACrB,QAAQ,aAAa,OAAO,EAAE;AAAA,IAC9B,OAAO,aAAa,OAAO,CAAC;AAAA,EAChC;AACA;AAGA,IAAI,MAAM;AAAA,EACR,SAAS,OAAO;AACd,UAAM,UAAU,aAAa,OAAO,GAAG,CAAC;AACxC,QAAI,YAAY,OAAQ,QAAO;AAC/B,UAAM,UAAU,QAAQ,OAAO,QAAQ,CAAC;AACxC,QAAI,CAAC,QAAS,QAAO;AACrB,UAAM,QAAQ,aAAa,OAAO,QAAQ,SAAS,GAAG,QAAQ,SAAS,EAAE;AACzE,WAAO,UAAU;AAAA,EACnB;AAAA,EACA,UAAU,OAAO;AACf,UAAM,UAAU,QAAQ,OAAO,QAAQ,CAAC;AACxC,UAAM,UAAU,WAAW,QAAQ,OAAO,QAAQ,QAAQ,SAAS,CAAC;AACpE,QAAI,SAAS;AACX,aAAO;AAAA,QACL,QAAQ,aAAa,OAAO,QAAQ,SAAS,CAAC;AAAA,QAC9C,OAAO,aAAa,OAAO,QAAQ,SAAS,EAAE;AAAA,MACtD;AAAA,IACI;AACA,UAAM,IAAI,UAAU,8BAA8B;AAAA,EACpD;AACF;AAGA,IAAI,cAAc;AAClB,IAAI,uBAAuB;AAC3B,IAAI,oBAAoB;AACxB,IAAI,wBAAwB;AAC5B,IAAI,wBAAwB;AAC5B,IAAI,2BAA2B;AAC/B,IAAI,kBAAkB;AACtB,IAAI,8BAA8B;AAClC,SAAS,OAAO,OAAO;AACrB,SAAO,YAAY,OAAO,GAAG,CAAC,MAAM;AACtC;AACA,SAAS,YAAY,OAAO,OAAO;AACjC,SAAO;AAAA,IACL,QAAQ,aAAa,OAAO,KAAK;AAAA,IACjC,OAAO,aAAa,OAAO,QAAQ,CAAC;AAAA,EACxC;AACA;AACA,SAAS,mBAAmB,WAAW,aAAa;AAClD,QAAM,YAAY;AAClB,QAAM,SAAS,oBAAoB;AACnC,QAAM,sBAAsB,SAAS,WAAW,IAAI,QAAQ,WAAW;AACvE,WAAS,uBAAuB,GAAG,uBAAuB,qBAAqB,wBAAwB;AACrG,UAAM,QAAQ,SAAS,8BAA8B,uBAAuB;AAC5E,UAAM,MAAM,QAAQ;AACpB,QAAI,QAAQ,UAAU,QAAQ;AAC5B;AAAA,IACF;AACA,UAAM,QAAQ,UAAU,MAAM,OAAO,GAAG;AACxC,UAAM,YAAY,SAAS,OAAO,IAAI,GAAG,WAAW;AACpD,QAAI,cAAc,KAAK;AACrB,YAAM,aAAa,SAAS,OAAO,IAAI,GAAG,WAAW;AACrD,UAAI,eAAe,GAAG;AACpB;AAAA,MACF;AACA,YAAM,qBAAqB,SAAS,OAAO,IAAI,GAAG,WAAW;AAC7D,UAAI,uBAAuB,GAAG;AAC5B;AAAA,MACF;AACA,aAAO,SAAS,OAAO,IAAI,GAAG,WAAW;AAAA,IAC3C;AAAA,EACF;AACF;AACA,SAAS,kBAAkB,OAAO,OAAO;AACvC,QAAM,YAAY,MAAM,MAAM,sBAAsB,KAAK;AACzD,QAAM,YAAY;AAAA,IAChB;AAAA,IACA;AAAA,IACA,oBAAoB;AAAA,EACxB;AACE,QAAM,cAAc,cAAc;AAClC,QAAM,iBAAiB,cAAc;AACrC,MAAI,eAAe,gBAAgB;AACjC,WAAO,mBAAmB,WAAW,WAAW;AAAA,EAClD;AACF;AACA,SAAS,cAAc,OAAO,OAAO;AACnC,MAAI,QAAQ,MAAM,QAAQ;AACxB,UAAM,IAAI,UAAU,qCAAqC;AAAA,EAC3D;AACF;AACA,IAAI,MAAM;AAAA,EACR,UAAU,CAAC,UAAU,YAAY,OAAO,GAAG,CAAC,MAAM;AAAA,EAClD,UAAU,QAAQ;AAChB,QAAI,QAAQ,OAAO,MAAM,CAAC;AAC1B,QAAI;AACJ,QAAI;AACJ,WAAO,MAAM,QAAQ;AACnB,YAAM,IAAI,aAAa,OAAO,CAAC;AAC/B,oBAAc,OAAO,CAAC;AACtB,UAAI,MAAM,CAAC,MAAM,KAAK;AACpB,gBAAQ,MAAM,MAAM,CAAC;AACrB;AAAA,MACF;AACA,UAAI,OAAO,KAAK,GAAG;AACjB,sBAAc,kBAAkB,OAAO,CAAC;AAAA,MAC1C;AACA,aAAO,MAAM,IAAI,CAAC;AAClB,UAAI,SAAS,OAAO,SAAS,OAAO,SAAS,KAAK;AAChD,cAAM,OAAO,YAAY,OAAO,IAAI,CAAC;AACrC,YAAI,CAAC,aAAa;AAChB,iBAAO;AAAA,QACT;AACA,eAAO;AAAA,UACL,QAAQ,KAAK;AAAA,UACb;AAAA,UACA,OAAO,KAAK;AAAA,QACtB;AAAA,MACM;AACA,cAAQ,MAAM,MAAM,IAAI,CAAC;AAAA,IAC3B;AACA,UAAM,IAAI,UAAU,4BAA4B;AAAA,EAClD;AACF;AAGA,IAAI,YAAY,MAAM;AAAA,EACpB,YAAY,OAAO,YAAY;AAC7B,SAAK,QAAQ;AACb,SAAK,aAAa;AAElB,SAAK,aAAa;AAClB,SAAK,YAAY;AAAA,EACnB;AAAA;AAAA,EAEA,QAAQ,SAAS,GAAG;AAClB,QAAI,SAAS;AACb,QAAI,WAAW;AACf,WAAO,WAAW,QAAQ;AACxB,UAAI,KAAK,cAAc,KAAK,MAAM,QAAQ;AACxC,cAAM,IAAI,MAAM,sBAAsB;AAAA,MACxC;AACA,YAAM,cAAc,KAAK,MAAM,KAAK,UAAU;AAC9C,YAAM,WAAW,IAAI,KAAK;AAC1B,YAAM,aAAa,KAAK,IAAI,SAAS,UAAU,QAAQ;AACvD,UAAI,KAAK,eAAe,iBAAiB;AACvC,cAAM,QAAQ,KAAK,cAAc;AACjC,cAAM,OAAO,eAAe,KAAK,YAAY;AAC7C,kBAAU,QAAQ;AAAA,MACpB,OAAO;AACL,cAAM,QAAQ,KAAK,cAAc,KAAK,IAAI,KAAK,YAAY;AAC3D,cAAM,QAAQ,cAAc,SAAS,IAAI,KAAK,YAAY;AAC1D,iBAAS,UAAU,aAAa;AAAA,MAClC;AACA,kBAAY;AACZ,WAAK,aAAa;AAClB,UAAI,KAAK,cAAc,GAAG;AACxB,aAAK;AACL,aAAK,YAAY;AAAA,MACnB;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACF;AAGA,SAAS,wBAAwB,QAAQ,cAAc;AACrD,MAAI,cAAc;AAChB,WAAO,KAAK,IAAI,OAAO,QAAQ,CAAC;AAAA,EAClC;AACA,QAAM,YAAY,OAAO,QAAQ,CAAC;AAClC,QAAM,YAAY,CAAC,GAAG,IAAI,IAAI,EAAE,EAAE,SAAS;AAC3C,SAAO,IAAI,OAAO,QAAQ,SAAS;AACrC;AACA,SAAS,oBAAoB,QAAQ,cAAc,WAAW,QAAQ;AACpE,MAAI,gBAAgB,cAAc,GAAG;AACnC,WAAO,KAAK,IAAI,OAAO,QAAQ,CAAC;AAAA,EAClC;AACA,MAAI,cAAc,GAAG;AACnB,WAAO,wBAAwB,QAAQ,KAAK;AAAA,EAC9C;AACA,QAAM,eAAe,CAAC,GAAG,KAAK,IAAI,GAAG,KAAK,KAAK,GAAG,IAAI,GAAG,CAAC;AAC1D,SAAO,KAAK,MAAM,SAAS,aAAa,YAAY,CAAC,CAAC;AACxD;AACA,IAAI,YAAY;AAAA,EACd,UAAU,CAAC,UAAU;AACnB,WAAO,YAAY,OAAO,GAAG,CAAC,MAAM;AAAA,EACtC;AAAA,EACA,UAAU,OAAO;AACf,UAAM,SAAS,IAAI,UAAU,OAAO,eAAe;AACnD,UAAM,eAAe,OAAO,QAAQ,CAAC,MAAM;AAC3C,UAAM,SAAS,wBAAwB,QAAQ,YAAY;AAC3D,UAAM,YAAY,OAAO,QAAQ,CAAC;AAClC,UAAM,QAAQ,oBAAoB,QAAQ,cAAc,WAAW,MAAM;AACzE,WAAO,EAAE,OAAO,OAAM;AAAA,EACxB;AACF;AAGA,SAAS,kBAAkB,OAAO;AAChC,QAAM,UAAU,QAAQ,OAAO,QAAQ,CAAC;AACxC,MAAI,SAAS;AACX,WAAO,MAAM,MAAM,QAAQ,SAAS,GAAG,QAAQ,SAAS,QAAQ,IAAI;AAAA,EACtE;AACA,QAAM,iBAAiB,sBAAsB,KAAK;AAClD,MAAI,eAAe,SAAS,GAAG;AAC7B,WAAO,uBAAuB,cAAc;AAAA,EAC9C;AACA,SAAO;AACT;AACA,SAAS,sBAAsB,OAAO;AACpC,QAAM,iBAAiB,CAAA;AACvB,MAAI,SAAS;AACb,SAAO,SAAS,MAAM,QAAQ;AAC5B,UAAM,UAAU,QAAQ,OAAO,QAAQ,MAAM;AAC7C,QAAI,CAAC,QAAS;AACd,mBAAe;AAAA,MACb,MAAM,MAAM,QAAQ,SAAS,IAAI,QAAQ,SAAS,QAAQ,IAAI;AAAA,IACpE;AACI,aAAS,QAAQ,SAAS,QAAQ;AAAA,EACpC;AACA,SAAO;AACT;AACA,SAAS,uBAAuB,oBAAoB;AAClD,QAAM,cAAc,mBAAmB;AAAA,IACrC,CAAC,KAAK,SAAS,MAAM,KAAK;AAAA,IAC1B;AAAA,EACJ;AACE,QAAM,aAAa,IAAI,WAAW,WAAW;AAC7C,MAAI,WAAW;AACf,aAAW,WAAW,oBAAoB;AACxC,eAAW,IAAI,SAAS,QAAQ;AAChC,gBAAY,QAAQ;AAAA,EACtB;AACA,SAAO;AACT;AACA,IAAI,MAAM;AAAA,EACR,UAAU,CAAC,UAAU;AACnB,UAAM,UAAU,aAAa,OAAO,GAAG,CAAC;AACxC,QAAI,YAAY,OAAQ,QAAO;AAC/B,UAAM,UAAU,QAAQ,OAAO,QAAQ,CAAC;AACxC,QAAI,CAAC,QAAS,QAAO;AACrB,UAAM,QAAQ,aAAa,OAAO,QAAQ,SAAS,GAAG,QAAQ,SAAS,EAAE;AACzE,WAAO,UAAU;AAAA,EACnB;AAAA,EACA,UAAU,OAAO;AACf,UAAM,aAAa,kBAAkB,KAAK;AAC1C,QAAI,WAAY,QAAO,UAAU,UAAU,UAAU;AACrD,UAAM,IAAI,MAAM,sCAAsC;AAAA,EACxD;AACF;AAGA,IAAI,MAAM;AAAA,EACR,UAAU,CAAC,UAAU;AACnB,UAAM,YAAY,aAAa,OAAO,GAAG,CAAC;AAC1C,WAAO,CAAC,UAAU,QAAQ,EAAE,SAAS,SAAS;AAAA,EAChD;AAAA,EACA,WAAW,CAAC,UAAU;AACpB,UAAM,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;AACvC,UAAM,SAAS,SAAS,QAAQ,KAAK;AACrC,WAAO;AAAA,MACL,QAAQ,aAAa,OAAO,SAAS,CAAC;AAAA,MACtC,OAAO,aAAa,OAAO,MAAM;AAAA,MACjC;AAAA,IACN;AAAA,EACE;AACF;AAGA,IAAI,eAAe;AACnB,IAAI,0BAA0B;AAC9B,IAAI,oBAAoB;AACxB,IAAI,MAAM;AAAA,EACR,SAAS,OAAO;AACd,QAAI,iBAAiB,aAAa,OAAO,GAAG,CAAC,GAAG;AAC9C,UAAI,YAAY,aAAa,OAAO,IAAI,EAAE;AAC1C,UAAI,cAAc,mBAAmB;AACnC,oBAAY,aAAa,OAAO,IAAI,EAAE;AAAA,MACxC;AACA,UAAI,cAAc,yBAAyB;AACzC,cAAM,IAAI,UAAU,aAAa;AAAA,MACnC;AACA,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT;AAAA,EACA,UAAU,OAAO;AACf,QAAI,aAAa,OAAO,IAAI,EAAE,MAAM,mBAAmB;AACrD,aAAO;AAAA,QACL,QAAQ,aAAa,OAAO,EAAE;AAAA,QAC9B,OAAO,aAAa,OAAO,EAAE;AAAA,MACrC;AAAA,IACI;AACA,WAAO;AAAA,MACL,QAAQ,aAAa,OAAO,EAAE;AAAA,MAC9B,OAAO,aAAa,OAAO,EAAE;AAAA,IACnC;AAAA,EACE;AACF;AAGA,IAAI,WAAW;AAAA,EACb,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AACA,IAAI,WAAW;AAAA,EACb,SAAS,CAAC,UAAU;AAClB,QAAI,aAAa,CAAA;AACjB,WAAO,MAAM,SAAS,GAAG;AACvB,YAAM,OAAO,MAAM,MAAK;AACxB,UAAI,KAAK,CAAC,MAAM,KAAK;AACnB;AAAA,MACF;AACA,mBAAa,KAAK,MAAM,GAAG;AAC3B;AAAA,IACF;AACA,QAAI,WAAW,WAAW,GAAG;AAC3B,aAAO;AAAA,QACL,QAAQ,OAAO,SAAS,WAAW,CAAC,GAAG,EAAE;AAAA,QACzC,OAAO,OAAO,SAAS,WAAW,CAAC,GAAG,EAAE;AAAA,MAChD;AAAA,IACI;AACA,UAAM,IAAI,UAAU,aAAa;AAAA,EACnC;AAAA,EACA,KAAK,CAAC,UAAU;AACd,UAAM,OAAO,CAAA;AACb,WAAO,MAAM,SAAS,GAAG;AACvB,YAAM,OAAO,MAAM,MAAK;AACxB,UAAI,KAAK,SAAS,MAAM,KAAK,WAAW,CAAC,IAAI,KAAK;AAChD;AAAA,MACF;AACA,YAAM,CAAC,KAAK,KAAK,IAAI,KAAK,MAAM,GAAG;AACnC,UAAI,OAAO,OAAO;AAChB,aAAK,IAAI,YAAW,CAAE,IAAI,OAAO,SAAS,OAAO,EAAE;AAAA,MACrD;AACA,UAAI,KAAK,UAAU,KAAK,OAAO;AAC7B;AAAA,MACF;AAAA,IACF;AACA,QAAI,KAAK,UAAU,KAAK,OAAO;AAC7B,aAAO;AAAA,QACL,QAAQ,KAAK;AAAA,QACb,OAAO,KAAK;AAAA,MACpB;AAAA,IACI;AACA,UAAM,IAAI,UAAU,aAAa;AAAA,EACnC;AACF;AACA,IAAI,MAAM;AAAA,EACR,UAAU,CAAC,UAAU,aAAa,OAAO,GAAG,CAAC,KAAK;AAAA,EAClD,UAAU,OAAO;AACf,UAAM,YAAY,aAAa,OAAO,GAAG,CAAC;AAC1C,UAAM,OAAO,SAAS,SAAS;AAC/B,UAAM,QAAQ,aAAa,OAAO,CAAC,EAAE,MAAM,SAAS;AACpD,UAAM,UAAU,SAAS,IAAI,KAAK,SAAS;AAC3C,WAAO,QAAQ,KAAK;AAAA,EACtB;AACF;AAGA,IAAI,MAAM;AAAA,EACR,UAAU,CAAC,UAAU,aAAa,OAAO,GAAG,CAAC,MAAM;AAAA,EACnD,WAAW,CAAC,WAAW;AAAA,IACrB,QAAQ,aAAa,OAAO,EAAE;AAAA,IAC9B,OAAO,aAAa,OAAO,EAAE;AAAA,EACjC;AACA;AAGA,IAAI,SAAS;AACb,IAAI,mBAAmB;AAAA,EACrB,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,SAAS;AAAA,EACT,OAAO;AACT;AACA,IAAI,UAAU;AACd,IAAI,QAAQ;AAAA,EACV,IAAI;AAAA,EACJ,IAAI,KAAK;AAAA,EACT,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,GAAG,KAAK,UAAU;AAAA,EAClB,IAAI,KAAK,UAAU;AAAA,EACnB,IAAI,KAAK,KAAK;AAAA,EACd,IAAI,KAAK;AAAA,EACT,IAAI;AACN;AACA,IAAI,WAAW,IAAI;AAAA,EACjB,wBAAwB,OAAO,KAAK,KAAK,EAAE,KAAK,GAAG,CAAC;AACtD;AACA,SAAS,YAAY,KAAK;AACxB,QAAM,IAAI,SAAS,KAAK,GAAG;AAC3B,MAAI,CAAC,GAAG;AACN,WAAO;AAAA,EACT;AACA,SAAO,KAAK,MAAM,OAAO,EAAE,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE;AACrD;AACA,SAAS,aAAa,SAAS;AAC7B,QAAM,SAAS,QAAQ,MAAM,GAAG;AAChC,SAAO;AAAA,IACL,QAAQ,YAAY,OAAO,CAAC,CAAC;AAAA,IAC7B,OAAO,YAAY,OAAO,CAAC,CAAC;AAAA,EAChC;AACA;AACA,SAAS,gBAAgB,MAAM;AAC7B,QAAM,QAAQ,KAAK,MAAM,iBAAiB,KAAK;AAC/C,QAAM,SAAS,KAAK,MAAM,iBAAiB,MAAM;AACjD,QAAM,UAAU,KAAK,MAAM,iBAAiB,OAAO;AACnD,SAAO;AAAA,IACL,QAAQ,UAAU,YAAY,OAAO,CAAC,CAAC;AAAA,IACvC,SAAS,WAAW,aAAa,QAAQ,CAAC,CAAC;AAAA,IAC3C,OAAO,SAAS,YAAY,MAAM,CAAC,CAAC;AAAA,EACxC;AACA;AACA,SAAS,sBAAsB,OAAO;AACpC,SAAO;AAAA,IACL,QAAQ,MAAM;AAAA,IACd,OAAO,MAAM;AAAA,EACjB;AACA;AACA,SAAS,mBAAmB,OAAO,SAAS;AAC1C,QAAM,QAAQ,QAAQ,QAAQ,QAAQ;AACtC,MAAI,MAAM,OAAO;AACf,WAAO;AAAA,MACL,QAAQ,KAAK,MAAM,MAAM,QAAQ,KAAK;AAAA,MACtC,OAAO,MAAM;AAAA,IACnB;AAAA,EACE;AACA,MAAI,MAAM,QAAQ;AAChB,WAAO;AAAA,MACL,QAAQ,MAAM;AAAA,MACd,OAAO,KAAK,MAAM,MAAM,SAAS,KAAK;AAAA,IAC5C;AAAA,EACE;AACA,SAAO;AAAA,IACL,QAAQ,QAAQ;AAAA,IAChB,OAAO,QAAQ;AAAA,EACnB;AACA;AACA,IAAI,MAAM;AAAA;AAAA,EAER,UAAU,CAAC,UAAU,OAAO,KAAK,aAAa,OAAO,GAAG,GAAG,CAAC;AAAA,EAC5D,UAAU,OAAO;AACf,UAAM,OAAO,aAAa,KAAK,EAAE,MAAM,iBAAiB,IAAI;AAC5D,QAAI,MAAM;AACR,YAAM,QAAQ,gBAAgB,KAAK,CAAC,CAAC;AACrC,UAAI,MAAM,SAAS,MAAM,QAAQ;AAC/B,eAAO,sBAAsB,KAAK;AAAA,MACpC;AACA,UAAI,MAAM,SAAS;AACjB,eAAO,mBAAmB,OAAO,MAAM,OAAO;AAAA,MAChD;AAAA,IACF;AACA,UAAM,IAAI,UAAU,aAAa;AAAA,EACnC;AACF;AAGA,IAAI,MAAM;AAAA,EACR,SAAS,OAAO;AACd,WAAO,aAAa,OAAO,CAAC,MAAM,KAAK,aAAa,OAAO,CAAC,MAAM;AAAA,EACpE;AAAA,EACA,UAAU,OAAO;AACf,WAAO;AAAA,MACL,QAAQ,aAAa,OAAO,EAAE;AAAA,MAC9B,OAAO,aAAa,OAAO,EAAE;AAAA,IACnC;AAAA,EACE;AACF;AAGA,IAAI,YAAY;AAAA,EACd,KAAK;AAAA,IACH,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,aAAa;AAAA,EACjB;AAAA,EACE,MAAM;AAAA,IACJ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,OAAO;AAAA,EACX;AAAA,EACE,YAAY;AAAA,IACV,UAAU;AAAA,IACV,KAAK;AAAA,EACT;AAAA,EACE,YAAY;AAAA,IACV,UAAU;AAAA,IACV,KAAK;AAAA,EACT;AACA;AACA,SAAS,QAAQ,OAAO,EAAE,aAAa,UAAS,GAAI;AAClD,QAAM,YAAY,YAAY,OAAO,WAAW,OAAO,GAAG,WAAW,CAAC,IAAI,SAAS,OAAO,IAAI,GAAG,WAAW;AAC5G,QAAM,iBAAiB,YAAY,UAAU,WAAW,MAAM,UAAU,WAAW;AACnF,SAAO,MAAM,MAAM,YAAY,cAAc;AAC/C;AACA,SAAS,aAAa,OAAO,MAAM,QAAQ,aAAa;AACtD,UAAQ,MAAI;AAAA,IACV,KAAK,UAAU,KAAK;AAClB,aAAO,SAAS,OAAO,IAAI,QAAQ,WAAW;AAAA,IAChD,KAAK,UAAU,KAAK;AAClB,aAAO,SAAS,OAAO,IAAI,QAAQ,WAAW;AAAA,IAChD,KAAK,UAAU,KAAK,OAAO;AACzB,YAAM,QAAQ,OAAO,WAAW,OAAO,QAAQ,WAAW,CAAC;AAC3D,UAAI,QAAQ,OAAO,kBAAkB;AACnC,cAAM,IAAI,UAAU,iBAAiB;AAAA,MACvC;AACA,aAAO;AAAA,IACT;AAAA,IACA;AACE,aAAO;AAAA,EACb;AACA;AACA,SAAS,QAAQ,OAAO,WAAW;AACjC,QAAM,YAAY,YAAY,UAAU,WAAW,MAAM,UAAU,WAAW;AAC9E,MAAI,MAAM,SAAS,WAAW;AAC5B,WAAO,MAAM,MAAM,SAAS;AAAA,EAC9B;AACF;AACA,SAAS,YAAY,OAAO,EAAE,aAAa,UAAS,GAAI;AACtD,QAAM,OAAO,CAAA;AACb,MAAI,OAAO;AACX,SAAO,MAAM,QAAQ;AACnB,UAAM,OAAO,SAAS,MAAM,IAAI,GAAG,WAAW;AAC9C,UAAM,OAAO,SAAS,MAAM,IAAI,GAAG,WAAW;AAC9C,UAAM,SAAS,YAAY,OAAO,WAAW,MAAM,GAAG,WAAW,CAAC,IAAI,SAAS,MAAM,IAAI,GAAG,WAAW;AACvG,QAAI,SAAS,EAAG;AAChB,QAAI,WAAW,MAAM,SAAS,UAAU,KAAK,SAAS,SAAS,UAAU,KAAK,QAAQ,aAAa,SAAS,UAAU,KAAK,QAAQ;AACjI,YAAM,cAAc,YAAY,KAAK;AACrC,WAAK,IAAI,IAAI,aAAa,MAAM,MAAM,aAAa,WAAW;AAAA,IAChE;AACA,WAAO,QAAQ,MAAM,SAAS;AAAA,EAChC;AACA,SAAO;AACT;AACA,SAAS,gBAAgB,OAAO;AAC9B,QAAM,YAAY,aAAa,OAAO,GAAG,CAAC;AAC1C,QAAM,UAAU,SAAS,OAAO,IAAI,GAAG,cAAc,IAAI;AACzD,SAAO;AAAA,IACL,aAAa,cAAc;AAAA,IAC3B,WAAW,YAAY;AAAA,EAC3B;AACA;AACA,SAAS,sBAAsB,OAAO,aAAa;AACjD,QAAM,WAAW,SAAS,OAAO,IAAI,GAAG,WAAW;AACnD,QAAM,WAAW,SAAS,OAAO,IAAI,GAAG,WAAW;AACnD,MAAI,aAAa,KAAK,aAAa,GAAG;AACpC,UAAM,IAAI,UAAU,wBAAwB;AAAA,EAC9C;AACF;AACA,IAAI,aAA6B,oBAAI,IAAI;AAAA,EACvC;AAAA;AAAA,EAEA;AAAA;AAAA,EAEA;AAAA;AAAA,EAEA;AAAA;AAEF,CAAC;AACD,IAAI,OAAO;AAAA,EACT,UAAU,CAAC,UAAU;AACnB,UAAM,YAAY,YAAY,OAAO,GAAG,CAAC;AACzC,WAAO,WAAW,IAAI,SAAS;AAAA,EACjC;AAAA,EACA,UAAU,OAAO;AACf,UAAM,SAAS,gBAAgB,KAAK;AACpC,QAAI,OAAO,WAAW;AACpB,4BAAsB,OAAO,OAAO,WAAW;AAAA,IACjD;AACA,UAAM,YAAY,QAAQ,OAAO,MAAM;AACvC,UAAM,OAAO,YAAY,WAAW,MAAM;AAC1C,UAAM,OAAO;AAAA,MACX,QAAQ,KAAK,UAAU,IAAI,MAAM;AAAA,MACjC,OAAO,KAAK,UAAU,IAAI,KAAK;AAAA,MAC/B,MAAM,OAAO,YAAY,YAAY;AAAA,IAC3C;AACI,QAAI,KAAK,UAAU,IAAI,WAAW,GAAG;AACnC,WAAK,cAAc,KAAK,UAAU,IAAI,WAAW;AAAA,IACnD;AACA,QAAI,CAAC,KAAK,SAAS,CAAC,KAAK,QAAQ;AAC/B,YAAM,IAAI,UAAU,4BAA4B;AAAA,IAClD;AACA,WAAO;AAAA,EACT;AACF;AAGA,SAAS,kBAAkB,OAAO;AAChC,SAAO;AAAA,IACL,QAAQ,IAAI,aAAa,OAAO,CAAC;AAAA,IACjC,OAAO,IAAI,aAAa,OAAO,CAAC;AAAA,EACpC;AACA;AACA,SAAS,kBAAkB,OAAO;AAChC,SAAO;AAAA,IACL,QAAQ,MAAM,MAAM,CAAC,IAAI,OAAO,KAAK,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,IAAI,QAAQ;AAAA,IACzE,OAAO,MAAM,MAAM,CAAC,IAAI,OAAO,IAAI,MAAM,CAAC;AAAA,EAC9C;AACA;AACA,SAAS,eAAe,OAAO;AAC7B,SAAO;AAAA,IACL,QAAQ,YAAY,OAAO,CAAC,IAAI;AAAA,IAChC,OAAO,YAAY,OAAO,CAAC,IAAI;AAAA,EACnC;AACA;AACA,IAAI,OAAO;AAAA,EACT,SAAS,OAAO;AACd,UAAM,aAAa,WAAW,aAAa,OAAO,GAAG,CAAC;AACtD,UAAM,aAAa,WAAW,aAAa,OAAO,GAAG,EAAE;AACvD,UAAM,YAAY,UAAU,aAAa,OAAO,IAAI,EAAE;AACtD,WAAO,cAAc,cAAc;AAAA,EACrC;AAAA,EACA,UAAU,QAAQ;AAChB,UAAM,cAAc,aAAa,QAAQ,IAAI,EAAE;AAC/C,UAAM,QAAQ,OAAO,MAAM,IAAI,EAAE;AACjC,QAAI,gBAAgB,QAAQ;AAC1B,YAAM,iBAAiB,MAAM,CAAC;AAC9B,YAAM,cAAc,iBAAiB,SAAS;AAC9C,YAAM,YAAY,iBAAiB,OAAO;AAC1C,UAAI,cAAc,UAAU;AAC1B,eAAO,kBAAkB,KAAK;AAAA,MAChC;AACA,YAAM,IAAI,UAAU,cAAc;AAAA,IACpC;AACA,QAAI,gBAAgB,UAAU,MAAM,CAAC,MAAM,IAAI;AAC7C,aAAO,eAAe,KAAK;AAAA,IAC7B;AACA,UAAM,YAAY,YAAY,OAAO,GAAG,CAAC;AACzC,QAAI,gBAAgB,UAAU,cAAc,UAAU;AACpD,aAAO,kBAAkB,KAAK;AAAA,IAChC;AACA,UAAM,IAAI,UAAU,cAAc;AAAA,EACpC;AACF;AAGA,IAAI,eAA+B,oBAAI,IAAI;AAAA,EACzC,CAAC,OAAO,GAAG;AAAA,EACX,CAAC,OAAO,GAAG;AAAA,EACX,CAAC,OAAO,GAAG;AAAA,EACX,CAAC,OAAO,GAAG;AAAA,EACX,CAAC,QAAQ,IAAI;AAAA,EACb,CAAC,QAAQ,IAAI;AAAA,EACb,CAAC,OAAO,GAAG;AAAA,EACX,CAAC,OAAO,GAAG;AAAA,EACX,CAAC,OAAO,GAAG;AAAA,EACX,CAAC,OAAO,GAAG;AAAA,EACX,CAAC,OAAO,GAAG;AAAA,EACX,CAAC,cAAc,SAAS;AAAA,EACxB,CAAC,OAAO,GAAG;AAAA,EACX,CAAC,OAAO,GAAG;AAAA,EACX,CAAC,OAAO,GAAG;AAAA,EACX,CAAC,OAAO,GAAG;AAAA,EACX,CAAC,OAAO,GAAG;AAAA,EACX,CAAC,OAAO,GAAG;AAAA,EACX,CAAC,QAAQ,IAAI;AAAA,EACb,CAAC,QAAQ,IAAI;AACf,CAAC;AACE,IAAC,QAAQ,MAAM,KAAK,aAAa,KAAI,CAAE;AAG1C,IAAI,aAA6B,oBAAI,IAAI;AAAA,EACvC,CAAC,GAAG,MAAM;AAAA,EACV,CAAC,IAAI,KAAK;AAAA,EACV,CAAC,IAAI,KAAK;AAAA,EACV,CAAC,IAAI,KAAK;AAAA,EACV,CAAC,IAAI,KAAK;AAAA,EACV,CAAC,IAAI,MAAM;AAAA,EACX,CAAC,IAAI,MAAM;AAAA,EACX,CAAC,IAAI,MAAM;AAAA,EACX,CAAC,KAAK,MAAM;AAAA,EACZ,CAAC,KAAK,KAAK;AAAA,EACX,CAAC,KAAK,KAAK;AACb,CAAC;AACD,SAAS,SAAS,OAAO;AACvB,QAAM,OAAO,MAAM,CAAC;AACpB,QAAM,OAAO,WAAW,IAAI,IAAI;AAChC,MAAI,QAAQ,aAAa,IAAI,IAAI,EAAE,SAAS,KAAK,GAAG;AAClD,WAAO;AAAA,EACT;AACA,SAAO,MAAM,KAAK,CAAC,UAAU,aAAa,IAAI,KAAK,EAAE,SAAS,KAAK,CAAC;AACtE;AAGA,IAAI,gBAAgB;AAAA,EAClB,eAAe,CAAA;AACjB;AACA,SAAS,UAAU,OAAO;AACxB,QAAM,OAAO,SAAS,KAAK;AAC3B,MAAI,OAAO,SAAS,aAAa;AAC/B,QAAI,cAAc,cAAc,QAAQ,IAAI,IAAI,IAAI;AAClD,YAAM,IAAI,UAAU,uBAAuB,IAAI,EAAE;AAAA,IACnD;AACA,UAAM,OAAO,aAAa,IAAI,IAAI,EAAE,UAAU,KAAK;AACnD,QAAI,SAAS,QAAQ;AACnB,WAAK,OAAO,KAAK,QAAQ;AACzB,UAAI,KAAK,UAAU,KAAK,OAAO,SAAS,GAAG;AACzC,cAAM,eAAe,KAAK,OAAO,OAAO,CAAC,SAAS,YAAY;AAC5D,iBAAO,QAAQ,QAAQ,QAAQ,SAAS,QAAQ,QAAQ,QAAQ,SAAS,UAAU;AAAA,QACrF,GAAG,KAAK,OAAO,CAAC,CAAC;AACjB,aAAK,QAAQ,aAAa;AAC1B,aAAK,SAAS,aAAa;AAAA,MAC7B;AACA,aAAO;AAAA,IACT;AAAA,EACF;AACA,QAAM,IAAI,UAAU,0BAA0B,IAAI,EAAE;AACtD;","x_google_ignoreList":[0]}
@@ -0,0 +1,253 @@
1
+ import { createComponent } from "solid-js/web";
2
+ import { mergeProps, createUniqueId, createMemo, useContext, createSignal, createContext, splitProps, onCleanup, createEffect, untrack } from "solid-js";
3
+ import { access } from "../../@corvu/utils/dist/chunk/U42ECMND.js";
4
+ import style_default from "../../@corvu/utils/dist/create/style.js";
5
+ import { contains } from "../../@corvu/utils/dist/chunk/GZJAOTUE.js";
6
+ import { isFunction } from "../../@corvu/utils/dist/chunk/74BWZKBI.js";
7
+ var createEscapeKeyDown = (props) => {
8
+ const defaultedProps = mergeProps({
9
+ enabled: true
10
+ }, props);
11
+ createEffect(() => {
12
+ if (!access(defaultedProps.enabled)) {
13
+ return;
14
+ }
15
+ document.addEventListener("keydown", handleKeyDown);
16
+ onCleanup(() => {
17
+ document.removeEventListener("keydown", handleKeyDown);
18
+ });
19
+ });
20
+ const handleKeyDown = (event) => {
21
+ if (event.key === "Escape") {
22
+ defaultedProps.onEscapeKeyDown(event);
23
+ }
24
+ };
25
+ };
26
+ var escapeKeyDown_default = createEscapeKeyDown;
27
+ var createNoPointerEvents = (props) => {
28
+ const defaultedProps = mergeProps({
29
+ enabled: true
30
+ }, props);
31
+ createEffect(() => {
32
+ const {
33
+ body
34
+ } = document;
35
+ if (!access(defaultedProps.enabled)) return;
36
+ style_default({
37
+ key: "no-pointer-events",
38
+ element: body,
39
+ style: {
40
+ pointerEvents: "none"
41
+ }
42
+ });
43
+ });
44
+ };
45
+ var noPointerEvents_default = createNoPointerEvents;
46
+ var EVENT_ON_FOCUS = "dismissible.outsideFocus";
47
+ var EVENT_OPTIONS = {
48
+ bubbles: false,
49
+ cancelable: true
50
+ };
51
+ var createOutsideFocus = (props) => {
52
+ const defaultedProps = mergeProps({
53
+ enabled: true,
54
+ ignorePointerEvents: false
55
+ }, props);
56
+ let pointerDown = false;
57
+ createEffect(() => {
58
+ if (!access(defaultedProps.enabled)) {
59
+ return;
60
+ }
61
+ const ignorePointerEvents = access(defaultedProps.ignorePointerEvents);
62
+ document.addEventListener("focusin", handleFocus);
63
+ if (ignorePointerEvents) {
64
+ document.addEventListener("pointerdown", handlePointerDown);
65
+ }
66
+ onCleanup(() => {
67
+ document.removeEventListener("focusin", handleFocus);
68
+ if (ignorePointerEvents) {
69
+ document.removeEventListener("pointerdown", handlePointerDown);
70
+ }
71
+ });
72
+ });
73
+ const handleFocus = (event) => {
74
+ if (pointerDown) {
75
+ pointerDown = false;
76
+ return;
77
+ }
78
+ const element = access(defaultedProps.element);
79
+ if (element && !contains(element, event.target)) {
80
+ const customEvent = new CustomEvent(EVENT_ON_FOCUS, EVENT_OPTIONS);
81
+ element.dispatchEvent(customEvent);
82
+ defaultedProps.onFocus(customEvent);
83
+ }
84
+ };
85
+ const handlePointerDown = () => {
86
+ pointerDown = true;
87
+ };
88
+ };
89
+ var outsideFocus_default = createOutsideFocus;
90
+ var createOutsidePointer = (props) => {
91
+ const defaultedProps = mergeProps({
92
+ enabled: true,
93
+ strategy: "pointerup"
94
+ }, props);
95
+ createEffect(() => {
96
+ if (!access(defaultedProps.enabled)) {
97
+ return;
98
+ }
99
+ const strategy = access(defaultedProps.strategy);
100
+ document.addEventListener(strategy, handlePointer);
101
+ onCleanup(() => {
102
+ document.removeEventListener(strategy, handlePointer);
103
+ });
104
+ });
105
+ const handlePointer = (event) => {
106
+ const element = access(defaultedProps.element);
107
+ const ignore = access(defaultedProps.ignore);
108
+ if (element && !contains(element, event.target) && !(ignore && ignore.some((ignoreElement) => ignoreElement && contains(ignoreElement, event.target)))) {
109
+ defaultedProps.onPointer(event);
110
+ }
111
+ };
112
+ };
113
+ var outsidePointer_default = createOutsidePointer;
114
+ var createDismissible = (props) => {
115
+ const defaultedProps = mergeProps({
116
+ dismissOnEscapeKeyDown: true,
117
+ dismissOnOutsideFocus: true,
118
+ dismissOnOutsidePointer: true,
119
+ outsidePointerStrategy: "pointerup",
120
+ noOutsidePointerEvents: true
121
+ }, props);
122
+ escapeKeyDown_default({
123
+ enabled: () => access(defaultedProps.dismissOnEscapeKeyDown),
124
+ onEscapeKeyDown: (event) => {
125
+ defaultedProps.onEscapeKeyDown?.(event);
126
+ if (!event.defaultPrevented) {
127
+ defaultedProps.onDismiss("escapeKey");
128
+ }
129
+ }
130
+ });
131
+ outsideFocus_default({
132
+ enabled: () => access(defaultedProps.dismissOnOutsideFocus),
133
+ onFocus: (event) => {
134
+ defaultedProps.onOutsideFocus?.(event);
135
+ if (!event.defaultPrevented) {
136
+ defaultedProps.onDismiss("outsideFocus");
137
+ }
138
+ },
139
+ element: () => access(defaultedProps.element),
140
+ ignorePointerEvents: () => access(defaultedProps.noOutsidePointerEvents) || access(defaultedProps.dismissOnOutsidePointer)
141
+ });
142
+ outsidePointer_default({
143
+ enabled: () => access(defaultedProps.dismissOnOutsidePointer),
144
+ strategy: () => access(defaultedProps.outsidePointerStrategy),
145
+ ignore: () => access(defaultedProps.outsidePointerIgnore) ?? [],
146
+ onPointer: (event) => {
147
+ defaultedProps.onOutsidePointer?.(event);
148
+ if (!event.defaultPrevented) {
149
+ const ctrlLeftClick = event.button === 0 && event.ctrlKey === true;
150
+ const isRightClick = event.button === 2 || ctrlLeftClick;
151
+ if (isRightClick) return;
152
+ defaultedProps.onDismiss("outsidePointer");
153
+ }
154
+ },
155
+ element: () => access(defaultedProps.element)
156
+ });
157
+ noPointerEvents_default({
158
+ enabled: () => access(defaultedProps.noOutsidePointerEvents)
159
+ });
160
+ };
161
+ var dismissible_default = createDismissible;
162
+ var DismissibleContext = createContext();
163
+ var Dismissible = (props) => {
164
+ const defaultedProps = mergeProps({
165
+ dismissibleId: createUniqueId()
166
+ }, props);
167
+ const memoizedDismissible = createMemo(() => {
168
+ const dismissibleContext = useContext(DismissibleContext);
169
+ if (dismissibleContext) {
170
+ return createComponent(DismissibleLayer, props);
171
+ }
172
+ const [layers, setLayers] = createSignal([defaultedProps.dismissibleId]);
173
+ const onLayerShow = (dismissibleId) => {
174
+ setLayers((layers2) => [...layers2, dismissibleId]);
175
+ };
176
+ const onLayerDismiss = (dismissibleId) => {
177
+ setLayers((layers2) => layers2.filter((layer) => layer !== dismissibleId));
178
+ };
179
+ return createComponent(DismissibleContext.Provider, {
180
+ value: {
181
+ layers,
182
+ onLayerShow,
183
+ onLayerDismiss
184
+ },
185
+ get children() {
186
+ return createComponent(DismissibleLayer, props);
187
+ }
188
+ });
189
+ });
190
+ return memoizedDismissible;
191
+ };
192
+ var [activeDismissibles, setActiveDismissibles] = createSignal([]);
193
+ var DismissibleLayer = (props) => {
194
+ const defaultedProps = mergeProps({
195
+ enabled: true,
196
+ dismissibleId: createUniqueId(),
197
+ dismissOnEscapeKeyDown: true,
198
+ dismissOnOutsideFocus: true,
199
+ dismissOnOutsidePointer: true,
200
+ outsidePointerStrategy: "pointerup",
201
+ noOutsidePointerEvents: true
202
+ }, props);
203
+ const [localProps, otherProps] = splitProps(defaultedProps, ["enabled", "children", "dismissOnEscapeKeyDown", "dismissOnOutsideFocus", "dismissOnOutsidePointer", "outsidePointerStrategy", "outsidePointerIgnore", "noOutsidePointerEvents", "onDismiss"]);
204
+ const context = useContext(DismissibleContext);
205
+ onCleanup(() => {
206
+ context.onLayerDismiss(defaultedProps.dismissibleId);
207
+ setActiveDismissibles((activeDismissibles2) => activeDismissibles2.filter((dismissibleId) => dismissibleId !== defaultedProps.dismissibleId));
208
+ });
209
+ createEffect(() => {
210
+ if (localProps.enabled) {
211
+ context.onLayerShow(defaultedProps.dismissibleId);
212
+ setActiveDismissibles((activeDismissibles2) => [...activeDismissibles2, defaultedProps.dismissibleId]);
213
+ } else {
214
+ context.onLayerDismiss(defaultedProps.dismissibleId);
215
+ setActiveDismissibles((activeDismissibles2) => activeDismissibles2.filter((dismissibleId) => dismissibleId !== defaultedProps.dismissibleId));
216
+ }
217
+ });
218
+ const isLastLayer = () => {
219
+ return context.layers()[context.layers().length - 1] === defaultedProps.dismissibleId;
220
+ };
221
+ dismissible_default({
222
+ dismissOnEscapeKeyDown: () => access(localProps.dismissOnEscapeKeyDown) && isLastLayer() && localProps.enabled,
223
+ dismissOnOutsideFocus: () => access(localProps.dismissOnOutsideFocus) && isLastLayer() && localProps.enabled,
224
+ dismissOnOutsidePointer: () => access(localProps.dismissOnOutsidePointer) && isLastLayer() && localProps.enabled,
225
+ outsidePointerStrategy: localProps.outsidePointerStrategy,
226
+ outsidePointerIgnore: localProps.outsidePointerIgnore,
227
+ noOutsidePointerEvents: () => access(localProps.noOutsidePointerEvents) && localProps.enabled,
228
+ onDismiss: (reason) => {
229
+ localProps.onDismiss(reason);
230
+ },
231
+ ...otherProps
232
+ });
233
+ const memoizedChildren = createMemo(() => localProps.children);
234
+ const resolveChildren = () => {
235
+ const children = memoizedChildren();
236
+ if (isFunction(children)) {
237
+ return children({
238
+ get isLastLayer() {
239
+ return isLastLayer();
240
+ }
241
+ });
242
+ }
243
+ return children;
244
+ };
245
+ return untrack(() => resolveChildren());
246
+ };
247
+ var Dismissible_default = Dismissible;
248
+ var src_default = Dismissible_default;
249
+ export {
250
+ activeDismissibles,
251
+ src_default as default
252
+ };
253
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../node_modules/solid-dismissible/dist/index.jsx"],"sourcesContent":["// src/Dismissible.tsx\nimport {\n createContext,\n createEffect as createEffect5,\n createMemo,\n createSignal,\n createUniqueId,\n mergeProps as mergeProps6,\n onCleanup as onCleanup4,\n splitProps,\n untrack,\n useContext\n} from \"solid-js\";\nimport { access as access6 } from \"@corvu/utils/reactivity\";\n\n// src/create/dismissible.ts\nimport { access as access5 } from \"@corvu/utils/reactivity\";\n\n// src/create/escapeKeyDown.ts\nimport { access } from \"@corvu/utils/reactivity\";\nimport { createEffect, mergeProps, onCleanup } from \"solid-js\";\nvar createEscapeKeyDown = (props) => {\n const defaultedProps = mergeProps(\n {\n enabled: true\n },\n props\n );\n createEffect(() => {\n if (!access(defaultedProps.enabled)) {\n return;\n }\n document.addEventListener(\"keydown\", handleKeyDown);\n onCleanup(() => {\n document.removeEventListener(\"keydown\", handleKeyDown);\n });\n });\n const handleKeyDown = (event) => {\n if (event.key === \"Escape\") {\n defaultedProps.onEscapeKeyDown(event);\n }\n };\n};\nvar escapeKeyDown_default = createEscapeKeyDown;\n\n// src/create/noPointerEvents.ts\nimport { access as access2 } from \"@corvu/utils/reactivity\";\nimport { createEffect as createEffect2, mergeProps as mergeProps2 } from \"solid-js\";\nimport createStyle from \"@corvu/utils/create/style\";\nvar createNoPointerEvents = (props) => {\n const defaultedProps = mergeProps2(\n {\n enabled: true\n },\n props\n );\n createEffect2(() => {\n const { body } = document;\n if (!access2(defaultedProps.enabled)) return;\n createStyle({\n key: \"no-pointer-events\",\n element: body,\n style: {\n pointerEvents: \"none\"\n }\n });\n });\n};\nvar noPointerEvents_default = createNoPointerEvents;\n\n// src/create/outsideFocus.ts\nimport { access as access3 } from \"@corvu/utils/reactivity\";\nimport { createEffect as createEffect3, mergeProps as mergeProps3, onCleanup as onCleanup2 } from \"solid-js\";\nimport { contains } from \"@corvu/utils/dom\";\nvar EVENT_ON_FOCUS = \"dismissible.outsideFocus\";\nvar EVENT_OPTIONS = { bubbles: false, cancelable: true };\nvar createOutsideFocus = (props) => {\n const defaultedProps = mergeProps3(\n {\n enabled: true,\n ignorePointerEvents: false\n },\n props\n );\n let pointerDown = false;\n createEffect3(() => {\n if (!access3(defaultedProps.enabled)) {\n return;\n }\n const ignorePointerEvents = access3(defaultedProps.ignorePointerEvents);\n document.addEventListener(\"focusin\", handleFocus);\n if (ignorePointerEvents) {\n document.addEventListener(\"pointerdown\", handlePointerDown);\n }\n onCleanup2(() => {\n document.removeEventListener(\"focusin\", handleFocus);\n if (ignorePointerEvents) {\n document.removeEventListener(\"pointerdown\", handlePointerDown);\n }\n });\n });\n const handleFocus = (event) => {\n if (pointerDown) {\n pointerDown = false;\n return;\n }\n const element = access3(defaultedProps.element);\n if (element && !contains(element, event.target)) {\n const customEvent = new CustomEvent(EVENT_ON_FOCUS, EVENT_OPTIONS);\n element.dispatchEvent(customEvent);\n defaultedProps.onFocus(customEvent);\n }\n };\n const handlePointerDown = () => {\n pointerDown = true;\n };\n};\nvar outsideFocus_default = createOutsideFocus;\n\n// src/create/outsidePointer.ts\nimport { access as access4 } from \"@corvu/utils/reactivity\";\nimport { createEffect as createEffect4, mergeProps as mergeProps4, onCleanup as onCleanup3 } from \"solid-js\";\nimport { contains as contains2 } from \"@corvu/utils/dom\";\nvar createOutsidePointer = (props) => {\n const defaultedProps = mergeProps4(\n {\n enabled: true,\n strategy: \"pointerup\"\n },\n props\n );\n createEffect4(() => {\n if (!access4(defaultedProps.enabled)) {\n return;\n }\n const strategy = access4(defaultedProps.strategy);\n document.addEventListener(strategy, handlePointer);\n onCleanup3(() => {\n document.removeEventListener(strategy, handlePointer);\n });\n });\n const handlePointer = (event) => {\n const element = access4(defaultedProps.element);\n const ignore = access4(defaultedProps.ignore);\n if (element && !contains2(element, event.target) && !(ignore && ignore.some(\n (ignoreElement) => ignoreElement && contains2(ignoreElement, event.target)\n ))) {\n defaultedProps.onPointer(event);\n }\n };\n};\nvar outsidePointer_default = createOutsidePointer;\n\n// src/create/dismissible.ts\nimport { mergeProps as mergeProps5 } from \"solid-js\";\nvar createDismissible = (props) => {\n const defaultedProps = mergeProps5(\n {\n dismissOnEscapeKeyDown: true,\n dismissOnOutsideFocus: true,\n dismissOnOutsidePointer: true,\n outsidePointerStrategy: \"pointerup\",\n noOutsidePointerEvents: true\n },\n props\n );\n escapeKeyDown_default({\n enabled: () => access5(defaultedProps.dismissOnEscapeKeyDown),\n onEscapeKeyDown: (event) => {\n defaultedProps.onEscapeKeyDown?.(event);\n if (!event.defaultPrevented) {\n defaultedProps.onDismiss(\"escapeKey\");\n }\n }\n });\n outsideFocus_default({\n enabled: () => access5(defaultedProps.dismissOnOutsideFocus),\n onFocus: (event) => {\n defaultedProps.onOutsideFocus?.(event);\n if (!event.defaultPrevented) {\n defaultedProps.onDismiss(\"outsideFocus\");\n }\n },\n element: () => access5(defaultedProps.element),\n ignorePointerEvents: () => access5(defaultedProps.noOutsidePointerEvents) || access5(defaultedProps.dismissOnOutsidePointer)\n });\n outsidePointer_default({\n enabled: () => access5(defaultedProps.dismissOnOutsidePointer),\n strategy: () => access5(defaultedProps.outsidePointerStrategy),\n ignore: () => access5(defaultedProps.outsidePointerIgnore) ?? [],\n onPointer: (event) => {\n defaultedProps.onOutsidePointer?.(event);\n if (!event.defaultPrevented) {\n const ctrlLeftClick = event.button === 0 && event.ctrlKey === true;\n const isRightClick = event.button === 2 || ctrlLeftClick;\n if (isRightClick) return;\n defaultedProps.onDismiss(\"outsidePointer\");\n }\n },\n element: () => access5(defaultedProps.element)\n });\n noPointerEvents_default({\n enabled: () => access5(defaultedProps.noOutsidePointerEvents)\n });\n};\nvar dismissible_default = createDismissible;\n\n// src/Dismissible.tsx\nimport { isFunction } from \"@corvu/utils\";\nvar DismissibleContext = createContext();\nvar Dismissible = (props) => {\n const defaultedProps = mergeProps6(\n {\n dismissibleId: createUniqueId()\n },\n props\n );\n const memoizedDismissible = createMemo(() => {\n const dismissibleContext = useContext(DismissibleContext);\n if (dismissibleContext) {\n return <DismissibleLayer {...props} />;\n }\n const [layers, setLayers] = createSignal([\n defaultedProps.dismissibleId\n ]);\n const onLayerShow = (dismissibleId) => {\n setLayers((layers2) => [...layers2, dismissibleId]);\n };\n const onLayerDismiss = (dismissibleId) => {\n setLayers((layers2) => layers2.filter((layer) => layer !== dismissibleId));\n };\n return <DismissibleContext.Provider\n value={{\n layers,\n onLayerShow,\n onLayerDismiss\n }}\n >\n <DismissibleLayer {...props} />\n </DismissibleContext.Provider>;\n });\n return memoizedDismissible;\n};\nvar [activeDismissibles, setActiveDismissibles] = createSignal([]);\nvar DismissibleLayer = (props) => {\n const defaultedProps = mergeProps6(\n {\n enabled: true,\n dismissibleId: createUniqueId(),\n dismissOnEscapeKeyDown: true,\n dismissOnOutsideFocus: true,\n dismissOnOutsidePointer: true,\n outsidePointerStrategy: \"pointerup\",\n noOutsidePointerEvents: true\n },\n props\n );\n const [localProps, otherProps] = splitProps(defaultedProps, [\n \"enabled\",\n \"children\",\n \"dismissOnEscapeKeyDown\",\n \"dismissOnOutsideFocus\",\n \"dismissOnOutsidePointer\",\n \"outsidePointerStrategy\",\n \"outsidePointerIgnore\",\n \"noOutsidePointerEvents\",\n \"onDismiss\"\n ]);\n const context = useContext(DismissibleContext);\n onCleanup4(() => {\n context.onLayerDismiss(defaultedProps.dismissibleId);\n setActiveDismissibles(\n (activeDismissibles2) => activeDismissibles2.filter(\n (dismissibleId) => dismissibleId !== defaultedProps.dismissibleId\n )\n );\n });\n createEffect5(() => {\n if (localProps.enabled) {\n context.onLayerShow(defaultedProps.dismissibleId);\n setActiveDismissibles((activeDismissibles2) => [\n ...activeDismissibles2,\n defaultedProps.dismissibleId\n ]);\n } else {\n context.onLayerDismiss(defaultedProps.dismissibleId);\n setActiveDismissibles(\n (activeDismissibles2) => activeDismissibles2.filter(\n (dismissibleId) => dismissibleId !== defaultedProps.dismissibleId\n )\n );\n }\n });\n const isLastLayer = () => {\n return context.layers()[context.layers().length - 1] === defaultedProps.dismissibleId;\n };\n dismissible_default({\n dismissOnEscapeKeyDown: () => access6(localProps.dismissOnEscapeKeyDown) && isLastLayer() && localProps.enabled,\n dismissOnOutsideFocus: () => access6(localProps.dismissOnOutsideFocus) && isLastLayer() && localProps.enabled,\n dismissOnOutsidePointer: () => access6(localProps.dismissOnOutsidePointer) && isLastLayer() && localProps.enabled,\n outsidePointerStrategy: localProps.outsidePointerStrategy,\n outsidePointerIgnore: localProps.outsidePointerIgnore,\n noOutsidePointerEvents: () => access6(localProps.noOutsidePointerEvents) && localProps.enabled,\n onDismiss: (reason) => {\n localProps.onDismiss(reason);\n },\n ...otherProps\n });\n const memoizedChildren = createMemo(() => localProps.children);\n const resolveChildren = () => {\n const children = memoizedChildren();\n if (isFunction(children)) {\n return children({\n get isLastLayer() {\n return isLastLayer();\n }\n });\n }\n return children;\n };\n return untrack(() => resolveChildren());\n};\nvar Dismissible_default = Dismissible;\n\n// src/index.ts\nvar src_default = Dismissible_default;\nexport {\n activeDismissibles,\n src_default as default\n};\n"],"names":["createEscapeKeyDown","props","defaultedProps","mergeProps","enabled","createEffect","access","document","addEventListener","handleKeyDown","onCleanup","removeEventListener","event","key","onEscapeKeyDown","escapeKeyDown_default","createNoPointerEvents","mergeProps2","createEffect2","body","access2","createStyle","element","style","pointerEvents","noPointerEvents_default","EVENT_ON_FOCUS","EVENT_OPTIONS","bubbles","cancelable","createOutsideFocus","mergeProps3","ignorePointerEvents","pointerDown","createEffect3","access3","handleFocus","handlePointerDown","onCleanup2","contains","target","customEvent","CustomEvent","dispatchEvent","onFocus","outsideFocus_default","createOutsidePointer","mergeProps4","strategy","createEffect4","access4","handlePointer","onCleanup3","ignore","contains2","some","ignoreElement","onPointer","outsidePointer_default","createDismissible","mergeProps5","dismissOnEscapeKeyDown","dismissOnOutsideFocus","dismissOnOutsidePointer","outsidePointerStrategy","noOutsidePointerEvents","access5","defaultPrevented","onDismiss","onOutsideFocus","outsidePointerIgnore","onOutsidePointer","ctrlLeftClick","button","ctrlKey","isRightClick","dismissible_default","DismissibleContext","createContext","Dismissible","mergeProps6","dismissibleId","createUniqueId","memoizedDismissible","createMemo","dismissibleContext","useContext","_$createComponent","DismissibleLayer","layers","setLayers","createSignal","onLayerShow","layers2","onLayerDismiss","filter","layer","Provider","value","children","activeDismissibles","setActiveDismissibles","localProps","otherProps","splitProps","context","onCleanup4","activeDismissibles2","createEffect5","isLastLayer","length","access6","reason","memoizedChildren","resolveChildren","isFunction","untrack","Dismissible_default","src_default"],"mappings":";;;;;;AAqBA,IAAIA,sBAAuBC,CAAAA,UAAU;AACnC,QAAMC,iBAAiBC,WACrB;AAAA,IACEC,SAAS;AAAA,EAAA,GAEXH,KACF;AACAI,eAAa,MAAM;AACjB,QAAI,CAACC,OAAOJ,eAAeE,OAAO,GAAG;AACnC;AAAA,IACF;AACAG,aAASC,iBAAiB,WAAWC,aAAa;AAClDC,cAAU,MAAM;AACdH,eAASI,oBAAoB,WAAWF,aAAa;AAAA,IACvD,CAAC;AAAA,EACH,CAAC;AACD,QAAMA,gBAAiBG,CAAAA,UAAU;AAC/B,QAAIA,MAAMC,QAAQ,UAAU;AAC1BX,qBAAeY,gBAAgBF,KAAK;AAAA,IACtC;AAAA,EACF;AACF;AACA,IAAIG,wBAAwBf;AAM5B,IAAIgB,wBAAyBf,CAAAA,UAAU;AACrC,QAAMC,iBAAiBe,WACrB;AAAA,IACEb,SAAS;AAAA,EAAA,GAEXH,KACF;AACAiB,eAAc,MAAM;AAClB,UAAM;AAAA,MAAEC;AAAAA,IAAAA,IAASZ;AACjB,QAAI,CAACa,OAAQlB,eAAeE,OAAO,EAAG;AACtCiB,kBAAY;AAAA,MACVR,KAAK;AAAA,MACLS,SAASH;AAAAA,MACTI,OAAO;AAAA,QACLC,eAAe;AAAA,MAAA;AAAA,IACjB,CACD;AAAA,EACH,CAAC;AACH;AACA,IAAIC,0BAA0BT;AAM9B,IAAIU,iBAAiB;AACrB,IAAIC,gBAAgB;AAAA,EAAEC,SAAS;AAAA,EAAOC,YAAY;AAAK;AACvD,IAAIC,qBAAsB7B,CAAAA,UAAU;AAClC,QAAMC,iBAAiB6B,WACrB;AAAA,IACE3B,SAAS;AAAA,IACT4B,qBAAqB;AAAA,EAAA,GAEvB/B,KACF;AACA,MAAIgC,cAAc;AAClBC,eAAc,MAAM;AAClB,QAAI,CAACC,OAAQjC,eAAeE,OAAO,GAAG;AACpC;AAAA,IACF;AACA,UAAM4B,sBAAsBG,OAAQjC,eAAe8B,mBAAmB;AACtEzB,aAASC,iBAAiB,WAAW4B,WAAW;AAChD,QAAIJ,qBAAqB;AACvBzB,eAASC,iBAAiB,eAAe6B,iBAAiB;AAAA,IAC5D;AACAC,cAAW,MAAM;AACf/B,eAASI,oBAAoB,WAAWyB,WAAW;AACnD,UAAIJ,qBAAqB;AACvBzB,iBAASI,oBAAoB,eAAe0B,iBAAiB;AAAA,MAC/D;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACD,QAAMD,cAAexB,CAAAA,UAAU;AAC7B,QAAIqB,aAAa;AACfA,oBAAc;AACd;AAAA,IACF;AACA,UAAMX,UAAUa,OAAQjC,eAAeoB,OAAO;AAC9C,QAAIA,WAAW,CAACiB,SAASjB,SAASV,MAAM4B,MAAM,GAAG;AAC/C,YAAMC,cAAc,IAAIC,YAAYhB,gBAAgBC,aAAa;AACjEL,cAAQqB,cAAcF,WAAW;AACjCvC,qBAAe0C,QAAQH,WAAW;AAAA,IACpC;AAAA,EACF;AACA,QAAMJ,oBAAoBA,MAAM;AAC9BJ,kBAAc;AAAA,EAChB;AACF;AACA,IAAIY,uBAAuBf;AAM3B,IAAIgB,uBAAwB7C,CAAAA,UAAU;AACpC,QAAMC,iBAAiB6C,WACrB;AAAA,IACE3C,SAAS;AAAA,IACT4C,UAAU;AAAA,EAAA,GAEZ/C,KACF;AACAgD,eAAc,MAAM;AAClB,QAAI,CAACC,OAAQhD,eAAeE,OAAO,GAAG;AACpC;AAAA,IACF;AACA,UAAM4C,WAAWE,OAAQhD,eAAe8C,QAAQ;AAChDzC,aAASC,iBAAiBwC,UAAUG,aAAa;AACjDC,cAAW,MAAM;AACf7C,eAASI,oBAAoBqC,UAAUG,aAAa;AAAA,IACtD,CAAC;AAAA,EACH,CAAC;AACD,QAAMA,gBAAiBvC,CAAAA,UAAU;AAC/B,UAAMU,UAAU4B,OAAQhD,eAAeoB,OAAO;AAC9C,UAAM+B,SAASH,OAAQhD,eAAemD,MAAM;AAC5C,QAAI/B,WAAW,CAACgC,SAAUhC,SAASV,MAAM4B,MAAM,KAAK,EAAEa,UAAUA,OAAOE,KACpEC,mBAAkBA,iBAAiBF,SAAUE,eAAe5C,MAAM4B,MAAM,CAC3E,IAAI;AACFtC,qBAAeuD,UAAU7C,KAAK;AAAA,IAChC;AAAA,EACF;AACF;AACA,IAAI8C,yBAAyBZ;AAI7B,IAAIa,oBAAqB1D,CAAAA,UAAU;AACjC,QAAMC,iBAAiB0D,WACrB;AAAA,IACEC,wBAAwB;AAAA,IACxBC,uBAAuB;AAAA,IACvBC,yBAAyB;AAAA,IACzBC,wBAAwB;AAAA,IACxBC,wBAAwB;AAAA,EAAA,GAE1BhE,KACF;AACAc,wBAAsB;AAAA,IACpBX,SAASA,MAAM8D,OAAQhE,eAAe2D,sBAAsB;AAAA,IAC5D/C,iBAAkBF,CAAAA,UAAU;AAC1BV,qBAAeY,kBAAkBF,KAAK;AACtC,UAAI,CAACA,MAAMuD,kBAAkB;AAC3BjE,uBAAekE,UAAU,WAAW;AAAA,MACtC;AAAA,IACF;AAAA,EAAA,CACD;AACDvB,uBAAqB;AAAA,IACnBzC,SAASA,MAAM8D,OAAQhE,eAAe4D,qBAAqB;AAAA,IAC3DlB,SAAUhC,CAAAA,UAAU;AAClBV,qBAAemE,iBAAiBzD,KAAK;AACrC,UAAI,CAACA,MAAMuD,kBAAkB;AAC3BjE,uBAAekE,UAAU,cAAc;AAAA,MACzC;AAAA,IACF;AAAA,IACA9C,SAASA,MAAM4C,OAAQhE,eAAeoB,OAAO;AAAA,IAC7CU,qBAAqBA,MAAMkC,OAAQhE,eAAe+D,sBAAsB,KAAKC,OAAQhE,eAAe6D,uBAAuB;AAAA,EAAA,CAC5H;AACDL,yBAAuB;AAAA,IACrBtD,SAASA,MAAM8D,OAAQhE,eAAe6D,uBAAuB;AAAA,IAC7Df,UAAUA,MAAMkB,OAAQhE,eAAe8D,sBAAsB;AAAA,IAC7DX,QAAQA,MAAMa,OAAQhE,eAAeoE,oBAAoB,KAAK,CAAA;AAAA,IAC9Db,WAAY7C,CAAAA,UAAU;AACpBV,qBAAeqE,mBAAmB3D,KAAK;AACvC,UAAI,CAACA,MAAMuD,kBAAkB;AAC3B,cAAMK,gBAAgB5D,MAAM6D,WAAW,KAAK7D,MAAM8D,YAAY;AAC9D,cAAMC,eAAe/D,MAAM6D,WAAW,KAAKD;AAC3C,YAAIG,aAAc;AAClBzE,uBAAekE,UAAU,gBAAgB;AAAA,MAC3C;AAAA,IACF;AAAA,IACA9C,SAASA,MAAM4C,OAAQhE,eAAeoB,OAAO;AAAA,EAAA,CAC9C;AACDG,0BAAwB;AAAA,IACtBrB,SAASA,MAAM8D,OAAQhE,eAAe+D,sBAAsB;AAAA,EAAA,CAC7D;AACH;AACA,IAAIW,sBAAsBjB;AAI1B,IAAIkB,qBAAqBC,cAAAA;AACzB,IAAIC,cAAe9E,CAAAA,UAAU;AAC3B,QAAMC,iBAAiB8E,WACrB;AAAA,IACEC,eAAeC,eAAAA;AAAAA,EAAe,GAEhCjF,KACF;AACA,QAAMkF,sBAAsBC,WAAW,MAAM;AAC3C,UAAMC,qBAAqBC,WAAWT,kBAAkB;AACxD,QAAIQ,oBAAoB;AACtB,aAAAE,gBAAQC,kBAAqBvF,KAAK;AAAA,IACpC;AACA,UAAM,CAACwF,QAAQC,SAAS,IAAIC,aAAa,CACvCzF,eAAe+E,aAAa,CAC7B;AACD,UAAMW,cAAeX,CAAAA,kBAAkB;AACrCS,gBAAWG,CAAAA,YAAY,CAAC,GAAGA,SAASZ,aAAa,CAAC;AAAA,IACpD;AACA,UAAMa,iBAAkBb,CAAAA,kBAAkB;AACxCS,gBAAWG,aAAYA,QAAQE,OAAQC,CAAAA,UAAUA,UAAUf,aAAa,CAAC;AAAA,IAC3E;AACA,WAAAM,gBAAQV,mBAAmBoB,UAAQ;AAAA,MACjCC,OAAO;AAAA,QACLT;AAAAA,QACAG;AAAAA,QACAE;AAAAA,MAAAA;AAAAA,MACD,IAAAK,WAAA;AAAA,eAAAZ,gBAEEC,kBAAqBvF,KAAK;AAAA,MAAA;AAAA,IAAA,CAAA;AAAA,EAEjC,CAAC;AACD,SAAOkF;AACT;AACA,IAAI,CAACiB,oBAAoBC,qBAAqB,IAAIV,aAAa,CAAA,CAAE;AACjE,IAAIH,mBAAoBvF,CAAAA,UAAU;AAChC,QAAMC,iBAAiB8E,WACrB;AAAA,IACE5E,SAAS;AAAA,IACT6E,eAAeC,eAAAA;AAAAA,IACfrB,wBAAwB;AAAA,IACxBC,uBAAuB;AAAA,IACvBC,yBAAyB;AAAA,IACzBC,wBAAwB;AAAA,IACxBC,wBAAwB;AAAA,EAAA,GAE1BhE,KACF;AACA,QAAM,CAACqG,YAAYC,UAAU,IAAIC,WAAWtG,gBAAgB,CAC1D,WACA,YACA,0BACA,yBACA,2BACA,0BACA,wBACA,0BACA,WAAW,CACZ;AACD,QAAMuG,UAAUnB,WAAWT,kBAAkB;AAC7C6B,YAAW,MAAM;AACfD,YAAQX,eAAe5F,eAAe+E,aAAa;AACnDoB,0BACGM,yBAAwBA,oBAAoBZ,OAC1Cd,mBAAkBA,kBAAkB/E,eAAe+E,aACtD,CACF;AAAA,EACF,CAAC;AACD2B,eAAc,MAAM;AAClB,QAAIN,WAAWlG,SAAS;AACtBqG,cAAQb,YAAY1F,eAAe+E,aAAa;AAChDoB,4BAAuBM,yBAAwB,CAC7C,GAAGA,qBACHzG,eAAe+E,aAAa,CAC7B;AAAA,IACH,OAAO;AACLwB,cAAQX,eAAe5F,eAAe+E,aAAa;AACnDoB,4BACGM,yBAAwBA,oBAAoBZ,OAC1Cd,mBAAkBA,kBAAkB/E,eAAe+E,aACtD,CACF;AAAA,IACF;AAAA,EACF,CAAC;AACD,QAAM4B,cAAcA,MAAM;AACxB,WAAOJ,QAAQhB,SAASgB,QAAQhB,SAASqB,SAAS,CAAC,MAAM5G,eAAe+E;AAAAA,EAC1E;AACAL,sBAAoB;AAAA,IAClBf,wBAAwBA,MAAMkD,OAAQT,WAAWzC,sBAAsB,KAAKgD,YAAAA,KAAiBP,WAAWlG;AAAAA,IACxG0D,uBAAuBA,MAAMiD,OAAQT,WAAWxC,qBAAqB,KAAK+C,YAAAA,KAAiBP,WAAWlG;AAAAA,IACtG2D,yBAAyBA,MAAMgD,OAAQT,WAAWvC,uBAAuB,KAAK8C,YAAAA,KAAiBP,WAAWlG;AAAAA,IAC1G4D,wBAAwBsC,WAAWtC;AAAAA,IACnCM,sBAAsBgC,WAAWhC;AAAAA,IACjCL,wBAAwBA,MAAM8C,OAAQT,WAAWrC,sBAAsB,KAAKqC,WAAWlG;AAAAA,IACvFgE,WAAY4C,CAAAA,WAAW;AACrBV,iBAAWlC,UAAU4C,MAAM;AAAA,IAC7B;AAAA,IACA,GAAGT;AAAAA,EAAAA,CACJ;AACD,QAAMU,mBAAmB7B,WAAW,MAAMkB,WAAWH,QAAQ;AAC7D,QAAMe,kBAAkBA,MAAM;AAC5B,UAAMf,WAAWc,iBAAAA;AACjB,QAAIE,WAAWhB,QAAQ,GAAG;AACxB,aAAOA,SAAS;AAAA,QACd,IAAIU,cAAc;AAChB,iBAAOA,YAAAA;AAAAA,QACT;AAAA,MAAA,CACD;AAAA,IACH;AACA,WAAOV;AAAAA,EACT;AACA,SAAOiB,QAAQ,MAAMF,iBAAiB;AACxC;AACA,IAAIG,sBAAsBtC;AAG1B,IAAIuC,cAAcD;","x_google_ignoreList":[0]}
@@ -0,0 +1,164 @@
1
+ import { access } from "../../@corvu/utils/dist/chunk/U42ECMND.js";
2
+ import { mergeProps, createSignal, createMemo, createEffect, untrack, onCleanup } from "solid-js";
3
+ import { afterPaint } from "../../@corvu/utils/dist/chunk/GZJAOTUE.js";
4
+ var focusableElementSelector = 'a[href]:not([tabindex="-1"]), button:not([tabindex="-1"]), input:not([tabindex="-1"]), textarea:not([tabindex="-1"]), select:not([tabindex="-1"]), details:not([tabindex="-1"]), [tabindex]:not([tabindex="-1"])';
5
+ var EVENT_INITIAL_FOCUS = "focusTrap.initialFocus";
6
+ var EVENT_FINAL_FOCUS = "focusTrap.finalFocus";
7
+ var EVENT_OPTIONS = {
8
+ bubbles: false,
9
+ cancelable: true
10
+ };
11
+ var createFocusTrap = (props) => {
12
+ const defaultedProps = mergeProps({
13
+ enabled: true,
14
+ observeChanges: true,
15
+ restoreFocus: true
16
+ }, props);
17
+ const [focusableElements, setFocusableElements] = createSignal(null);
18
+ const firstFocusElement = createMemo(() => {
19
+ const _focusableElements = focusableElements();
20
+ if (!_focusableElements) return null;
21
+ return _focusableElements[0] ?? null;
22
+ });
23
+ const lastFocusElement = createMemo(() => {
24
+ const _focusableElements = focusableElements();
25
+ if (!_focusableElements) return null;
26
+ return _focusableElements[_focusableElements.length - 1] ?? null;
27
+ });
28
+ let originalFocusedElement = null;
29
+ const mutationObserverCallback = () => {
30
+ afterPaint(() => {
31
+ loadFocusTrap(access(defaultedProps.element));
32
+ if (document.activeElement === null || document.activeElement === document.body) {
33
+ initialFocus(access(defaultedProps.element));
34
+ }
35
+ });
36
+ };
37
+ createEffect(() => {
38
+ const container = access(defaultedProps.element);
39
+ if (container && access(defaultedProps.enabled)) {
40
+ originalFocusedElement = document.activeElement;
41
+ untrack(() => {
42
+ loadFocusTrap(container);
43
+ initialFocus(container);
44
+ });
45
+ const observer = new MutationObserver(mutationObserverCallback);
46
+ if (access(defaultedProps.observeChanges)) {
47
+ observer.observe(container, {
48
+ subtree: true,
49
+ childList: true,
50
+ attributes: true,
51
+ attributeFilter: ["tabindex"]
52
+ });
53
+ }
54
+ onCleanup(() => {
55
+ if (access(defaultedProps.observeChanges)) {
56
+ observer.disconnect();
57
+ }
58
+ setFocusableElements(null);
59
+ restoreFocus(container);
60
+ });
61
+ }
62
+ });
63
+ createEffect(() => {
64
+ const _focusableElements = focusableElements();
65
+ if (_focusableElements === null || _focusableElements.length !== 0) return;
66
+ document.addEventListener("keydown", preventFocusChange);
67
+ onCleanup(() => {
68
+ document.removeEventListener("keydown", preventFocusChange);
69
+ });
70
+ });
71
+ createEffect(() => {
72
+ const _firstFocusElement = firstFocusElement();
73
+ if (!_firstFocusElement) return;
74
+ _firstFocusElement.addEventListener("keydown", onFirstFocusElementKeyDown);
75
+ onCleanup(() => {
76
+ _firstFocusElement.removeEventListener("keydown", onFirstFocusElementKeyDown);
77
+ });
78
+ });
79
+ createEffect(() => {
80
+ const _lastFocusElement = lastFocusElement();
81
+ if (!_lastFocusElement) return;
82
+ _lastFocusElement.addEventListener("keydown", onLastFocusElementKeyDown);
83
+ onCleanup(() => {
84
+ _lastFocusElement.removeEventListener("keydown", onLastFocusElementKeyDown);
85
+ });
86
+ });
87
+ const loadFocusTrap = (container) => {
88
+ const focusableElements2 = Array.from(container.querySelectorAll(focusableElementSelector)).map((element, domIndex) => ({
89
+ element,
90
+ domIndex,
91
+ tabIndex: element.tabIndex
92
+ })).sort((a, b) => {
93
+ if (a.tabIndex === b.tabIndex) {
94
+ return a.domIndex - b.domIndex;
95
+ }
96
+ return a.tabIndex - b.tabIndex;
97
+ });
98
+ setFocusableElements(focusableElements2.map(({
99
+ element
100
+ }) => element));
101
+ };
102
+ const initialFocus = (container) => {
103
+ afterPaint(() => {
104
+ const initialFocusElement = access(defaultedProps.initialFocusElement) ?? firstFocusElement() ?? container;
105
+ const onInitialFocus = defaultedProps.onInitialFocus;
106
+ let event;
107
+ if (onInitialFocus) {
108
+ event = new CustomEvent(EVENT_INITIAL_FOCUS, EVENT_OPTIONS);
109
+ container.addEventListener(EVENT_INITIAL_FOCUS, onInitialFocus);
110
+ container.dispatchEvent(event);
111
+ container.removeEventListener(EVENT_INITIAL_FOCUS, onInitialFocus);
112
+ }
113
+ if (event?.defaultPrevented === true) {
114
+ return;
115
+ }
116
+ initialFocusElement.focus();
117
+ });
118
+ };
119
+ const onFirstFocusElementKeyDown = (event) => {
120
+ if (event.key === "Tab" && event.shiftKey) {
121
+ event.preventDefault();
122
+ lastFocusElement().focus();
123
+ }
124
+ };
125
+ const onLastFocusElementKeyDown = (event) => {
126
+ if (event.key === "Tab" && !event.shiftKey) {
127
+ event.preventDefault();
128
+ firstFocusElement().focus();
129
+ }
130
+ };
131
+ const preventFocusChange = (event) => {
132
+ if (event.key === "Tab") {
133
+ event.preventDefault();
134
+ }
135
+ };
136
+ const restoreFocus = (container) => {
137
+ afterPaint(() => {
138
+ const restoreFocus2 = access(defaultedProps.restoreFocus);
139
+ if (!restoreFocus2) return;
140
+ const finalFocusElement = access(defaultedProps.finalFocusElement) ?? originalFocusedElement;
141
+ if (!finalFocusElement) {
142
+ return;
143
+ }
144
+ let event;
145
+ const onFinalFocus = defaultedProps.onFinalFocus;
146
+ if (onFinalFocus) {
147
+ event = new CustomEvent(EVENT_FINAL_FOCUS, EVENT_OPTIONS);
148
+ container.addEventListener(EVENT_FINAL_FOCUS, onFinalFocus);
149
+ container.dispatchEvent(event);
150
+ container.removeEventListener(EVENT_FINAL_FOCUS, onFinalFocus);
151
+ }
152
+ if (event?.defaultPrevented === true) {
153
+ return;
154
+ }
155
+ finalFocusElement.focus();
156
+ });
157
+ };
158
+ };
159
+ var focusTrap_default = createFocusTrap;
160
+ var index_default = focusTrap_default;
161
+ export {
162
+ index_default as default
163
+ };
164
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../node_modules/solid-focus-trap/dist/index.jsx"],"sourcesContent":["// src/focusTrap.ts\nimport { access } from \"@corvu/utils/reactivity\";\nimport {\n createEffect,\n createMemo,\n createSignal,\n mergeProps,\n onCleanup,\n untrack\n} from \"solid-js\";\nimport { afterPaint } from \"@corvu/utils/dom\";\nvar focusableElementSelector = 'a[href]:not([tabindex=\"-1\"]), button:not([tabindex=\"-1\"]), input:not([tabindex=\"-1\"]), textarea:not([tabindex=\"-1\"]), select:not([tabindex=\"-1\"]), details:not([tabindex=\"-1\"]), [tabindex]:not([tabindex=\"-1\"])';\nvar EVENT_INITIAL_FOCUS = \"focusTrap.initialFocus\";\nvar EVENT_FINAL_FOCUS = \"focusTrap.finalFocus\";\nvar EVENT_OPTIONS = { bubbles: false, cancelable: true };\nvar createFocusTrap = (props) => {\n const defaultedProps = mergeProps(\n {\n enabled: true,\n observeChanges: true,\n restoreFocus: true\n },\n props\n );\n const [focusableElements, setFocusableElements] = createSignal(null);\n const firstFocusElement = createMemo(() => {\n const _focusableElements = focusableElements();\n if (!_focusableElements) return null;\n return _focusableElements[0] ?? null;\n });\n const lastFocusElement = createMemo(() => {\n const _focusableElements = focusableElements();\n if (!_focusableElements) return null;\n return _focusableElements[_focusableElements.length - 1] ?? null;\n });\n let originalFocusedElement = null;\n const mutationObserverCallback = () => {\n afterPaint(() => {\n loadFocusTrap(access(defaultedProps.element));\n if (document.activeElement === null || document.activeElement === document.body) {\n initialFocus(access(defaultedProps.element));\n }\n });\n };\n createEffect(() => {\n const container = access(defaultedProps.element);\n if (container && access(defaultedProps.enabled)) {\n originalFocusedElement = document.activeElement;\n untrack(() => {\n loadFocusTrap(container);\n initialFocus(container);\n });\n const observer = new MutationObserver(mutationObserverCallback);\n if (access(defaultedProps.observeChanges)) {\n observer.observe(container, {\n subtree: true,\n childList: true,\n attributes: true,\n attributeFilter: [\"tabindex\"]\n });\n }\n onCleanup(() => {\n if (access(defaultedProps.observeChanges)) {\n observer.disconnect();\n }\n setFocusableElements(null);\n restoreFocus(container);\n });\n }\n });\n createEffect(() => {\n const _focusableElements = focusableElements();\n if (_focusableElements === null || _focusableElements.length !== 0) return;\n document.addEventListener(\"keydown\", preventFocusChange);\n onCleanup(() => {\n document.removeEventListener(\"keydown\", preventFocusChange);\n });\n });\n createEffect(() => {\n const _firstFocusElement = firstFocusElement();\n if (!_firstFocusElement) return;\n _firstFocusElement.addEventListener(\"keydown\", onFirstFocusElementKeyDown);\n onCleanup(() => {\n _firstFocusElement.removeEventListener(\n \"keydown\",\n onFirstFocusElementKeyDown\n );\n });\n });\n createEffect(() => {\n const _lastFocusElement = lastFocusElement();\n if (!_lastFocusElement) return;\n _lastFocusElement.addEventListener(\"keydown\", onLastFocusElementKeyDown);\n onCleanup(() => {\n _lastFocusElement.removeEventListener(\n \"keydown\",\n onLastFocusElementKeyDown\n );\n });\n });\n const loadFocusTrap = (container) => {\n const focusableElements2 = Array.from(\n container.querySelectorAll(focusableElementSelector)\n ).map((element, domIndex) => ({\n element,\n domIndex,\n tabIndex: element.tabIndex\n })).sort((a, b) => {\n if (a.tabIndex === b.tabIndex) {\n return a.domIndex - b.domIndex;\n }\n return a.tabIndex - b.tabIndex;\n });\n setFocusableElements(focusableElements2.map(({ element }) => element));\n };\n const initialFocus = (container) => {\n afterPaint(() => {\n const initialFocusElement = access(defaultedProps.initialFocusElement) ?? firstFocusElement() ?? container;\n const onInitialFocus = defaultedProps.onInitialFocus;\n let event;\n if (onInitialFocus) {\n event = new CustomEvent(EVENT_INITIAL_FOCUS, EVENT_OPTIONS);\n container.addEventListener(EVENT_INITIAL_FOCUS, onInitialFocus);\n container.dispatchEvent(event);\n container.removeEventListener(EVENT_INITIAL_FOCUS, onInitialFocus);\n }\n if (event?.defaultPrevented === true) {\n return;\n }\n initialFocusElement.focus();\n });\n };\n const onFirstFocusElementKeyDown = (event) => {\n if (event.key === \"Tab\" && event.shiftKey) {\n event.preventDefault();\n lastFocusElement().focus();\n }\n };\n const onLastFocusElementKeyDown = (event) => {\n if (event.key === \"Tab\" && !event.shiftKey) {\n event.preventDefault();\n firstFocusElement().focus();\n }\n };\n const preventFocusChange = (event) => {\n if (event.key === \"Tab\") {\n event.preventDefault();\n }\n };\n const restoreFocus = (container) => {\n afterPaint(() => {\n const restoreFocus2 = access(defaultedProps.restoreFocus);\n if (!restoreFocus2) return;\n const finalFocusElement = access(defaultedProps.finalFocusElement) ?? originalFocusedElement;\n if (!finalFocusElement) {\n return;\n }\n let event;\n const onFinalFocus = defaultedProps.onFinalFocus;\n if (onFinalFocus) {\n event = new CustomEvent(EVENT_FINAL_FOCUS, EVENT_OPTIONS);\n container.addEventListener(EVENT_FINAL_FOCUS, onFinalFocus);\n container.dispatchEvent(event);\n container.removeEventListener(EVENT_FINAL_FOCUS, onFinalFocus);\n }\n if (event?.defaultPrevented === true) {\n return;\n }\n finalFocusElement.focus();\n });\n };\n};\nvar focusTrap_default = createFocusTrap;\n\n// src/index.ts\nvar index_default = focusTrap_default;\nexport {\n index_default as default\n};\n"],"names":["focusableElementSelector","EVENT_INITIAL_FOCUS","EVENT_FINAL_FOCUS","EVENT_OPTIONS","bubbles","cancelable","createFocusTrap","props","defaultedProps","mergeProps","enabled","observeChanges","restoreFocus","focusableElements","setFocusableElements","createSignal","firstFocusElement","createMemo","_focusableElements","lastFocusElement","length","originalFocusedElement","mutationObserverCallback","afterPaint","loadFocusTrap","access","element","document","activeElement","body","initialFocus","createEffect","container","untrack","observer","MutationObserver","observe","subtree","childList","attributes","attributeFilter","onCleanup","disconnect","addEventListener","preventFocusChange","removeEventListener","_firstFocusElement","onFirstFocusElementKeyDown","_lastFocusElement","onLastFocusElementKeyDown","focusableElements2","Array","from","querySelectorAll","map","domIndex","tabIndex","sort","a","b","initialFocusElement","onInitialFocus","event","CustomEvent","dispatchEvent","defaultPrevented","focus","key","shiftKey","preventDefault","restoreFocus2","finalFocusElement","onFinalFocus","focusTrap_default","index_default"],"mappings":"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","x_google_ignoreList":[0]}