@g4rcez/components 3.0.1 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. package/dist/CaretDown.es-Cj7klWI3.js +33 -0
  2. package/dist/CaretDown.es-Cj7klWI3.js.map +1 -0
  3. package/dist/CaretRight.es-0-M8D9y8.js +33 -0
  4. package/dist/CaretRight.es-0-M8D9y8.js.map +1 -0
  5. package/dist/CheckCircle.es-C6QWLfk_.js +33 -0
  6. package/dist/CheckCircle.es-C6QWLfk_.js.map +1 -0
  7. package/dist/File.es-CA-vuPED.js +33 -0
  8. package/dist/File.es-CA-vuPED.js.map +1 -0
  9. package/dist/IconBase.es-DJ1oCtpo.js +50 -0
  10. package/dist/IconBase.es-DJ1oCtpo.js.map +1 -0
  11. package/dist/Info.es-CrZKs4q4.js +33 -0
  12. package/dist/Info.es-CrZKs4q4.js.map +1 -0
  13. package/dist/MotionConfigContext-C7MqlSdv.js +2713 -0
  14. package/dist/MotionConfigContext-C7MqlSdv.js.map +1 -0
  15. package/dist/Warning.es-D_eI6tLe.js +39 -0
  16. package/dist/Warning.es-D_eI6tLe.js.map +1 -0
  17. package/dist/X.es-BJ1O93El.js +39 -0
  18. package/dist/X.es-BJ1O93El.js.map +1 -0
  19. package/dist/ai/docs/Alert.md +1 -1
  20. package/dist/ai/docs/AnimatedList.md +3 -3
  21. package/dist/ai/docs/Button.md +1 -1
  22. package/dist/ai/docs/CommandPalette.md +7 -7
  23. package/dist/ai/docs/Dropdown.md +4 -4
  24. package/dist/ai/docs/Empty.md +9 -9
  25. package/dist/ai/docs/Expand.md +1 -1
  26. package/dist/ai/docs/FileUpload.md +2 -2
  27. package/dist/ai/docs/Input.md +2 -2
  28. package/dist/ai/docs/InputField.md +2 -2
  29. package/dist/ai/docs/List.md +3 -3
  30. package/dist/ai/docs/Menu.md +3 -3
  31. package/dist/ai/docs/MultiSelect.md +1 -1
  32. package/dist/ai/docs/PageCalendar.md +1 -1
  33. package/dist/ai/docs/Select.md +1 -1
  34. package/dist/ai/docs/Slot.md +1 -1
  35. package/dist/ai/docs/Stats.md +11 -11
  36. package/dist/ai/docs/Table.md +1 -1
  37. package/dist/ai/docs/Tag.md +2 -2
  38. package/dist/ai/docs/Timeline.md +5 -5
  39. package/dist/ai/docs/Toolbar.md +2 -2
  40. package/dist/ai/docs/Tooltip.md +3 -3
  41. package/dist/ai/docs/TransferList.md +2 -2
  42. package/dist/autocomplete-Cn9Z2hLq.js +375 -0
  43. package/dist/autocomplete-Cn9Z2hLq.js.map +1 -0
  44. package/dist/calendar-B5lSd0ID.js +1747 -0
  45. package/dist/calendar-B5lSd0ID.js.map +1 -0
  46. package/dist/components/core/button.js +76 -0
  47. package/dist/components/core/button.js.map +1 -0
  48. package/dist/components/core/tag.js +67 -0
  49. package/dist/components/core/tag.js.map +1 -0
  50. package/dist/components/display/alert.js +94 -0
  51. package/dist/components/display/alert.js.map +1 -0
  52. package/dist/components/display/calendar.js +15 -0
  53. package/dist/components/display/calendar.js.map +1 -0
  54. package/dist/components/display/card.d.ts +2 -2
  55. package/dist/components/display/card.d.ts.map +1 -1
  56. package/dist/components/display/card.js +84 -0
  57. package/dist/components/display/card.js.map +1 -0
  58. package/dist/components/display/empty.d.ts +2 -2
  59. package/dist/components/display/empty.d.ts.map +1 -1
  60. package/dist/components/display/list.js +93 -0
  61. package/dist/components/display/list.js.map +1 -0
  62. package/dist/components/display/notifications.js +15 -0
  63. package/dist/components/display/notifications.js.map +1 -0
  64. package/dist/components/display/stats.js +16 -0
  65. package/dist/components/display/stats.js.map +1 -0
  66. package/dist/components/display/tabs.js +12 -0
  67. package/dist/components/display/tabs.js.map +1 -0
  68. package/dist/components/display/timeline.js +29 -0
  69. package/dist/components/display/timeline.js.map +1 -0
  70. package/dist/components/floating/command-palette.d.ts +3 -3
  71. package/dist/components/floating/command-palette.d.ts.map +1 -1
  72. package/dist/components/floating/dropdown.js +58 -0
  73. package/dist/components/floating/dropdown.js.map +1 -0
  74. package/dist/components/floating/expand.js +41 -0
  75. package/dist/components/floating/expand.js.map +1 -0
  76. package/dist/components/floating/menu.d.ts +2 -2
  77. package/dist/components/floating/menu.d.ts.map +1 -1
  78. package/dist/components/floating/menu.js +177 -0
  79. package/dist/components/floating/menu.js.map +1 -0
  80. package/dist/components/floating/modal.js +297 -0
  81. package/dist/components/floating/modal.js.map +1 -0
  82. package/dist/components/floating/tooltip.js +73 -0
  83. package/dist/components/floating/tooltip.js.map +1 -0
  84. package/dist/components/form/autocomplete.js +16 -0
  85. package/dist/components/form/autocomplete.js.map +1 -0
  86. package/dist/components/form/checkbox.js +44 -0
  87. package/dist/components/form/checkbox.js.map +1 -0
  88. package/dist/components/form/date-picker.js +12 -0
  89. package/dist/components/form/date-picker.js.map +1 -0
  90. package/dist/components/form/file-upload.d.ts.map +1 -1
  91. package/dist/components/form/file-upload.js +11 -0
  92. package/dist/components/form/file-upload.js.map +1 -0
  93. package/dist/components/form/form.js +8 -0
  94. package/dist/components/form/form.js.map +1 -0
  95. package/dist/components/form/input-field.d.ts.map +1 -1
  96. package/dist/components/form/input.js +5 -0
  97. package/dist/components/form/input.js.map +1 -0
  98. package/dist/components/form/radiobox.js +30 -0
  99. package/dist/components/form/radiobox.js.map +1 -0
  100. package/dist/components/form/select.js +106 -0
  101. package/dist/components/form/select.js.map +1 -0
  102. package/dist/components/form/switch.js +65 -0
  103. package/dist/components/form/switch.js.map +1 -0
  104. package/dist/components/form/task-list.js +68 -0
  105. package/dist/components/form/task-list.js.map +1 -0
  106. package/dist/components/form/transfer-list.js +55 -0
  107. package/dist/components/form/transfer-list.js.map +1 -0
  108. package/dist/components/page-calendar/calendar-header.d.ts.map +1 -1
  109. package/dist/components/table/table.js +10 -0
  110. package/dist/components/table/table.js.map +1 -0
  111. package/dist/config/context.d.ts +2 -0
  112. package/dist/config/context.d.ts.map +1 -1
  113. package/dist/constants-r-AHn273.js +6 -0
  114. package/dist/constants-r-AHn273.js.map +1 -0
  115. package/dist/context-BFXNJVn2.js +161 -0
  116. package/dist/context-BFXNJVn2.js.map +1 -0
  117. package/dist/date-picker-DwNo22lx.js +1626 -0
  118. package/dist/date-picker-DwNo22lx.js.map +1 -0
  119. package/dist/dom-Dl8XH0CK.js +2833 -0
  120. package/dist/dom-Dl8XH0CK.js.map +1 -0
  121. package/dist/file-upload-Brf2NkLr.js +3245 -0
  122. package/dist/file-upload-Brf2NkLr.js.map +1 -0
  123. package/dist/floating-ui.react-QNHG9W4N.js +3706 -0
  124. package/dist/floating-ui.react-QNHG9W4N.js.map +1 -0
  125. package/dist/fns-D2eyJKd5.js +33 -0
  126. package/dist/fns-D2eyJKd5.js.map +1 -0
  127. package/dist/hooks/use-components-provider.d.ts.map +1 -1
  128. package/dist/index-0YMC-_Lt.js +20 -0
  129. package/dist/index-0YMC-_Lt.js.map +1 -0
  130. package/dist/index-BelDtX5M.js +1821 -0
  131. package/dist/index-BelDtX5M.js.map +1 -0
  132. package/dist/index-C-PuFUZi.js +3416 -0
  133. package/dist/index-C-PuFUZi.js.map +1 -0
  134. package/dist/index-DJSMaZR4.js +35 -0
  135. package/dist/index-DJSMaZR4.js.map +1 -0
  136. package/dist/index-Z-fZHxfJ.js +335 -0
  137. package/dist/index-Z-fZHxfJ.js.map +1 -0
  138. package/dist/index-t1qLJTt5.js +351 -0
  139. package/dist/index-t1qLJTt5.js.map +1 -0
  140. package/dist/index.esm-BaIwleSE.js +343 -0
  141. package/dist/index.esm-BaIwleSE.js.map +1 -0
  142. package/dist/index.js +8125 -27
  143. package/dist/index.js.map +1 -1
  144. package/dist/input-CrGrSnUt.js +441 -0
  145. package/dist/input-CrGrSnUt.js.map +1 -0
  146. package/dist/input-field-5vYcz5tT.js +166 -0
  147. package/dist/input-field-5vYcz5tT.js.map +1 -0
  148. package/dist/notifications-cUdVPs-B.js +2786 -0
  149. package/dist/notifications-cUdVPs-B.js.map +1 -0
  150. package/dist/polymorph-B5n9fs_K.js +10 -0
  151. package/dist/polymorph-B5n9fs_K.js.map +1 -0
  152. package/dist/proxy-BZcQiBrp.js +2495 -0
  153. package/dist/proxy-BZcQiBrp.js.map +1 -0
  154. package/dist/skeleton-D75GFBV6.js +10 -0
  155. package/dist/skeleton-D75GFBV6.js.map +1 -0
  156. package/dist/slot-CRyweuj0.js +79 -0
  157. package/dist/slot-CRyweuj0.js.map +1 -0
  158. package/dist/styles/common.js +29 -0
  159. package/dist/styles/dark.js +214 -0
  160. package/dist/styles/design-tokens.js +98 -0
  161. package/dist/styles/light.js +214 -0
  162. package/dist/styles/theme.js +4 -0
  163. package/dist/styles/theme.types.js +1 -0
  164. package/dist/tabs-S00a8qq8.js +106 -0
  165. package/dist/tabs-S00a8qq8.js.map +1 -0
  166. package/dist/use-motion-value-eGwNuWuw.js +14 -0
  167. package/dist/use-motion-value-eGwNuWuw.js.map +1 -0
  168. package/dist/use-stable-ref-CYh-YkID.js +11 -0
  169. package/dist/use-stable-ref-CYh-YkID.js.map +1 -0
  170. package/dist/use-translations-BwLKTrZv.js +10 -0
  171. package/dist/use-translations-BwLKTrZv.js.map +1 -0
  172. package/package.json +4 -5
  173. package/dist/index.mjs +0 -37108
  174. package/dist/index.mjs.map +0 -1
  175. package/dist/index.umd.js +0 -28
  176. package/dist/index.umd.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-BelDtX5M.js","sources":["../../../node_modules/@phosphor-icons/react/dist/defs/CaretUpDown.es.js","../../../node_modules/@phosphor-icons/react/dist/defs/DotsSixVertical.es.js","../../../node_modules/@phosphor-icons/react/dist/defs/Funnel.es.js","../../../node_modules/@phosphor-icons/react/dist/defs/MagnifyingGlass.es.js","../../../node_modules/@phosphor-icons/react/dist/defs/MagnifyingGlassMinus.es.js","../../../node_modules/@phosphor-icons/react/dist/defs/Plus.es.js","../../../node_modules/@phosphor-icons/react/dist/defs/SortAscending.es.js","../../../node_modules/@phosphor-icons/react/dist/defs/SortDescending.es.js","../../../node_modules/@phosphor-icons/react/dist/defs/StackMinus.es.js","../../../node_modules/@phosphor-icons/react/dist/defs/Trash.es.js","../../../node_modules/@phosphor-icons/react/dist/csr/CaretUpDown.es.js","../../../node_modules/@phosphor-icons/react/dist/csr/DotsSixVertical.es.js","../../../node_modules/@phosphor-icons/react/dist/csr/Funnel.es.js","../../../node_modules/@phosphor-icons/react/dist/csr/MagnifyingGlass.es.js","../../../node_modules/@phosphor-icons/react/dist/csr/MagnifyingGlassMinus.es.js","../../../node_modules/@phosphor-icons/react/dist/csr/Plus.es.js","../../../node_modules/@phosphor-icons/react/dist/csr/SortAscending.es.js","../../../node_modules/@phosphor-icons/react/dist/csr/SortDescending.es.js","../../../node_modules/@phosphor-icons/react/dist/csr/StackMinus.es.js","../../../node_modules/@phosphor-icons/react/dist/csr/Trash.es.js","../node_modules/motion-dom/dist/es/utils/transform.mjs","../node_modules/motion-dom/dist/es/projection/node/group.mjs","../node_modules/framer-motion/dist/es/context/DeprecatedLayoutGroupContext.mjs","../node_modules/framer-motion/dist/es/utils/use-is-mounted.mjs","../node_modules/framer-motion/dist/es/utils/use-force-update.mjs","../node_modules/framer-motion/dist/es/components/LayoutGroup/index.mjs","../node_modules/framer-motion/dist/es/value/use-combine-values.mjs","../node_modules/framer-motion/dist/es/value/use-computed.mjs","../node_modules/framer-motion/dist/es/value/use-transform.mjs","../node_modules/framer-motion/dist/es/gestures/drag/use-drag-controls.mjs","../node_modules/framer-motion/dist/es/context/ReorderContext.mjs","../node_modules/framer-motion/dist/es/components/Reorder/utils/check-reorder.mjs","../node_modules/framer-motion/dist/es/components/Reorder/Group.mjs","../node_modules/framer-motion/dist/es/components/Reorder/utils/auto-scroll.mjs","../node_modules/framer-motion/dist/es/components/Reorder/Item.mjs","../../../node_modules/.pnpm/linq-arrays@3.2.5/node_modules/linq-arrays/dist/index.mjs","../src/components/display/empty.tsx","../src/components/table/pagination.tsx","../src/components/table/row.tsx","../../../node_modules/.pnpm/storage-manager-js@4.2.6-5/node_modules/storage-manager-js/dist/index.js","../src/components/table/table-lib.ts","../src/components/table/sort.tsx","../src/components/table/table.context.tsx","../src/components/table/filter.tsx","../src/components/table/thead.tsx","../src/components/table/inner-table.tsx","../src/components/table/group.tsx","../src/components/table/metadata.tsx","../src/components/table/index.tsx"],"sourcesContent":["import * as e from \"react\";\nconst a = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M184.49,167.51a12,12,0,0,1,0,17l-48,48a12,12,0,0,1-17,0l-48-48a12,12,0,0,1,17-17L128,207l39.51-39.52A12,12,0,0,1,184.49,167.51Zm-96-79L128,49l39.51,39.52a12,12,0,0,0,17-17l-48-48a12,12,0,0,0-17,0l-48,48a12,12,0,0,0,17,17Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M80,176h96l-48,48ZM128,32,80,80h96Z\", opacity: \"0.2\" }), /* @__PURE__ */ e.createElement(\"path\", { d: \"M176,168H80a8,8,0,0,0-5.66,13.66l48,48a8,8,0,0,0,11.32,0l48-48A8,8,0,0,0,176,168Zm-48,44.69L99.31,184h57.38ZM80,88h96a8,8,0,0,0,5.66-13.66l-48-48a8,8,0,0,0-11.32,0l-48,48A8,8,0,0,0,80,88Zm48-44.69L156.69,72H99.31Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M72.61,83.06a8,8,0,0,1,1.73-8.72l48-48a8,8,0,0,1,11.32,0l48,48A8,8,0,0,1,176,88H80A8,8,0,0,1,72.61,83.06ZM176,168H80a8,8,0,0,0-5.66,13.66l48,48a8,8,0,0,0,11.32,0l48-48A8,8,0,0,0,176,168Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M180.24,171.76a6,6,0,0,1,0,8.48l-48,48a6,6,0,0,1-8.48,0l-48-48a6,6,0,0,1,8.48-8.48L128,215.51l43.76-43.75A6,6,0,0,1,180.24,171.76Zm-96-87.52L128,40.49l43.76,43.75a6,6,0,0,0,8.48-8.48l-48-48a6,6,0,0,0-8.48,0l-48,48a6,6,0,0,0,8.48,8.48Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M181.66,170.34a8,8,0,0,1,0,11.32l-48,48a8,8,0,0,1-11.32,0l-48-48a8,8,0,0,1,11.32-11.32L128,212.69l42.34-42.35A8,8,0,0,1,181.66,170.34Zm-96-84.68L128,43.31l42.34,42.35a8,8,0,0,0,11.32-11.32l-48-48a8,8,0,0,0-11.32,0l-48,48A8,8,0,0,0,85.66,85.66Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M178.83,173.17a4,4,0,0,1,0,5.66l-48,48a4,4,0,0,1-5.66,0l-48-48a4,4,0,0,1,5.66-5.66L128,218.34l45.17-45.17A4,4,0,0,1,178.83,173.17Zm-96-90.34L128,37.66l45.17,45.17a4,4,0,1,0,5.66-5.66l-48-48a4,4,0,0,0-5.66,0l-48,48a4,4,0,0,0,5.66,5.66Z\" }))\n ]\n]);\nexport {\n a as default\n};\n","import * as a from \"react\";\nconst e = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M108,60A16,16,0,1,1,92,44,16,16,0,0,1,108,60Zm56,16a16,16,0,1,0-16-16A16,16,0,0,0,164,76ZM92,112a16,16,0,1,0,16,16A16,16,0,0,0,92,112Zm72,0a16,16,0,1,0,16,16A16,16,0,0,0,164,112ZM92,180a16,16,0,1,0,16,16A16,16,0,0,0,92,180Zm72,0a16,16,0,1,0,16,16A16,16,0,0,0,164,180Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\n \"path\",\n {\n d: \"M208,32V224a16,16,0,0,1-16,16H64a16,16,0,0,1-16-16V32A16,16,0,0,1,64,16H192A16,16,0,0,1,208,32Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ a.createElement(\"path\", { d: \"M104,60A12,12,0,1,1,92,48,12,12,0,0,1,104,60Zm60,12a12,12,0,1,0-12-12A12,12,0,0,0,164,72ZM92,116a12,12,0,1,0,12,12A12,12,0,0,0,92,116Zm72,0a12,12,0,1,0,12,12A12,12,0,0,0,164,116ZM92,184a12,12,0,1,0,12,12A12,12,0,0,0,92,184Zm72,0a12,12,0,1,0,12,12A12,12,0,0,0,164,184Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M192,16H64A16,16,0,0,0,48,32V224a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V32A16,16,0,0,0,192,16ZM100,200a12,12,0,1,1,12-12A12,12,0,0,1,100,200Zm0-60a12,12,0,1,1,12-12A12,12,0,0,1,100,140Zm0-60a12,12,0,1,1,12-12A12,12,0,0,1,100,80Zm56,120a12,12,0,1,1,12-12A12,12,0,0,1,156,200Zm0-60a12,12,0,1,1,12-12A12,12,0,0,1,156,140Zm0-60a12,12,0,1,1,12-12A12,12,0,0,1,156,80Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M102,60A10,10,0,1,1,92,50,10,10,0,0,1,102,60Zm62,10a10,10,0,1,0-10-10A10,10,0,0,0,164,70ZM92,118a10,10,0,1,0,10,10A10,10,0,0,0,92,118Zm72,0a10,10,0,1,0,10,10A10,10,0,0,0,164,118ZM92,186a10,10,0,1,0,10,10A10,10,0,0,0,92,186Zm72,0a10,10,0,1,0,10,10A10,10,0,0,0,164,186Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M104,60A12,12,0,1,1,92,48,12,12,0,0,1,104,60Zm60,12a12,12,0,1,0-12-12A12,12,0,0,0,164,72ZM92,116a12,12,0,1,0,12,12A12,12,0,0,0,92,116Zm72,0a12,12,0,1,0,12,12A12,12,0,0,0,164,116ZM92,184a12,12,0,1,0,12,12A12,12,0,0,0,92,184Zm72,0a12,12,0,1,0,12,12A12,12,0,0,0,164,184Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M100,60a8,8,0,1,1-8-8A8,8,0,0,1,100,60Zm64,8a8,8,0,1,0-8-8A8,8,0,0,0,164,68ZM92,120a8,8,0,1,0,8,8A8,8,0,0,0,92,120Zm72,0a8,8,0,1,0,8,8A8,8,0,0,0,164,120ZM92,188a8,8,0,1,0,8,8A8,8,0,0,0,92,188Zm72,0a8,8,0,1,0,8,8A8,8,0,0,0,164,188Z\" }))\n ]\n]);\nexport {\n e as default\n};\n","import * as e from \"react\";\nconst l = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M234.29,47.91A20,20,0,0,0,216,36H40A20,20,0,0,0,25.2,69.45l.12.14L92,140.75V216a20,20,0,0,0,31.1,16.64l32-21.33A20,20,0,0,0,164,194.66V140.75l66.67-71.16.12-.14A20,20,0,0,0,234.29,47.91Zm-91,79.89A12,12,0,0,0,140,136v56.52l-24,16V136a12,12,0,0,0-3.25-8.2L49.23,60H206.77Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\n \"path\",\n {\n d: \"M221.9,61.38,152,136v58.65a8,8,0,0,1-3.56,6.66l-32,21.33A8,8,0,0,1,104,216V136L34.1,61.38A8,8,0,0,1,40,48H216A8,8,0,0,1,221.9,61.38Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ e.createElement(\"path\", { d: \"M230.6,49.53A15.81,15.81,0,0,0,216,40H40A16,16,0,0,0,28.19,66.76l.08.09L96,139.17V216a16,16,0,0,0,24.87,13.32l32-21.34A16,16,0,0,0,160,194.66V139.17l67.74-72.32.08-.09A15.8,15.8,0,0,0,230.6,49.53ZM40,56h0Zm106.18,74.58A8,8,0,0,0,144,136v58.66L112,216V136a8,8,0,0,0-2.16-5.47L40,56H216Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M227.81,66.76l-.08.09L160,139.17v55.49A16,16,0,0,1,152.87,208l-32,21.34A16,16,0,0,1,96,216V139.17L28.27,66.85l-.08-.09A16,16,0,0,1,40,40H216a16,16,0,0,1,11.84,26.76Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M228.77,50.34A13.8,13.8,0,0,0,216,42H40A14,14,0,0,0,29.67,65.42l.06.07L98,138.38V216a14,14,0,0,0,21.77,11.64l32-21.33A14,14,0,0,0,158,194.66V138.38l68.33-73A13.82,13.82,0,0,0,228.77,50.34Zm-11.26,6.94L147.62,131.9A6,6,0,0,0,146,136v58.66a2,2,0,0,1-.89,1.67l-32,21.33A2,2,0,0,1,110,216V136a6,6,0,0,0-1.62-4.1L38.53,57.32A2,2,0,0,1,40,54H216a1.9,1.9,0,0,1,1.83,1.19A1.86,1.86,0,0,1,217.51,57.28Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M230.6,49.53A15.81,15.81,0,0,0,216,40H40A16,16,0,0,0,28.19,66.76l.08.09L96,139.17V216a16,16,0,0,0,24.87,13.32l32-21.34A16,16,0,0,0,160,194.66V139.17l67.74-72.32.08-.09A15.8,15.8,0,0,0,230.6,49.53ZM40,56h0Zm106.18,74.58A8,8,0,0,0,144,136v58.66L112,216V136a8,8,0,0,0-2.16-5.47L40,56H216Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M227,51.15A11.85,11.85,0,0,0,216,44H40a12,12,0,0,0-8.88,20.07l.05.05L100,137.59V216a12,12,0,0,0,18.66,10l32-21.33a12,12,0,0,0,5.35-10V137.59l68.86-73.52A11.85,11.85,0,0,0,227,51.15Zm-8,7.5-69.9,74.62A4,4,0,0,0,148,136v58.65a4,4,0,0,1-1.78,3.33l-32,21.33A4,4,0,0,1,108,216V136a4,4,0,0,0-1.08-2.74L37.05,58.67A4,4,0,0,1,40,52H216a4,4,0,0,1,3,6.65Z\" }))\n ]\n]);\nexport {\n l as default\n};\n","import * as e from \"react\";\nconst a = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M232.49,215.51,185,168a92.12,92.12,0,1,0-17,17l47.53,47.54a12,12,0,0,0,17-17ZM44,112a68,68,0,1,1,68,68A68.07,68.07,0,0,1,44,112Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M192,112a80,80,0,1,1-80-80A80,80,0,0,1,192,112Z\", opacity: \"0.2\" }), /* @__PURE__ */ e.createElement(\"path\", { d: \"M229.66,218.34,179.6,168.28a88.21,88.21,0,1,0-11.32,11.31l50.06,50.07a8,8,0,0,0,11.32-11.32ZM40,112a72,72,0,1,1,72,72A72.08,72.08,0,0,1,40,112Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M168,112a56,56,0,1,1-56-56A56,56,0,0,1,168,112Zm61.66,117.66a8,8,0,0,1-11.32,0l-50.06-50.07a88,88,0,1,1,11.32-11.31l50.06,50.06A8,8,0,0,1,229.66,229.66ZM112,184a72,72,0,1,0-72-72A72.08,72.08,0,0,0,112,184Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M228.24,219.76l-51.38-51.38a86.15,86.15,0,1,0-8.48,8.48l51.38,51.38a6,6,0,0,0,8.48-8.48ZM38,112a74,74,0,1,1,74,74A74.09,74.09,0,0,1,38,112Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M229.66,218.34l-50.07-50.06a88.11,88.11,0,1,0-11.31,11.31l50.06,50.07a8,8,0,0,0,11.32-11.32ZM40,112a72,72,0,1,1,72,72A72.08,72.08,0,0,1,40,112Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M226.83,221.17l-52.7-52.7a84.1,84.1,0,1,0-5.66,5.66l52.7,52.7a4,4,0,0,0,5.66-5.66ZM36,112a76,76,0,1,1,76,76A76.08,76.08,0,0,1,36,112Z\" }))\n ]\n]);\nexport {\n a as default\n};\n","import * as e from \"react\";\nconst a = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M156,112a12,12,0,0,1-12,12H80a12,12,0,0,1,0-24h64A12,12,0,0,1,156,112Zm76.49,120.49a12,12,0,0,1-17,0L168,185a92.12,92.12,0,1,1,17-17l47.54,47.53A12,12,0,0,1,232.49,232.49ZM112,180a68,68,0,1,0-68-68A68.08,68.08,0,0,0,112,180Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M192,112a80,80,0,1,1-80-80A80,80,0,0,1,192,112Z\", opacity: \"0.2\" }), /* @__PURE__ */ e.createElement(\"path\", { d: \"M229.66,218.34,179.6,168.28a88.21,88.21,0,1,0-11.32,11.31l50.06,50.07a8,8,0,0,0,11.32-11.32ZM40,112a72,72,0,1,1,72,72A72.08,72.08,0,0,1,40,112Zm112,0a8,8,0,0,1-8,8H80a8,8,0,0,1,0-16h64A8,8,0,0,1,152,112Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M229.66,218.34,179.6,168.28a88.21,88.21,0,1,0-11.32,11.31l50.06,50.07a8,8,0,0,0,11.32-11.32ZM144,120H80a8,8,0,0,1,0-16h64a8,8,0,0,1,0,16Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M150,112a6,6,0,0,1-6,6H80a6,6,0,0,1,0-12h64A6,6,0,0,1,150,112Zm78.24,116.24a6,6,0,0,1-8.48,0l-51.38-51.38a86.15,86.15,0,1,1,8.48-8.48l51.38,51.38A6,6,0,0,1,228.24,228.24ZM112,186a74,74,0,1,0-74-74A74.09,74.09,0,0,0,112,186Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M152,112a8,8,0,0,1-8,8H80a8,8,0,0,1,0-16h64A8,8,0,0,1,152,112Zm77.66,117.66a8,8,0,0,1-11.32,0l-50.06-50.07a88.11,88.11,0,1,1,11.31-11.31l50.07,50.06A8,8,0,0,1,229.66,229.66ZM112,184a72,72,0,1,0-72-72A72.08,72.08,0,0,0,112,184Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M148,112a4,4,0,0,1-4,4H80a4,4,0,0,1,0-8h64A4,4,0,0,1,148,112Zm78.83,114.83a4,4,0,0,1-5.66,0l-52.7-52.7a84.1,84.1,0,1,1,5.66-5.66l52.7,52.7A4,4,0,0,1,226.83,226.83ZM112,188a76,76,0,1,0-76-76A76.08,76.08,0,0,0,112,188Z\" }))\n ]\n]);\nexport {\n a as default\n};\n","import * as e from \"react\";\nconst a = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M228,128a12,12,0,0,1-12,12H140v76a12,12,0,0,1-24,0V140H40a12,12,0,0,1,0-24h76V40a12,12,0,0,1,24,0v76h76A12,12,0,0,1,228,128Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\n \"path\",\n {\n d: \"M216,56V200a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V56A16,16,0,0,1,56,40H200A16,16,0,0,1,216,56Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ e.createElement(\"path\", { d: \"M224,128a8,8,0,0,1-8,8H136v80a8,8,0,0,1-16,0V136H40a8,8,0,0,1,0-16h80V40a8,8,0,0,1,16,0v80h80A8,8,0,0,1,224,128Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM184,136H136v48a8,8,0,0,1-16,0V136H72a8,8,0,0,1,0-16h48V72a8,8,0,0,1,16,0v48h48a8,8,0,0,1,0,16Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M222,128a6,6,0,0,1-6,6H134v82a6,6,0,0,1-12,0V134H40a6,6,0,0,1,0-12h82V40a6,6,0,0,1,12,0v82h82A6,6,0,0,1,222,128Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M224,128a8,8,0,0,1-8,8H136v80a8,8,0,0,1-16,0V136H40a8,8,0,0,1,0-16h80V40a8,8,0,0,1,16,0v80h80A8,8,0,0,1,224,128Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M220,128a4,4,0,0,1-4,4H132v84a4,4,0,0,1-8,0V132H40a4,4,0,0,1,0-8h84V40a4,4,0,0,1,8,0v84h84A4,4,0,0,1,220,128Z\" }))\n ]\n]);\nexport {\n a as default\n};\n","import * as a from \"react\";\nconst e = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M128,128a12,12,0,0,1-12,12H48a12,12,0,0,1,0-24h68A12,12,0,0,1,128,128ZM48,76H180a12,12,0,0,0,0-24H48a12,12,0,0,0,0,24Zm52,104H48a12,12,0,0,0,0,24h52a12,12,0,0,0,0-24Zm132.49-20.49a12,12,0,0,0-17,0L196,179V112a12,12,0,0,0-24,0v67l-19.51-19.52a12,12,0,0,0-17,17l40,40a12,12,0,0,0,17,0l40-40A12,12,0,0,0,232.49,159.51Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M224,80v88l-24,24H48V64H208A16,16,0,0,1,224,80Z\", opacity: \"0.2\" }), /* @__PURE__ */ a.createElement(\"path\", { d: \"M128,128a8,8,0,0,1-8,8H48a8,8,0,0,1,0-16h72A8,8,0,0,1,128,128ZM48,72H184a8,8,0,0,0,0-16H48a8,8,0,0,0,0,16Zm56,112H48a8,8,0,0,0,0,16h56a8,8,0,0,0,0-16Zm125.66-21.66a8,8,0,0,0-11.32,0L192,188.69V112a8,8,0,0,0-16,0v76.69l-26.34-26.35a8,8,0,0,0-11.32,11.32l40,40a8,8,0,0,0,11.32,0l40-40A8,8,0,0,0,229.66,162.34Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM72,72h96a8,8,0,0,1,0,16H72a8,8,0,0,1,0-16Zm40,112H72a8,8,0,0,1,0-16h40a8,8,0,0,1,0,16Zm8-48H72a8,8,0,0,1,0-16h48a8,8,0,0,1,0,16Zm77.66,29.66-24,24a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L160,164.69V120a8,8,0,0,1,16,0v44.69l10.34-10.35a8,8,0,0,1,11.32,11.32Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M126,128a6,6,0,0,1-6,6H48a6,6,0,0,1,0-12h72A6,6,0,0,1,126,128ZM48,70H184a6,6,0,0,0,0-12H48a6,6,0,0,0,0,12Zm56,116H48a6,6,0,0,0,0,12h56a6,6,0,0,0,0-12Zm124.24-22.24a6,6,0,0,0-8.48,0L190,193.51V112a6,6,0,0,0-12,0v81.51l-29.76-29.75a6,6,0,0,0-8.48,8.48l40,40a6,6,0,0,0,8.48,0l40-40A6,6,0,0,0,228.24,163.76Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M128,128a8,8,0,0,1-8,8H48a8,8,0,0,1,0-16h72A8,8,0,0,1,128,128ZM48,72H184a8,8,0,0,0,0-16H48a8,8,0,0,0,0,16Zm56,112H48a8,8,0,0,0,0,16h56a8,8,0,0,0,0-16Zm125.66-21.66a8,8,0,0,0-11.32,0L192,188.69V112a8,8,0,0,0-16,0v76.69l-26.34-26.35a8,8,0,0,0-11.32,11.32l40,40a8,8,0,0,0,11.32,0l40-40A8,8,0,0,0,229.66,162.34Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M124,128a4,4,0,0,1-4,4H48a4,4,0,0,1,0-8h72A4,4,0,0,1,124,128ZM48,68H184a4,4,0,0,0,0-8H48a4,4,0,0,0,0,8Zm56,120H48a4,4,0,0,0,0,8h56a4,4,0,0,0,0-8Zm122.83-22.83a4,4,0,0,0-5.66,0L188,198.34V112a4,4,0,0,0-8,0v86.34l-33.17-33.17a4,4,0,0,0-5.66,5.66l40,40a4,4,0,0,0,5.66,0l40-40A4,4,0,0,0,226.83,165.17Z\" }))\n ]\n]);\nexport {\n e as default\n};\n","import * as a from \"react\";\nconst e = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M36,128a12,12,0,0,1,12-12h68a12,12,0,0,1,0,24H48A12,12,0,0,1,36,128ZM48,76h52a12,12,0,0,0,0-24H48a12,12,0,0,0,0,24ZM180,180H48a12,12,0,0,0,0,24H180a12,12,0,0,0,0-24ZM232.49,79.51l-40-40a12,12,0,0,0-17,0l-40,40a12,12,0,0,0,17,17L172,77v67a12,12,0,0,0,24,0V77l19.51,19.52a12,12,0,0,0,17-17Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M224,88v88a16,16,0,0,1-16,16H48V64H200Z\", opacity: \"0.2\" }), /* @__PURE__ */ a.createElement(\"path\", { d: \"M40,128a8,8,0,0,1,8-8h72a8,8,0,0,1,0,16H48A8,8,0,0,1,40,128Zm8-56h56a8,8,0,0,0,0-16H48a8,8,0,0,0,0,16ZM184,184H48a8,8,0,0,0,0,16H184a8,8,0,0,0,0-16ZM229.66,82.34l-40-40a8,8,0,0,0-11.32,0l-40,40a8,8,0,0,0,11.32,11.32L176,67.31V144a8,8,0,0,0,16,0V67.31l26.34,26.35a8,8,0,0,0,11.32-11.32Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM72,72h40a8,8,0,0,1,0,16H72a8,8,0,0,1,0-16Zm0,48h48a8,8,0,0,1,0,16H72a8,8,0,0,1,0-16Zm96,64H72a8,8,0,0,1,0-16h96a8,8,0,0,1,0,16Zm29.66-82.34a8,8,0,0,1-11.32,0L176,91.31V136a8,8,0,0,1-16,0V91.31l-10.34,10.35a8,8,0,0,1-11.32-11.32l24-24a8,8,0,0,1,11.32,0l24,24A8,8,0,0,1,197.66,101.66Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M42,128a6,6,0,0,1,6-6h72a6,6,0,0,1,0,12H48A6,6,0,0,1,42,128Zm6-58h56a6,6,0,0,0,0-12H48a6,6,0,0,0,0,12ZM184,186H48a6,6,0,0,0,0,12H184a6,6,0,0,0,0-12ZM228.24,83.76l-40-40a6,6,0,0,0-8.48,0l-40,40a6,6,0,0,0,8.48,8.48L178,62.49V144a6,6,0,0,0,12,0V62.49l29.76,29.75a6,6,0,0,0,8.48-8.48Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M40,128a8,8,0,0,1,8-8h72a8,8,0,0,1,0,16H48A8,8,0,0,1,40,128Zm8-56h56a8,8,0,0,0,0-16H48a8,8,0,0,0,0,16ZM184,184H48a8,8,0,0,0,0,16H184a8,8,0,0,0,0-16ZM229.66,82.34l-40-40a8,8,0,0,0-11.32,0l-40,40a8,8,0,0,0,11.32,11.32L176,67.31V144a8,8,0,0,0,16,0V67.31l26.34,26.35a8,8,0,0,0,11.32-11.32Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M44,128a4,4,0,0,1,4-4h72a4,4,0,0,1,0,8H48A4,4,0,0,1,44,128Zm4-60h56a4,4,0,0,0,0-8H48a4,4,0,0,0,0,8ZM184,188H48a4,4,0,0,0,0,8H184a4,4,0,0,0,0-8ZM226.83,85.17l-40-40a4,4,0,0,0-5.66,0l-40,40a4,4,0,0,0,5.66,5.66L180,57.66V144a4,4,0,0,0,8,0V57.66l33.17,33.17a4,4,0,1,0,5.66-5.66Z\" }))\n ]\n]);\nexport {\n e as default\n};\n","import * as a from \"react\";\nconst l = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M240,200a12,12,0,0,1-12,12H188a12,12,0,0,1,0-24h40A12,12,0,0,1,240,200ZM218,117.63,128,170.11,38.05,117.63A12,12,0,0,0,26,138.37l96,56a12,12,0,0,0,12.1,0l96-56A12,12,0,1,0,218,117.63ZM20,80a12,12,0,0,1,6-10.37l96-56a12.06,12.06,0,0,1,12.1,0l96,56a12,12,0,0,1,0,20.74l-96,56a12,12,0,0,1-12.1,0l-96-56A12,12,0,0,1,20,80Zm35.82,0L128,122.11,200.18,80,128,37.89ZM138,212.3,128,218.11,38.05,165.63A12,12,0,0,0,26,186.37l96,56a12,12,0,0,0,12.1,0l16-9.34A12,12,0,1,0,138,212.3Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M224,80l-96,56L32,80l96-56Z\", opacity: \"0.2\" }), /* @__PURE__ */ a.createElement(\"path\", { d: \"M240,200a8,8,0,0,1-8,8H184a8,8,0,0,1,0-16h48A8,8,0,0,1,240,200Zm-20-78.91-92,53.65L36,121.09A8,8,0,0,0,28,134.91l96,56a8,8,0,0,0,8.06,0l96-56A8,8,0,1,0,220,121.09ZM24,80a8,8,0,0,1,4-6.91l96-56a8,8,0,0,1,8.06,0l96,56a8,8,0,0,1,0,13.82l-96,56a8,8,0,0,1-8.06,0l-96-56A8,8,0,0,1,24,80Zm23.88,0L128,126.74,208.12,80,128,33.26ZM140,215.76l-12,7L36,169.09A8,8,0,0,0,28,182.91l96,56a8,8,0,0,0,8.06,0l16-9.33A8,8,0,1,0,140,215.76Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M230.91,124A8,8,0,0,1,228,134.91l-96,56a8,8,0,0,1-8.06,0l-96-56A8,8,0,0,1,36,121.09l92,53.65,92-53.65A8,8,0,0,1,230.91,124ZM28,86.91l96,56a8,8,0,0,0,8.06,0l96-56a8,8,0,0,0,0-13.82l-96-56a8,8,0,0,0-8.06,0l-96,56a8,8,0,0,0,0,13.82ZM232,192H184a8,8,0,0,0,0,16h48a8,8,0,0,0,0-16Zm-92,23.76-12,7L36,169.09A8,8,0,0,0,28,182.91l96,56a8,8,0,0,0,8.06,0l16-9.33A8,8,0,1,0,140,215.76Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M238,200a6,6,0,0,1-6,6H184a6,6,0,0,1,0-12h48A6,6,0,0,1,238,200Zm-17-77.18-93,54.23L35,122.82a6,6,0,0,0-6,10.36l96,56a6,6,0,0,0,6,0l96-56a6,6,0,0,0-6-10.36ZM26,80a6,6,0,0,1,3-5.18l96-56a6,6,0,0,1,6,0l96,56a6,6,0,0,1,0,10.36l-96,56a6,6,0,0,1-6,0l-96-56A6,6,0,0,1,26,80Zm17.91,0L128,129.05,212.09,80,128,31ZM141,217.48l-13,7.57L35,170.82a6,6,0,0,0-6,10.36l96,56a6,6,0,0,0,6,0l16-9.33a6,6,0,0,0-6-10.37Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M230.91,124A8,8,0,0,1,228,134.91l-96,56a8,8,0,0,1-8.06,0l-96-56A8,8,0,0,1,36,121.09l92,53.65,92-53.65A8,8,0,0,1,230.91,124ZM24,80a8,8,0,0,1,4-6.91l96-56a8,8,0,0,1,8.06,0l96,56a8,8,0,0,1,0,13.82l-96,56a8,8,0,0,1-8.06,0l-96-56A8,8,0,0,1,24,80Zm23.88,0L128,126.74,208.12,80,128,33.26ZM232,192H184a8,8,0,0,0,0,16h48a8,8,0,0,0,0-16Zm-92,23.76-12,7L36,169.09A8,8,0,0,0,28,182.91l96,56a8,8,0,0,0,8.06,0l16-9.33A8,8,0,1,0,140,215.76Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M236,200a4,4,0,0,1-4,4H184a4,4,0,0,1,0-8h48A4,4,0,0,1,236,200Zm-14-75.46-94,54.83L34,124.54a4,4,0,0,0-4,6.92l96,56a4,4,0,0,0,4,0l96-56a4,4,0,1,0-4-6.92ZM28,80a4,4,0,0,1,2-3.46l96-56a4,4,0,0,1,4,0l96,56a4,4,0,0,1,0,6.92l-96,56a4,4,0,0,1-4,0l-96-56A4,4,0,0,1,28,80Zm11.94,0L128,131.37,216.06,80,128,28.63ZM142,219.21l-14,8.16L34,172.54a4,4,0,0,0-4,6.92l96,56a4,4,0,0,0,4,0l16-9.34a4,4,0,1,0-4-6.91Z\" }))\n ]\n]);\nexport {\n l as default\n};\n","import * as a from \"react\";\nconst e = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M216,48H180V36A28,28,0,0,0,152,8H104A28,28,0,0,0,76,36V48H40a12,12,0,0,0,0,24h4V208a20,20,0,0,0,20,20H192a20,20,0,0,0,20-20V72h4a12,12,0,0,0,0-24ZM100,36a4,4,0,0,1,4-4h48a4,4,0,0,1,4,4V48H100Zm88,168H68V72H188ZM116,104v64a12,12,0,0,1-24,0V104a12,12,0,0,1,24,0Zm48,0v64a12,12,0,0,1-24,0V104a12,12,0,0,1,24,0Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M200,56V208a8,8,0,0,1-8,8H64a8,8,0,0,1-8-8V56Z\", opacity: \"0.2\" }), /* @__PURE__ */ a.createElement(\"path\", { d: \"M216,48H176V40a24,24,0,0,0-24-24H104A24,24,0,0,0,80,40v8H40a8,8,0,0,0,0,16h8V208a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V64h8a8,8,0,0,0,0-16ZM96,40a8,8,0,0,1,8-8h48a8,8,0,0,1,8,8v8H96Zm96,168H64V64H192ZM112,104v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm48,0v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M216,48H176V40a24,24,0,0,0-24-24H104A24,24,0,0,0,80,40v8H40a8,8,0,0,0,0,16h8V208a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V64h8a8,8,0,0,0,0-16ZM112,168a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm48,0a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm0-120H96V40a8,8,0,0,1,8-8h48a8,8,0,0,1,8,8Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M216,50H174V40a22,22,0,0,0-22-22H104A22,22,0,0,0,82,40V50H40a6,6,0,0,0,0,12H50V208a14,14,0,0,0,14,14H192a14,14,0,0,0,14-14V62h10a6,6,0,0,0,0-12ZM94,40a10,10,0,0,1,10-10h48a10,10,0,0,1,10,10V50H94ZM194,208a2,2,0,0,1-2,2H64a2,2,0,0,1-2-2V62H194ZM110,104v64a6,6,0,0,1-12,0V104a6,6,0,0,1,12,0Zm48,0v64a6,6,0,0,1-12,0V104a6,6,0,0,1,12,0Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M216,48H176V40a24,24,0,0,0-24-24H104A24,24,0,0,0,80,40v8H40a8,8,0,0,0,0,16h8V208a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V64h8a8,8,0,0,0,0-16ZM96,40a8,8,0,0,1,8-8h48a8,8,0,0,1,8,8v8H96Zm96,168H64V64H192ZM112,104v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm48,0v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M216,52H172V40a20,20,0,0,0-20-20H104A20,20,0,0,0,84,40V52H40a4,4,0,0,0,0,8H52V208a12,12,0,0,0,12,12H192a12,12,0,0,0,12-12V60h12a4,4,0,0,0,0-8ZM92,40a12,12,0,0,1,12-12h48a12,12,0,0,1,12,12V52H92ZM196,208a4,4,0,0,1-4,4H64a4,4,0,0,1-4-4V60H196ZM108,104v64a4,4,0,0,1-8,0V104a4,4,0,0,1,8,0Zm48,0v64a4,4,0,0,1-8,0V104a4,4,0,0,1,8,0Z\" }))\n ]\n]);\nexport {\n e as default\n};\n","import * as o from \"react\";\nimport a from \"../lib/IconBase.es.js\";\nimport n from \"../defs/CaretUpDown.es.js\";\nconst e = o.forwardRef((r, t) => /* @__PURE__ */ o.createElement(a, { ref: t, ...r, weights: n }));\ne.displayName = \"CaretUpDownIcon\";\nconst c = e;\nexport {\n c as CaretUpDown,\n e as CaretUpDownIcon\n};\n","import * as o from \"react\";\nimport a from \"../lib/IconBase.es.js\";\nimport i from \"../defs/DotsSixVertical.es.js\";\nconst t = o.forwardRef((e, r) => /* @__PURE__ */ o.createElement(a, { ref: r, ...e, weights: i }));\nt.displayName = \"DotsSixVerticalIcon\";\nconst m = t;\nexport {\n m as DotsSixVertical,\n t as DotsSixVerticalIcon\n};\n","import * as e from \"react\";\nimport t from \"../lib/IconBase.es.js\";\nimport a from \"../defs/Funnel.es.js\";\nconst o = e.forwardRef((n, r) => /* @__PURE__ */ e.createElement(t, { ref: r, ...n, weights: a }));\no.displayName = \"FunnelIcon\";\nconst s = o;\nexport {\n s as Funnel,\n o as FunnelIcon\n};\n","import * as a from \"react\";\nimport i from \"../lib/IconBase.es.js\";\nimport e from \"../defs/MagnifyingGlass.es.js\";\nconst o = a.forwardRef((s, n) => /* @__PURE__ */ a.createElement(i, { ref: n, ...s, weights: e }));\no.displayName = \"MagnifyingGlassIcon\";\nconst f = o;\nexport {\n f as MagnifyingGlass,\n o as MagnifyingGlassIcon\n};\n","import * as s from \"react\";\nimport o from \"../lib/IconBase.es.js\";\nimport e from \"../defs/MagnifyingGlassMinus.es.js\";\nconst n = s.forwardRef((a, i) => /* @__PURE__ */ s.createElement(o, { ref: i, ...a, weights: e }));\nn.displayName = \"MagnifyingGlassMinusIcon\";\nconst f = n;\nexport {\n f as MagnifyingGlassMinus,\n n as MagnifyingGlassMinusIcon\n};\n","import * as o from \"react\";\nimport t from \"../lib/IconBase.es.js\";\nimport a from \"../defs/Plus.es.js\";\nconst e = o.forwardRef((r, s) => /* @__PURE__ */ o.createElement(t, { ref: s, ...r, weights: a }));\ne.displayName = \"PlusIcon\";\nconst n = e;\nexport {\n n as Plus,\n e as PlusIcon\n};\n","import * as o from \"react\";\nimport n from \"../lib/IconBase.es.js\";\nimport c from \"../defs/SortAscending.es.js\";\nconst e = o.forwardRef((r, t) => /* @__PURE__ */ o.createElement(n, { ref: t, ...r, weights: c }));\ne.displayName = \"SortAscendingIcon\";\nconst i = e;\nexport {\n i as SortAscending,\n e as SortAscendingIcon\n};\n","import * as e from \"react\";\nimport n from \"../lib/IconBase.es.js\";\nimport c from \"../defs/SortDescending.es.js\";\nconst o = e.forwardRef((r, t) => /* @__PURE__ */ e.createElement(n, { ref: t, ...r, weights: c }));\no.displayName = \"SortDescendingIcon\";\nconst i = o;\nexport {\n i as SortDescending,\n o as SortDescendingIcon\n};\n","import * as o from \"react\";\nimport e from \"../lib/IconBase.es.js\";\nimport r from \"../defs/StackMinus.es.js\";\nconst t = o.forwardRef((a, c) => /* @__PURE__ */ o.createElement(e, { ref: c, ...a, weights: r }));\nt.displayName = \"StackMinusIcon\";\nconst i = t;\nexport {\n i as StackMinus,\n t as StackMinusIcon\n};\n","import * as o from \"react\";\nimport s from \"../lib/IconBase.es.js\";\nimport t from \"../defs/Trash.es.js\";\nconst r = o.forwardRef((a, e) => /* @__PURE__ */ o.createElement(s, { ref: e, ...a, weights: t }));\nr.displayName = \"TrashIcon\";\nconst n = r;\nexport {\n n as Trash,\n r as TrashIcon\n};\n","import { interpolate } from './interpolate.mjs';\n\nfunction transform(...args) {\n const useImmediate = !Array.isArray(args[0]);\n const argOffset = useImmediate ? 0 : -1;\n const inputValue = args[0 + argOffset];\n const inputRange = args[1 + argOffset];\n const outputRange = args[2 + argOffset];\n const options = args[3 + argOffset];\n const interpolator = interpolate(inputRange, outputRange, options);\n return useImmediate ? interpolator(inputValue) : interpolator;\n}\n\nexport { transform };\n//# sourceMappingURL=transform.mjs.map\n","const notify = (node) => !node.isLayoutDirty && node.willUpdate(false);\nfunction nodeGroup() {\n const nodes = new Set();\n const subscriptions = new WeakMap();\n const dirtyAll = () => nodes.forEach(notify);\n return {\n add: (node) => {\n nodes.add(node);\n subscriptions.set(node, node.addEventListener(\"willUpdate\", dirtyAll));\n },\n remove: (node) => {\n nodes.delete(node);\n const unsubscribe = subscriptions.get(node);\n if (unsubscribe) {\n unsubscribe();\n subscriptions.delete(node);\n }\n dirtyAll();\n },\n dirty: dirtyAll,\n };\n}\n\nexport { nodeGroup };\n//# sourceMappingURL=group.mjs.map\n","\"use client\";\nimport { createContext } from 'react';\n\n/**\n * Note: Still used by components generated by old versions of Framer\n *\n * @deprecated\n */\nconst DeprecatedLayoutGroupContext = createContext(null);\n\nexport { DeprecatedLayoutGroupContext };\n//# sourceMappingURL=DeprecatedLayoutGroupContext.mjs.map\n","\"use client\";\nimport { useRef } from 'react';\nimport { useIsomorphicLayoutEffect } from './use-isomorphic-effect.mjs';\n\nfunction useIsMounted() {\n const isMounted = useRef(false);\n useIsomorphicLayoutEffect(() => {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n }, []);\n return isMounted;\n}\n\nexport { useIsMounted };\n//# sourceMappingURL=use-is-mounted.mjs.map\n","\"use client\";\nimport { frame } from 'motion-dom';\nimport { useState, useCallback } from 'react';\nimport { useIsMounted } from './use-is-mounted.mjs';\n\nfunction useForceUpdate() {\n const isMounted = useIsMounted();\n const [forcedRenderCount, setForcedRenderCount] = useState(0);\n const forceRender = useCallback(() => {\n isMounted.current && setForcedRenderCount(forcedRenderCount + 1);\n }, [forcedRenderCount]);\n /**\n * Defer this to the end of the next animation frame in case there are multiple\n * synchronous calls.\n */\n const deferredForceRender = useCallback(() => frame.postRender(forceRender), [forceRender]);\n return [deferredForceRender, forcedRenderCount];\n}\n\nexport { useForceUpdate };\n//# sourceMappingURL=use-force-update.mjs.map\n","\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { useContext, useRef, useMemo } from 'react';\nimport { LayoutGroupContext } from '../../context/LayoutGroupContext.mjs';\nimport { DeprecatedLayoutGroupContext } from '../../context/DeprecatedLayoutGroupContext.mjs';\nimport { useForceUpdate } from '../../utils/use-force-update.mjs';\nimport { nodeGroup } from 'motion-dom';\n\nconst shouldInheritGroup = (inherit) => inherit === true;\nconst shouldInheritId = (inherit) => shouldInheritGroup(inherit === true) || inherit === \"id\";\nconst LayoutGroup = ({ children, id, inherit = true }) => {\n const layoutGroupContext = useContext(LayoutGroupContext);\n const deprecatedLayoutGroupContext = useContext(DeprecatedLayoutGroupContext);\n const [forceRender, key] = useForceUpdate();\n const context = useRef(null);\n const upstreamId = layoutGroupContext.id || deprecatedLayoutGroupContext;\n if (context.current === null) {\n if (shouldInheritId(inherit) && upstreamId) {\n id = id ? upstreamId + \"-\" + id : upstreamId;\n }\n context.current = {\n id,\n group: shouldInheritGroup(inherit)\n ? layoutGroupContext.group || nodeGroup()\n : nodeGroup(),\n };\n }\n const memoizedContext = useMemo(() => ({ ...context.current, forceRender }), [key]);\n return (jsx(LayoutGroupContext.Provider, { value: memoizedContext, children: children }));\n};\n\nexport { LayoutGroup };\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\nimport { cancelFrame, frame } from 'motion-dom';\nimport { useIsomorphicLayoutEffect } from '../utils/use-isomorphic-effect.mjs';\nimport { useMotionValue } from './use-motion-value.mjs';\n\nfunction useCombineMotionValues(values, combineValues) {\n /**\n * Initialise the returned motion value. This remains the same between renders.\n */\n const value = useMotionValue(combineValues());\n /**\n * Create a function that will update the template motion value with the latest values.\n * This is pre-bound so whenever a motion value updates it can schedule its\n * execution in Framesync. If it's already been scheduled it won't be fired twice\n * in a single frame.\n */\n const updateValue = () => value.set(combineValues());\n /**\n * Synchronously update the motion value with the latest values during the render.\n * This ensures that within a React render, the styles applied to the DOM are up-to-date.\n */\n updateValue();\n /**\n * Subscribe to all motion values found within the template. Whenever any of them change,\n * schedule an update.\n */\n useIsomorphicLayoutEffect(() => {\n const scheduleUpdate = () => frame.preRender(updateValue, false, true);\n const subscriptions = values.map((v) => v.on(\"change\", scheduleUpdate));\n return () => {\n subscriptions.forEach((unsubscribe) => unsubscribe());\n cancelFrame(updateValue);\n };\n });\n return value;\n}\n\nexport { useCombineMotionValues };\n//# sourceMappingURL=use-combine-values.mjs.map\n","\"use client\";\nimport { collectMotionValues } from 'motion-dom';\nimport { useCombineMotionValues } from './use-combine-values.mjs';\n\nfunction useComputed(compute) {\n /**\n * Open session of collectMotionValues. Any MotionValue that calls get()\n * will be saved into this array.\n */\n collectMotionValues.current = [];\n compute();\n const value = useCombineMotionValues(collectMotionValues.current, compute);\n /**\n * Synchronously close session of collectMotionValues.\n */\n collectMotionValues.current = undefined;\n return value;\n}\n\nexport { useComputed };\n//# sourceMappingURL=use-computed.mjs.map\n","\"use client\";\nimport { transform } from 'motion-dom';\nimport { useConstant } from '../utils/use-constant.mjs';\nimport { useCombineMotionValues } from './use-combine-values.mjs';\nimport { useComputed } from './use-computed.mjs';\n\nfunction useTransform(input, inputRangeOrTransformer, outputRangeOrMap, options) {\n if (typeof input === \"function\") {\n return useComputed(input);\n }\n /**\n * Detect if outputRangeOrMap is an output map (object with keys)\n * rather than an output range (array).\n */\n const isOutputMap = outputRangeOrMap !== undefined &&\n !Array.isArray(outputRangeOrMap) &&\n typeof inputRangeOrTransformer !== \"function\";\n if (isOutputMap) {\n return useMapTransform(input, inputRangeOrTransformer, outputRangeOrMap, options);\n }\n const outputRange = outputRangeOrMap;\n const transformer = typeof inputRangeOrTransformer === \"function\"\n ? inputRangeOrTransformer\n : transform(inputRangeOrTransformer, outputRange, options);\n const result = Array.isArray(input)\n ? useListTransform(input, transformer)\n : useListTransform([input], ([latest]) => transformer(latest));\n const inputAccelerate = !Array.isArray(input)\n ? input.accelerate\n : undefined;\n if (inputAccelerate &&\n !inputAccelerate.isTransformed &&\n typeof inputRangeOrTransformer !== \"function\" &&\n Array.isArray(outputRangeOrMap) &&\n options?.clamp !== false) {\n result.accelerate = {\n ...inputAccelerate,\n times: inputRangeOrTransformer,\n keyframes: outputRangeOrMap,\n isTransformed: true,\n ...(options?.ease ? { ease: options.ease } : {}),\n };\n }\n return result;\n}\nfunction useListTransform(values, transformer) {\n const latest = useConstant(() => []);\n return useCombineMotionValues(values, () => {\n latest.length = 0;\n const numValues = values.length;\n for (let i = 0; i < numValues; i++) {\n latest[i] = values[i].get();\n }\n return transformer(latest);\n });\n}\nfunction useMapTransform(inputValue, inputRange, outputMap, options) {\n /**\n * Capture keys once to ensure hooks are called in consistent order.\n */\n const keys = useConstant(() => Object.keys(outputMap));\n const output = useConstant(() => ({}));\n for (const key of keys) {\n output[key] = useTransform(inputValue, inputRange, outputMap[key], options);\n }\n return output;\n}\n\nexport { useTransform };\n//# sourceMappingURL=use-transform.mjs.map\n","import { useConstant } from '../../utils/use-constant.mjs';\n\n/**\n * Can manually trigger a drag gesture on one or more `drag`-enabled `motion` components.\n *\n * ```jsx\n * const dragControls = useDragControls()\n *\n * function startDrag(event) {\n * dragControls.start(event, { snapToCursor: true })\n * }\n *\n * return (\n * <>\n * <div onPointerDown={startDrag} />\n * <motion.div drag=\"x\" dragControls={dragControls} />\n * </>\n * )\n * ```\n *\n * @public\n */\nclass DragControls {\n constructor() {\n this.componentControls = new Set();\n }\n /**\n * Subscribe a component's internal `VisualElementDragControls` to the user-facing API.\n *\n * @internal\n */\n subscribe(controls) {\n this.componentControls.add(controls);\n return () => this.componentControls.delete(controls);\n }\n /**\n * Start a drag gesture on every `motion` component that has this set of drag controls\n * passed into it via the `dragControls` prop.\n *\n * ```jsx\n * dragControls.start(e, {\n * snapToCursor: true\n * })\n * ```\n *\n * @param event - PointerEvent\n * @param options - Options\n *\n * @public\n */\n start(event, options) {\n this.componentControls.forEach((controls) => {\n controls.start(event.nativeEvent || event, options);\n });\n }\n /**\n * Cancels a drag gesture.\n *\n * ```jsx\n * dragControls.cancel()\n * ```\n *\n * @public\n */\n cancel() {\n this.componentControls.forEach((controls) => {\n controls.cancel();\n });\n }\n /**\n * Stops a drag gesture.\n *\n * ```jsx\n * dragControls.stop()\n * ```\n *\n * @public\n */\n stop() {\n this.componentControls.forEach((controls) => {\n controls.stop();\n });\n }\n}\nconst createDragControls = () => new DragControls();\n/**\n * Usually, dragging is initiated by pressing down on a `motion` component with a `drag` prop\n * and moving it. For some use-cases, for instance clicking at an arbitrary point on a video scrubber, we\n * might want to initiate that dragging from a different component than the draggable one.\n *\n * By creating a `dragControls` using the `useDragControls` hook, we can pass this into\n * the draggable component's `dragControls` prop. It exposes a `start` method\n * that can start dragging from pointer events on other components.\n *\n * ```jsx\n * const dragControls = useDragControls()\n *\n * function startDrag(event) {\n * dragControls.start(event, { snapToCursor: true })\n * }\n *\n * return (\n * <>\n * <div onPointerDown={startDrag} />\n * <motion.div drag=\"x\" dragControls={dragControls} />\n * </>\n * )\n * ```\n *\n * @public\n */\nfunction useDragControls() {\n return useConstant(createDragControls);\n}\n\nexport { DragControls, useDragControls };\n//# sourceMappingURL=use-drag-controls.mjs.map\n","\"use client\";\nimport { createContext } from 'react';\n\nconst ReorderContext = createContext(null);\n\nexport { ReorderContext };\n//# sourceMappingURL=ReorderContext.mjs.map\n","import { mixNumber } from 'motion-dom';\nimport { moveItem } from 'motion-utils';\n\nfunction checkReorder(order, value, offset, velocity) {\n if (!velocity)\n return order;\n const index = order.findIndex((item) => item.value === value);\n if (index === -1)\n return order;\n const nextOffset = velocity > 0 ? 1 : -1;\n const nextItem = order[index + nextOffset];\n if (!nextItem)\n return order;\n const item = order[index];\n const nextLayout = nextItem.layout;\n const nextItemCenter = mixNumber(nextLayout.min, nextLayout.max, 0.5);\n if ((nextOffset === 1 && item.layout.max + offset > nextItemCenter) ||\n (nextOffset === -1 && item.layout.min + offset < nextItemCenter)) {\n return moveItem(order, index, index + nextOffset);\n }\n return order;\n}\n\nexport { checkReorder };\n//# sourceMappingURL=check-reorder.mjs.map\n","\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { invariant } from 'motion-utils';\nimport { forwardRef, useRef, useEffect } from 'react';\nimport { ReorderContext } from '../../context/ReorderContext.mjs';\nimport { motion } from '../../render/components/motion/proxy.mjs';\nimport { useConstant } from '../../utils/use-constant.mjs';\nimport { checkReorder } from './utils/check-reorder.mjs';\n\nfunction ReorderGroupComponent({ children, as = \"ul\", axis = \"y\", onReorder, values, ...props }, externalRef) {\n const Component = useConstant(() => motion[as]);\n const order = [];\n const isReordering = useRef(false);\n const groupRef = useRef(null);\n invariant(Boolean(values), \"Reorder.Group must be provided a values prop\", \"reorder-values\");\n const context = {\n axis,\n groupRef,\n registerItem: (value, layout) => {\n // If the entry was already added, update it rather than adding it again\n const idx = order.findIndex((entry) => value === entry.value);\n if (idx !== -1) {\n order[idx].layout = layout[axis];\n }\n else {\n order.push({ value: value, layout: layout[axis] });\n }\n order.sort(compareMin);\n },\n updateOrder: (item, offset, velocity) => {\n if (isReordering.current)\n return;\n const newOrder = checkReorder(order, item, offset, velocity);\n if (order !== newOrder) {\n isReordering.current = true;\n onReorder(newOrder\n .map(getValue)\n .filter((value) => values.indexOf(value) !== -1));\n }\n },\n };\n useEffect(() => {\n isReordering.current = false;\n });\n // Combine refs if external ref is provided\n const setRef = (element) => {\n groupRef.current = element;\n if (typeof externalRef === \"function\") {\n externalRef(element);\n }\n else if (externalRef) {\n externalRef.current = element;\n }\n };\n /**\n * Disable browser scroll anchoring on the group container.\n * When items reorder, scroll anchoring can cause the browser to adjust\n * the scroll position, which interferes with drag position calculations.\n */\n const groupStyle = {\n overflowAnchor: \"none\",\n ...props.style,\n };\n return (jsx(Component, { ...props, style: groupStyle, ref: setRef, ignoreStrict: true, children: jsx(ReorderContext.Provider, { value: context, children: children }) }));\n}\nconst ReorderGroup = /*@__PURE__*/ forwardRef(ReorderGroupComponent);\nfunction getValue(item) {\n return item.value;\n}\nfunction compareMin(a, b) {\n return a.layout.min - b.layout.min;\n}\n\nexport { ReorderGroup, ReorderGroupComponent };\n//# sourceMappingURL=Group.mjs.map\n","const threshold = 50;\nconst maxSpeed = 25;\nconst overflowStyles = new Set([\"auto\", \"scroll\"]);\n// Track initial scroll limits per scrollable element (Bug 1 fix)\nconst initialScrollLimits = new WeakMap();\nconst activeScrollEdge = new WeakMap();\n// Track which group element is currently dragging to clear state on end\nlet currentGroupElement = null;\nfunction resetAutoScrollState() {\n if (currentGroupElement) {\n const scrollableAncestor = findScrollableAncestor(currentGroupElement, \"y\");\n if (scrollableAncestor) {\n activeScrollEdge.delete(scrollableAncestor);\n initialScrollLimits.delete(scrollableAncestor);\n }\n // Also try x axis\n const scrollableAncestorX = findScrollableAncestor(currentGroupElement, \"x\");\n if (scrollableAncestorX && scrollableAncestorX !== scrollableAncestor) {\n activeScrollEdge.delete(scrollableAncestorX);\n initialScrollLimits.delete(scrollableAncestorX);\n }\n currentGroupElement = null;\n }\n}\nfunction isScrollableElement(element, axis) {\n const style = getComputedStyle(element);\n const overflow = axis === \"x\" ? style.overflowX : style.overflowY;\n const isDocumentScroll = element === document.body ||\n element === document.documentElement;\n return overflowStyles.has(overflow) || isDocumentScroll;\n}\nfunction findScrollableAncestor(element, axis) {\n let current = element?.parentElement;\n while (current) {\n if (isScrollableElement(current, axis)) {\n return current;\n }\n current = current.parentElement;\n }\n return null;\n}\nfunction getScrollAmount(pointerPosition, scrollElement, axis) {\n const rect = scrollElement.getBoundingClientRect();\n const start = axis === \"x\" ? Math.max(0, rect.left) : Math.max(0, rect.top);\n const end = axis === \"x\" ? Math.min(window.innerWidth, rect.right) : Math.min(window.innerHeight, rect.bottom);\n const distanceFromStart = pointerPosition - start;\n const distanceFromEnd = end - pointerPosition;\n if (distanceFromStart < threshold) {\n const intensity = 1 - distanceFromStart / threshold;\n return { amount: -maxSpeed * intensity * intensity, edge: \"start\" };\n }\n else if (distanceFromEnd < threshold) {\n const intensity = 1 - distanceFromEnd / threshold;\n return { amount: maxSpeed * intensity * intensity, edge: \"end\" };\n }\n return { amount: 0, edge: null };\n}\nfunction autoScrollIfNeeded(groupElement, pointerPosition, axis, velocity) {\n if (!groupElement)\n return;\n // Track the group element for cleanup\n currentGroupElement = groupElement;\n const scrollableAncestor = findScrollableAncestor(groupElement, axis);\n if (!scrollableAncestor)\n return;\n // Convert pointer position from page coordinates to viewport coordinates.\n // The gesture system uses pageX/pageY but getBoundingClientRect() returns\n // viewport-relative coordinates, so we need to account for page scroll.\n const viewportPointerPosition = pointerPosition - (axis === \"x\" ? window.scrollX : window.scrollY);\n const { amount: scrollAmount, edge } = getScrollAmount(viewportPointerPosition, scrollableAncestor, axis);\n // If not in any threshold zone, clear all state\n if (edge === null) {\n activeScrollEdge.delete(scrollableAncestor);\n initialScrollLimits.delete(scrollableAncestor);\n return;\n }\n const currentActiveEdge = activeScrollEdge.get(scrollableAncestor);\n const isDocumentScroll = scrollableAncestor === document.body ||\n scrollableAncestor === document.documentElement;\n // If not currently scrolling this edge, check velocity to see if we should start\n if (currentActiveEdge !== edge) {\n // Only start scrolling if velocity is towards the edge\n const shouldStart = (edge === \"start\" && velocity < 0) ||\n (edge === \"end\" && velocity > 0);\n if (!shouldStart)\n return;\n // Activate this edge\n activeScrollEdge.set(scrollableAncestor, edge);\n // Record initial scroll limit (prevents infinite scroll)\n const maxScroll = axis === \"x\"\n ? scrollableAncestor.scrollWidth - (isDocumentScroll ? window.innerWidth : scrollableAncestor.clientWidth)\n : scrollableAncestor.scrollHeight - (isDocumentScroll ? window.innerHeight : scrollableAncestor.clientHeight);\n initialScrollLimits.set(scrollableAncestor, maxScroll);\n }\n // Cap scrolling at initial limit (prevents infinite scroll)\n if (scrollAmount > 0) {\n const initialLimit = initialScrollLimits.get(scrollableAncestor);\n const currentScroll = axis === \"x\"\n ? (isDocumentScroll ? window.scrollX : scrollableAncestor.scrollLeft)\n : (isDocumentScroll ? window.scrollY : scrollableAncestor.scrollTop);\n if (currentScroll >= initialLimit)\n return;\n }\n // Apply scroll\n if (axis === \"x\") {\n if (isDocumentScroll) {\n window.scrollBy({ left: scrollAmount });\n }\n else {\n scrollableAncestor.scrollLeft += scrollAmount;\n }\n }\n else {\n if (isDocumentScroll) {\n window.scrollBy({ top: scrollAmount });\n }\n else {\n scrollableAncestor.scrollTop += scrollAmount;\n }\n }\n}\n\nexport { autoScrollIfNeeded, resetAutoScrollState };\n//# sourceMappingURL=auto-scroll.mjs.map\n","\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { isMotionValue } from 'motion-dom';\nimport { invariant } from 'motion-utils';\nimport { forwardRef, useContext } from 'react';\nimport { ReorderContext } from '../../context/ReorderContext.mjs';\nimport { motion } from '../../render/components/motion/proxy.mjs';\nimport { useConstant } from '../../utils/use-constant.mjs';\nimport { useMotionValue } from '../../value/use-motion-value.mjs';\nimport { useTransform } from '../../value/use-transform.mjs';\nimport { autoScrollIfNeeded, resetAutoScrollState } from './utils/auto-scroll.mjs';\n\nfunction useDefaultMotionValue(value, defaultValue = 0) {\n return isMotionValue(value) ? value : useMotionValue(defaultValue);\n}\nfunction ReorderItemComponent({ children, style = {}, value, as = \"li\", onDrag, onDragEnd, layout = true, ...props }, externalRef) {\n const Component = useConstant(() => motion[as]);\n const context = useContext(ReorderContext);\n const point = {\n x: useDefaultMotionValue(style.x),\n y: useDefaultMotionValue(style.y),\n };\n const zIndex = useTransform([point.x, point.y], ([latestX, latestY]) => latestX || latestY ? 1 : \"unset\");\n invariant(Boolean(context), \"Reorder.Item must be a child of Reorder.Group\", \"reorder-item-child\");\n const { axis, registerItem, updateOrder, groupRef } = context;\n return (jsx(Component, { drag: axis, ...props, dragSnapToOrigin: true, style: { ...style, x: point.x, y: point.y, zIndex }, layout: layout, onDrag: (event, gesturePoint) => {\n const { velocity, point: pointerPoint } = gesturePoint;\n const offset = point[axis].get();\n // Always attempt to update order - checkReorder handles the logic\n updateOrder(value, offset, velocity[axis]);\n autoScrollIfNeeded(groupRef.current, pointerPoint[axis], axis, velocity[axis]);\n onDrag && onDrag(event, gesturePoint);\n }, onDragEnd: (event, gesturePoint) => {\n resetAutoScrollState();\n onDragEnd && onDragEnd(event, gesturePoint);\n }, onLayoutMeasure: (measured) => {\n registerItem(value, measured);\n }, ref: externalRef, ignoreStrict: true, children: children }));\n}\nconst ReorderItem = /*@__PURE__*/ forwardRef(ReorderItemComponent);\n\nexport { ReorderItem, ReorderItemComponent };\n//# sourceMappingURL=Item.mjs.map\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\n\n// src/methods/any.ts\nvar any = (array, callback) => {\n const len = array.length;\n for (let index = 0; index < len; index++) {\n const includes = callback(array[index], index, array);\n if (includes) {\n return true;\n }\n }\n return false;\n};\nvar anyLikeWhere = (array, args, symbol, value) => whereSymbol(any, array, args, symbol, value);\n\n// src/methods/utils.ts\nvar isObject = (a) => typeof a === \"object\";\nvar equals = (a, b) => {\n if (a === b) {\n return true;\n }\n if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime();\n }\n if (!a || !b || !isObject(a) && !isObject(b)) {\n return a === b;\n }\n if (a.prototype !== b.prototype) {\n return false;\n }\n const keys = Object.keys(a);\n if (keys.length !== Object.keys(b).length) {\n return false;\n }\n return keys.every((k) => equals(a[k], b[k]));\n};\nvar getKey = (obj, key) => {\n if ((isObject(obj) || Array.isArray(obj)) && !!key) {\n return obj[key];\n }\n return obj;\n};\nvar sortBy = (key) => (a, b) => {\n if (a[key] === b[key]) {\n return 0;\n }\n return a[key] > b[key] ? 1 : -1;\n};\nvar isNumber = (a) => /[0-9.]+/.test(a);\nvar isNumberOrString = (o) => [\"string\", \"number\"].includes(typeof o);\n\n// src/symbols.ts\nvar isEmpty = (v) => v === void 0 || v === null || (v == null ? void 0 : v.length) === 0 || v === \"\";\nvar symbolMap = {\n eq: equals,\n is: Object.is,\n \"!=\": (v, c) => v != c,\n \"!==\": (v, c) => v !== c,\n \"<\": (v, c) => v < c,\n \"<=\": (v, c) => v <= c,\n \"==\": (v, c) => v == c,\n \"===\": (v, c) => v === c,\n \">\": (v, c) => v > c,\n \">=\": (v, c) => v >= c,\n includes: (v, c) => `${v}`.includes(c),\n notIncludes: (v, c) => !`${v}`.includes(c),\n startsWith: (v, c) => `${v}`.startsWith(c),\n endsWith: (v, c) => `${v}`.endsWith(c),\n like: (v, c) => new RegExp(`.*${c}.*`, \"gi\").test(`${v}`),\n alphabetical: (v, c) => v.toString().localeCompare(c.toString()),\n empty: isEmpty,\n notEmpty: (x) => !isEmpty(x),\n in: (v, c) => any(c, (x) => equals(v, x)),\n notIn: (v, c) => all(c, (x) => !equals(v, x))\n};\nvar GetOperationFromSymbol = (symbol) => {\n if (symbol in symbolMap)\n return symbolMap[symbol];\n throw new Error(\"Linq - Symbol not found\");\n};\n\n// src/methods/filter.ts\nvar filter = (array, callback) => {\n const mappedArray = [];\n const len = array.length;\n for (let index = 0; index < len; index++) {\n const includes = callback(array[index], index, array);\n if (includes) {\n mappedArray.push(array[index]);\n }\n }\n return mappedArray;\n};\n\n// src/methods/where.ts\nvar whereSymbol = (func, array, args, symbol, value) => {\n if (typeof args === \"function\")\n return func(array, args);\n const op = GetOperationFromSymbol(symbol);\n if (!!args && !!symbol && value !== void 0)\n return func(array, (x) => op(x[args], value));\n return func(array, (x) => op(x, value));\n};\nvar where = (array, args, symbol, value) => whereSymbol(filter, array, args, symbol, value);\n\n// src/methods/all.ts\nvar all = (array, callback) => {\n for (let index = 0; index < array.length; index++) {\n const includes = callback(array[index], index, array);\n if (!includes) {\n return false;\n }\n }\n return true;\n};\nvar allLikeWhere = (array, args, symbol, value) => whereSymbol(all, array, args, symbol, value);\n\n// src/methods/clone.ts\nvar deepClone = (obj) => {\n if (obj === null) {\n return null;\n }\n const clone = __spreadValues({}, obj);\n Object.keys(clone).forEach((key) => clone[key] = isObject(obj[key]) ? deepClone(obj[key]) : obj[key]);\n return Array.isArray(obj) && obj.length ? (clone.length = obj.length) && Array.from(clone) : Array.isArray(obj) ? Array.from(obj) : clone;\n};\n\n// src/methods/contains.ts\nvar contains = (array, element) => {\n if (isObject(element)) {\n for (let index = 0; index < array.length; index++) {\n const current = array[index];\n if (equals(element, current)) {\n return true;\n }\n }\n return false;\n }\n for (let index = 0; index < array.length; index++) {\n const current = array[index];\n if (equals(element, current)) {\n return true;\n }\n }\n return false;\n};\n\n// src/methods/dict.ts\nvar dict = (array, key) => {\n const map2 = new Map(array.map((x) => [x[key], x]));\n return Object.fromEntries(map2.entries());\n};\n\n// src/methods/distinct.ts\nvar distinct = (array) => filter(\n array,\n (el, index, array2) => isObject(el) ? index === array2.findIndex((obj) => equals(obj, el)) : index === array2.indexOf(el)\n);\n\n// src/methods/find.ts\nvar find = (array, callback) => {\n const len = array.length;\n for (let index = 0; index < len; index++) {\n const includes = callback(array[index], index, array);\n if (includes) {\n return array[index];\n }\n }\n return void 0;\n};\n\n// src/methods/group-by.ts\nvar groupWith = (array, func) => {\n const map2 = /* @__PURE__ */ new Map();\n array.forEach((x) => {\n const k = func(x);\n const item = map2.get(k) || [];\n item.push(x);\n map2.set(k, item);\n });\n return Object.fromEntries(map2.entries());\n};\nvar groupBy = (array, key) => groupWith(array, (item) => item[key]);\n\n// src/methods/map.ts\nvar map = (array, callback) => {\n const mappedArray = [];\n let index = 0;\n const len = array.length;\n for (index; index < len; index++) {\n const transform = callback(array[index], index, array);\n mappedArray.push(transform);\n }\n return mappedArray;\n};\n\n// src/methods/range.ts\nvar getInSequence = (a, b) => {\n let x = Number.parseInt(a, 10);\n let y = Number.parseInt(b, 10);\n return x > y ? [y, x] : [x, y];\n};\nvar individualChars = (charA, charZ, jumps = 1) => {\n const a = [];\n let i = charA.charCodeAt(0);\n const j = charZ.charCodeAt(0);\n for (; i <= j; i += jumps) {\n a.push(String.fromCharCode(i));\n }\n if (isNumber(charA) && isNumber(charZ)) {\n return a.map((x) => Number.parseInt(x));\n }\n return a;\n};\nvar createChars = (charA, charZ, jumps = 1) => {\n let abs = Math.abs(jumps);\n if (charA.length > 1 || charZ.length > 1) {\n if (isNumber(charA) && isNumber(charZ)) {\n const a = [];\n const [first2, second] = getInSequence(charA, charZ);\n for (let i = first2; i <= second; i += abs) {\n a.push(i);\n }\n return a;\n }\n }\n return individualChars(charA, charZ, abs);\n};\nvar range = (firstOrLength, secondOrSteps, jumps = 1) => {\n if (secondOrSteps === void 0) {\n const [x, y, jp] = firstOrLength.split(\"..\");\n if (jp === void 0) {\n return createChars(x, y, 1);\n }\n return createChars(x, jp, Number.parseInt(y, 10));\n }\n if (isNumberOrString(firstOrLength) && isNumberOrString(secondOrSteps)) {\n return createChars(`${firstOrLength}`, `${secondOrSteps}`, jumps);\n }\n return Array.from({ length: firstOrLength }, (_, i) => i * Math.abs(secondOrSteps));\n};\n\n// src/methods/reduce.ts\nvar reduce = (callback, initial, array) => {\n let accumulator = initial;\n const len = array.length;\n for (let index = 0; index < len; index++) {\n const element = array[index];\n accumulator = callback(accumulator, element, index, array);\n }\n return accumulator;\n};\n\n// src/methods/reverse.ts\nvar reverse = (a) => {\n const array = Array.from(a.values());\n let left = null;\n let right = null;\n let length = array.length;\n for (left = 0; left < length / 2; left += 1) {\n right = length - 1 - left;\n let temporary = array[left];\n array[left] = array[right];\n array[right] = temporary;\n }\n return array;\n};\n\n// src/methods/skip.ts\nvar skip = (array, jumps) => {\n if (typeof jumps === \"number\") {\n return array.slice(jumps);\n }\n let len = array.length;\n for (let index = 0; index < len; index++) {\n const element = array[index];\n const assertion = jumps(element, index, array);\n if (assertion) {\n return array.slice(index);\n }\n }\n return array.slice(0);\n};\nvar skipLikeWhere = (array, args, symbol, value) => whereSymbol(skip, array, args, symbol, value);\n\n// src/methods/sort.ts\nvar selectTuple = (key, a, b) => {\n const valA = a[key];\n const valB = b[key];\n return [valA, valB];\n};\nvar isNil = (key) => key === void 0 || key === null;\nvar sortString = (key, reverse2 = false) => {\n if (reverse2) {\n return (a, b) => {\n if (isNil(key)) {\n return b.localeCompare(a);\n }\n const [valA, valB] = selectTuple(key, a, b);\n return valA.localeCompare(valB);\n };\n }\n return (a, b) => {\n if (isNil(key)) {\n return a.localeCompare(b);\n }\n const [valA, valB] = selectTuple(a, b, key);\n return valA.localeCompare(valB) * -1;\n };\n};\nvar sortNumber = (key, reverse2 = false) => {\n if (reverse2) {\n return (a, b) => {\n if (isNil(key)) {\n return b - a;\n }\n const [valA, valB] = selectTuple(key, a, b);\n return valB - valA;\n };\n }\n return (a, b) => {\n if (isNil(key)) {\n return a - b;\n }\n const [valA, valB] = selectTuple(a, b, key);\n return valA - valB;\n };\n};\nvar sortDate = (key, reverse2 = false) => {\n if (reverse2) {\n return (a, b) => {\n if (isNil(key)) {\n return Date.parse(b) - Date.parse(a);\n }\n const [valA, valB] = selectTuple(a, b, key);\n return Date.parse(valB.toISOString()) - Date.parse(valA.toISOString());\n };\n }\n return (a, b) => {\n if (isNil(key)) {\n return Date.parse(a) - Date.parse(b);\n }\n const [valA, valB] = selectTuple(a, b, key);\n return Date.parse(valA.toISOString()) - Date.parse(valB.toISOString());\n };\n};\nvar sort = (array, sorter) => {\n const shallowCopy = [...array];\n if (sorter === void 0)\n return shallowCopy.sort();\n if (typeof sorter === \"function\")\n return shallowCopy.toSorted(sorter);\n return shallowCopy.toSorted(sortBy(sorter));\n};\nvar Order = /* @__PURE__ */ ((Order2) => {\n Order2[\"Asc\"] = \"asc\";\n Order2[\"Desc\"] = \"desc\";\n return Order2;\n})(Order || {});\nvar createSorter = (fields) => (a, b) => fields.reduce((acc, x) => {\n const reverse2 = x.type === \"desc\" ? -1 : 1;\n const property = x.key;\n const p = a[property] > b[property] ? reverse2 : a[property] < b[property] ? -reverse2 : 0;\n return acc !== 0 ? acc : p;\n}, 0);\nvar multiSort = (array, fields) => array.sort(createSorter(fields));\n\n// src/methods/unique.ts\nvar unique = (array, key) => {\n if (key === void 0) {\n return [...new Set(array).values()];\n }\n const seen = /* @__PURE__ */ new Set();\n if (Array.isArray(key)) {\n return [...new Set(key)];\n }\n return filter(array, (el) => {\n const duplicate = key ? seen.has(el[key]) : seen.has(key);\n if (!!key) {\n if (!duplicate) {\n seen.add(el[key]);\n }\n }\n return !duplicate;\n });\n};\n\n// src/linq.ts\nvar Linq = class _Linq {\n constructor(array = []) {\n this.array = array;\n }\n static Range(...args) {\n return range(...args);\n }\n static New(array) {\n return new _Linq(array);\n }\n Where(args, symbol, value) {\n this.array = where(this.array, args, symbol, value);\n return this;\n }\n Some(args, symbol, value) {\n return anyLikeWhere(this.array, args, symbol, value);\n }\n All(args, symbol, value) {\n return allLikeWhere(this.array, args, symbol, value);\n }\n Reverse() {\n this.array = reverse(this.array);\n return this;\n }\n Add(el) {\n this.array = Array.isArray(el) ? this.array.concat(el) : this.array.concat([el]);\n return this;\n }\n Prepend(el) {\n this.array = Array.isArray(el) ? el.concat(this.array) : [el].concat(this.array);\n return this;\n }\n Select(transform) {\n return transform === void 0 ? this.array : this.array.map(transform);\n }\n Take(init, end) {\n if (end !== void 0) {\n this.array = this.array.slice(init, Math.max(0, end));\n } else {\n this.array = this.array.slice(init);\n }\n return this;\n }\n Head() {\n return this.array[0];\n }\n Tail() {\n return this.Skip(1);\n }\n Skip(args, symbol, value) {\n this.array = skipLikeWhere(this.array, args, symbol, value);\n return this;\n }\n Distinct() {\n this.array = distinct(this.array);\n return this;\n }\n First(predicate) {\n return predicate === void 0 ? this.array[0] : find(this.array, predicate) || null;\n }\n Last(predicate) {\n const len = this.array.length;\n if (predicate === void 0) {\n return this.array[len - 1];\n }\n for (let index = len; index !== 0; index--) {\n const includes = predicate(this.array[index], index, this.array);\n if (includes) {\n return this.array[index];\n }\n }\n return void 0;\n }\n Sum(key) {\n return key === void 0 ? reduce((acc, el) => acc + el, 0, this.array) : reduce((acc, el) => acc + getKey(el, key), 0, this.array);\n }\n Average(key) {\n return this.Sum(key) / this.array.length;\n }\n GroupBy(key) {\n return groupBy(this.array, key);\n }\n GroupWith(func) {\n return groupWith(this.array, func);\n }\n Except(exceptions) {\n return filter(this.array, (x) => !contains(exceptions, x));\n }\n Intersect(commons) {\n return filter(this.array, (x) => contains(commons, x));\n }\n OrderBy(key, order) {\n let array;\n array = !!key ? sort(this.array, key) : this.array.toSorted();\n this.array = order === \"desc\" ? reverse(array) : array;\n return this;\n }\n Includes(object) {\n return any(this.array, (x) => equals(x, object));\n }\n In(array) {\n const len = array.length;\n for (let index = 0; index < len; index++) {\n const element = array[index];\n const includesElement = this.Includes(element);\n if (includesElement)\n return true;\n }\n return false;\n }\n Reduce(fn, firstValue) {\n return reduce(fn, firstValue != null ? firstValue : this.array[0], this.array);\n }\n Empty() {\n return this.array.length === 0;\n }\n ToMap(key) {\n return new Map(map(this.array, (item) => [key, item]));\n }\n Zip(array, fn) {\n return map(this.array, (item, index) => fn(item, array[index]));\n }\n Count(predicate) {\n return predicate === void 0 ? this.array.length : filter(this.array, predicate).length;\n }\n Get(n) {\n return this.array[n];\n }\n Clone() {\n return new _Linq(deepClone(this.array));\n }\n ToObject(key) {\n return dict(this.array, key);\n }\n Sort(sorter) {\n return Array.isArray(sorter) ? multiSort(this.array, sorter) : sort(this.array, sorter);\n }\n Unique(k) {\n return unique(this.array, k);\n }\n};\n\n// src/methods/chunk.ts\nvar chunk = (array, size) => reduce(\n (arr, item, index) => index % size === 0 ? [...arr, [item]] : [...arr.slice(0, -1), [...arr.slice(-1)[0], item]],\n [],\n array\n);\n\n// src/methods/compact.ts\nvar compact = (array) => {\n const mappedArray = [];\n const len = array.length;\n for (let index = 0; index < len; index++) {\n const element = array[index];\n if (Boolean(element)) {\n mappedArray.push(array[index]);\n }\n }\n return mappedArray;\n};\n\n// src/methods/get.ts\nvar first = (array) => array[0];\nvar last = (array) => array[array.length - 1];\nvar tail = (array) => skip(array, 1);\n\n// src/methods/numbers.ts\nvar MathMinMax = (fn, key, array) => Array.isArray(key) ? reduce((acc, el) => fn(acc, el), 0, key) : reduce((acc, el) => fn(acc, el[key]), 0, array);\nvar max = (array, key) => MathMinMax(Math.max, key, array);\nvar min = (array, key) => MathMinMax(Math.min, key, array);\nvar sum = (array, key) => MathMinMax((a, b) => a + b, key, array);\nvar diff = (array, key) => MathMinMax((a, b) => a - b, key, array);\n\n// src/methods/random.ts\nvar random = (array) => {\n const len = array.length;\n const i = Math.floor(Math.random() * len);\n return array[i];\n};\n\n// src/methods/repeat.ts\nvar repeat = (element, repeat2) => {\n const array = [];\n for (let index = 0; index < repeat2; index++) {\n array.push(element);\n }\n return array;\n};\n\n// src/methods/to-map.ts\nvar toMap = (array, key) => {\n const map2 = /* @__PURE__ */ new Map();\n const len = array.length;\n for (let index = 0; index < len; index++) {\n const element = array[index];\n const elementKey = element[key];\n map2.set(elementKey, element);\n }\n return map2;\n};\n\n// src/index.ts\nvar src_default = Linq;\n\nexport { Linq, Order, all, any, chunk, compact, contains, deepClone, src_default as default, dict, diff, distinct, filter, find, first, groupBy, last, map, max, min, multiSort, random, range, reduce, repeat, reverse, skip, sort, sortDate, sortNumber, sortString, sum, tail, toMap, unique, where };\n","import { FileIcon, type Icon } from \"@phosphor-icons/react\";\nimport React from \"react\";\nimport { useTranslations } from \"../../hooks/use-translations\";\n\nexport type EmptyProps = { Icon?: Icon; message?: string };\n\nexport const Empty = (props: EmptyProps) => {\n const Icon = props.Icon ?? FileIcon;\n const translate = useTranslations();\n return (\n <div className=\"flex w-full flex-col items-center justify-center gap-4 px-8 py-12\">\n <Icon size={64} className=\"text-disabled\" />\n <p className=\"text-disabled\">{props.message ?? translate.emptyDataMessage}</p>\n </div>\n );\n};\n","import { Fragment, useId, useMemo } from \"react\";\nimport { useTranslations } from \"../../hooks/use-translations\";\nimport { Polymorph } from \"../core/polymorph\";\nimport { TablePagination } from \"./table-lib\";\n\nfunction createPaginationItems(current: number, max: number) {\n if (!current || !max) return [];\n const items: Array<string | number> = [1];\n if (current === 1 && max === 1) return items;\n if (current > 4) items.push(\"-\");\n const r = 2;\n const r1 = current - r;\n const r2 = current + r;\n for (let i = r1 > 2 ? r1 : 2; i <= Math.min(max, r2); i++) items.push(i);\n const p2 = max - 2;\n if (r2 + 1 !== p2) {\n if (r2 + 1 < max) items.push(\"_\");\n }\n if (r2 < max) {\n items.push(max - 2);\n items.push(max - 1);\n items.push(max);\n }\n return Array.from(new Set(items));\n}\n\nexport const Pagination = (pagination: TablePagination) => {\n const id = useId();\n const translation = useTranslations();\n const pageNavigation = useMemo(() => createPaginationItems(pagination.current, pagination.pages), [pagination.current, pagination.pages]);\n const hasNext = pagination.current < pagination.pages;\n\n return (\n <footer className=\"flex flex-wrap items-center justify-center gap-4 border-t-muted p-3 text-sm lg:flex-nowrap lg:justify-between\">\n <p>\n <translation.tablePaginationFooter\n {...pagination}\n sizes={pagination.sizes}\n select={\n pagination.onChangeSize && Array.isArray(pagination.sizes) ? (\n <Fragment>\n <label htmlFor={id}>{translation.tablePaginationSelectLabel}</label>\n <select\n id={id}\n value={pagination.size}\n className=\"cursor-pointer bg-transparent\"\n onChange={(e) => {\n pagination.onChangeSize?.(Number(e.target.value));\n }}\n >\n {pagination.sizes.map((value) => (\n <option key={`pagination-opt-${value}`} value={value}>\n {value}\n </option>\n ))}\n </select>{\" \"}\n </Fragment>\n ) : null\n }\n />\n </p>\n <nav>\n <ul className=\"flex items-center gap-2\">\n {pagination.current > 1 ? (\n <li>\n <Polymorph as={pagination.asLink || (\"button\" as any)} href=\"previous\" className=\"\">\n {translation.tablePaginationPrevious}\n </Polymorph>\n </li>\n ) : null}\n {pageNavigation.map((x) => {\n if (x === null) return null;\n return (\n <Fragment key={`pagination-${x}`}>\n {typeof x === \"string\" ? (\n <li>...</li>\n ) : (\n <li>\n <Polymorph\n href={x}\n as={pagination.asLink || (\"button\" as any)}\n className={`cursor-pointer border-b-2 px-3 py-1 proportional-nums transition-colors hover:border-primary-subtle hover:text-primary-subtle ${x === pagination.current ? \"border-primary text-primary\" : \"border-transparent\"}`}\n >\n {x}\n </Polymorph>\n </li>\n )}\n </Fragment>\n );\n })}\n {hasNext ? (\n <li>\n <Polymorph as={pagination.asLink || (\"button\" as any)} href=\"next\" className=\"\">\n {translation.tablePaginationNext}\n </Polymorph>\n </li>\n ) : null}\n </ul>\n </nav>\n </footer>\n );\n};\n","import React, { Fragment, PropsWithChildren, useEffect, useRef, useState } from \"react\";\nimport { Is } from \"sidekicker\";\nimport { path } from \"../../lib/fns\";\nimport { Any } from \"../../types\";\nimport { SkeletonCell } from \"../display/skeleton\";\nimport { CellAsideElement, CellPropsElement, Col, ColMatrix } from \"./table-lib\";\n\ntype ItemContentContext = {\n cols: Col<Any>[];\n loading?: boolean;\n loadingMore?: boolean;\n Aside?: React.FC<CellAsideElement<any>>;\n};\n\nconst RowAside = (props: PropsWithChildren) => {\n const parentRef = useRef<HTMLDivElement>(null);\n const ref = useRef<HTMLDivElement>(null);\n const [className, setClassName] = useState(\"opacity-0\");\n const ariaHidden = className === \"opacity-0\";\n\n const onLeave = () => setClassName(\"opacity-0\");\n\n const callback = () => {\n const child = ref.current;\n const parent = parentRef.current;\n if (child === null || parent === null) return;\n parent.style.left = `-${child.getBoundingClientRect().width + 4}px`;\n };\n\n const onEnter = () => setClassName(\"opacity-100\");\n\n useEffect(() => {\n const child = ref.current;\n if (child === null || parent === null) return;\n callback();\n const observer = new IntersectionObserver((entries) => entries.forEach(callback), { root: document.documentElement });\n observer.observe(child);\n return () => observer.disconnect();\n }, []);\n\n return (\n <div\n ref={parentRef}\n onMouseEnter={onEnter}\n onMouseLeave={onLeave}\n data-component=\"cell-aside\"\n inert={ariaHidden ? true : undefined}\n tabIndex={ariaHidden ? -1 : undefined}\n className={`group-table-cell-aside absolute inset-0 top-0 flex h-full w-full items-stretch transition-opacity duration-300 ease-in-out ${className}`}\n >\n <div ref={ref} className=\"isolate block\">\n {props.children}\n </div>\n </div>\n );\n};\n\nexport const Row = (index: number, row: any, context: ItemContentContext) => {\n const cols = context.cols;\n const loading = context.loading;\n return (\n <Fragment>\n {cols.map((col, colIndex) => {\n const matrix: ColMatrix = `${colIndex},${index}`;\n const value: any = path(row, col.id as any);\n const Component: React.FC<CellPropsElement<any, any>> = col.Element as any;\n const className = col.cellProps?.className || \"\";\n const exposeAside = colIndex === 0 && context.Aside && loading === false;\n const Aside = context.Aside!;\n return (\n <td\n {...col.cellProps}\n role=\"cell\"\n data-matrix={matrix}\n key={`accessor-${index}-${colIndex}`}\n className={`typography group-table-cell flex border-collapse flex-col whitespace-pre-wrap border border-y border-b border-table-border p-[var(--table-cell-padding)] md:table-cell md:border-b-0 md:border-r md:border-l-transparent md:last:border-r-transparent ${className}`}\n >\n {exposeAside ? (\n <RowAside>\n <Aside col={col} row={row} rowIndex={index} />\n </RowAside>\n ) : null}\n <span className=\"block text-sm font-bold leading-tight md:hidden\">{col.thead}</span>\n <span className=\"relative\">\n {loading ? (\n SkeletonCell\n ) : Component ? (\n <Fragment>\n <Component row={row} matrix={matrix} col={col} rowIndex={index} value={value} />\n </Fragment>\n ) : (\n <Fragment>{Is.nil(value) ? \"\" : value}</Fragment>\n )}\n </span>\n </td>\n );\n })}\n </Fragment>\n );\n};\n","\"use strict\";Object.defineProperty(exports,Symbol.toStringTag,{value:\"Module\"});const k=(e,t)=>{try{Object.keys(e).forEach(t)}catch(o){window.console.log(o)}},i=e=>e==null,w=e=>{const t=typeof e;return t===\"string\"||t===\"number\"||t===\"boolean\"||i(e)},h=(e,t)=>{const o=t.getItem(e);try{return JSON.parse(o)}catch{return o??null}},u=e=>Object.keys(e).reduce((t,o)=>({...t,[o]:h(o,e)}),{}),p=e=>e instanceof Date?e:typeof e==\"number\"?new Date(new Date*1+e*864e5):e,d=\"1969-12-31T23:59:59.000Z\",S=()=>document.cookie===\"\"?{}:document.cookie.split(\"; \").map(t=>t.split(\"=\")).reduce((t,o)=>(t[decodeURIComponent(o[0].trim())]=decodeURIComponent(o[1].trim()),t),{}),c=new Set,a=()=>{const e=S();c.forEach(t=>t(e))},y=[{name:\"expires\",parse:e=>`expires=${p(e.expires??d)}`},{name:\"maxAge\",parse:e=>e.maxAge?`max-age=${p(e.expires??d)}`:\"\"},{name:\"path\",parse:e=>`path=${e.path??\"/\"}`},{name:\"sameSite\",parse:e=>`samesite=${e.sameSite??\"strict\"}`},{name:\"useSecure\",parse:e=>`${e.useSecure??!0?\"secure\":\"\"}`},{name:\"domain\",parse:e=>{const t=e.domain??\"\";return t===\"\"?\"\":`domain=${e.multiDomain?\".\":\"\"}${t}`}},{name:\"partitioned\",parse:e=>e.partitioned?\"Partitioned\":\"\"}],f={json:S,listener:e=>(c.add(e),()=>c.delete(e)),clearListeners:()=>c.clear(),has:e=>document.cookie.split(\";\").some(t=>t.trim().startsWith(`${e}=`)),deleteAll:()=>{document.cookie.split(\";\").forEach(e=>{document.cookie=e.replace(/^ +/,\"\").replace(/=.*/,`=;expires=${new Date().toUTCString()};path=/`)}),a()},get:e=>{const t=f.json()[e];if(i(t))return null;try{return JSON.parse(decodeURIComponent(t))}catch{return t}},delete:e=>{document.cookie=`${encodeURIComponent(e)}=;expires=${new Date().toUTCString()}`,a()},set:(e,t,o={})=>{const n=w(t)?t:encodeURIComponent(JSON.stringify(t)),s=y.reduce((r,$)=>{const m=$.parse(o);return m===\"\"?r:r.concat(m)},[`${encodeURIComponent(e)}=${n}`]).join(\";\");document.cookie=s,a()}},l=e=>{const t=new Set,o=n=>{e().removeItem(n);const s=u(e());t.forEach(r=>r(s))};return{delete:o,listener:n=>(t.add(n),()=>t.delete(n)),clearListeners:()=>t.clear(),json:(n=!1)=>n?u(e()):e(),has:n=>{const s=e().getItem(n);return!i(s)},deleteAll:()=>{k(e(),o),t.forEach(n=>n(e()))},get:n=>h(n,e()),set:(n,s)=>{e().setItem(n,JSON.stringify(s)),t.forEach(r=>r(e()))}}},I=l(()=>window.sessionStorage),C=l(()=>window.localStorage);exports.Cookie=f;exports.LocalStorage=C;exports.SessionStorage=I;exports.createStorage=l;\n//# sourceMappingURL=index.js.map\n","\"use client\";\nimport React, { useCallback, useRef } from \"react\";\nimport { AllPaths } from \"sidekicker\";\nimport { LocalStorage } from \"storage-manager-js\";\nimport { useReducer } from \"use-typed-reducer\";\nimport { useStableRef } from \"../../hooks/use-stable-ref\";\nimport { isSsr } from \"../../lib/fns\";\nimport { Any, POJO, SetState } from \"../../types\";\nimport { OptionProps } from \"../form/select\";\nimport { FilterConfig } from \"./filter\";\nimport { GroupItem } from \"./group\";\nimport { Sorter } from \"./sort\";\n\nexport const getLabel = <T extends POJO>(col: Col<T>) => col.headerLabel ?? col.thead ?? (col.id as string);\n\nexport type TableConfiguration<T extends POJO, M extends POJO = Any> = M & {\n cols: Col<T>[];\n options: OptionProps[];\n};\n\nexport const createOptionCols = <T extends POJO>(cols: Col<T>[]): OptionProps[] =>\n cols.map((opt) => ({\n value: opt.id as string,\n label: (opt.thead ?? opt.headerLabel ?? (opt.id as string)) as string,\n }));\n\nexport enum ColType {\n Boolean = \"boolean\",\n Number = \"number\",\n Select = \"select\",\n Text = \"text\",\n}\n\nexport const valueFromType = (input: HTMLInputElement) => (input.type === \"number\" ? input.valueAsNumber : input.value);\n\ntype THead = React.ReactElement | React.ReactNode;\n\nexport type ColMatrix = `${number},${number}`;\n\n// ref: https://github.com/gvergnaud/hotscript/blob/main/src/internals/objects/impl/objects.ts\ntype ParsePath<path, output extends string[] = [], currentChunk extends string = \"\"> = path extends number\n ? [`${path}`]\n : path extends `${infer first}${infer rest}`\n ? first extends \".\" | \"[\" | \"]\"\n ? ParsePath<rest, [...output, ...(currentChunk extends \"\" ? [] : [currentChunk])], \"\">\n : ParsePath<rest, output, `${currentChunk}${first}`>\n : [...output, ...(currentChunk extends \"\" ? [] : [currentChunk])];\n\ntype RecursiveGet<Obj, pathList> = Obj extends any\n ? pathList extends [infer first, ...infer rest]\n ? first extends keyof Obj\n ? RecursiveGet<Obj[first], rest>\n : [first, Obj] extends [`${number}` | \"number\", readonly any[]]\n ? RecursiveGet<Extract<Obj, any[]>[number], rest>\n : undefined\n : Obj\n : never;\n\ntype GetFromPath<Obj, path> = RecursiveGet<Obj, ParsePath<path>>;\n\nexport type CellAsideElement<T extends POJO> = {\n row: T;\n rowIndex: number;\n col: ColOptions<T, AllPaths<T>>;\n};\n\nexport type CellPropsElement<T extends POJO, K extends AllPaths<T>> = {\n row: T;\n value: GetFromPath<T, K>;\n rowIndex: number;\n matrix: ColMatrix;\n col: ColOptions<T, K> & { id: K; thead: THead };\n};\n\ntype ColOptions<T extends POJO, K extends AllPaths<T>> = Partial<{\n type: ColType;\n allowSort: boolean;\n headerLabel: string;\n allowFilter: boolean;\n Element: React.FC<CellPropsElement<T, K>>;\n thProps: React.HTMLAttributes<HTMLTableCellElement>;\n cellProps: React.HTMLAttributes<HTMLTableCellElement>;\n}>;\n\nexport type ColConstructor<T extends POJO> = {\n getAll: () => Col<T>[];\n remove: <K extends AllPaths<T>>(id: K) => void;\n filter: (c: (c: Col<T>) => boolean) => Col<T>[];\n add: <K extends AllPaths<T>>(id: K, thead: THead, props?: ColOptions<T, K>) => void;\n};\n\nconst cols =\n <T extends POJO>() =>\n <K extends AllPaths<T>>(id: K, thead: THead, options: ColOptions<T, K>) => ({ ...options, id, thead });\n\nexport type Col<T extends POJO> = ReturnType<ReturnType<typeof cols<T>>>;\n\nexport type TablePagination = {\n size: number;\n pages: number;\n current: number;\n hasNext: boolean;\n sizes?: number[];\n totalItems: number;\n hasPrevious: boolean;\n onChangeSize?: (size: number) => void;\n asLink?: React.FC<React.PropsWithChildren<{ href: number | \"previous\" | \"next\"; className: string }>>;\n};\n\ntype TableGetters<T extends POJO> = {\n rows: T[];\n cols: Col<T>[];\n sorters: Sorter<T>[];\n groups: GroupItem<T>[];\n filters: FilterConfig<T>[];\n pagination: TablePagination | null;\n};\n\ntype TableSetters<T extends POJO> = {\n setCols: SetState<Col<T>[]>;\n setSorters: SetState<Sorter<T>[]>;\n setGroups: SetState<GroupItem<T>[]>;\n setFilters: SetState<FilterConfig<T>[]>;\n};\n\nexport type TableOperationProps<T extends POJO> = TableConfiguration<\n T,\n TableSetters<T> &\n TableGetters<T> & {\n set?: (v: TableGetters<T>) => void;\n } & {\n inlineSorter: boolean;\n inlineFilter: boolean;\n }\n>;\n\nexport const createColumns = <T extends POJO>(callback: (o: ColConstructor<T>) => void) => {\n let items: Col<T>[] = [];\n const add: ColConstructor<T>[\"add\"] = (id, thead, options) => items.push({ ...options, id, thead } as any);\n const remove: ColConstructor<T>[\"remove\"] = (id) => (items = items.filter((x) => x.id !== id));\n const getAll: ColConstructor<T>[\"getAll\"] = () => Array.from(items);\n const filter: ColConstructor<T>[\"filter\"] = (c) => (items = Array.from(items.filter(c)));\n callback({ add, remove, getAll, filter });\n return items;\n};\n\ntype TablePreferenceState<T extends POJO> = {\n name: string;\n cols: Col<T>[];\n groups: GroupItem<T>[];\n sorters: Sorter<T>[];\n filters: FilterConfig<T>[];\n};\n\nconst noop = {};\n\nconst mergeCols = <T extends POJO>(cols: Col<T>[], saved?: Col<T>[]) => {\n if (!Array.isArray(saved)) return cols;\n const savedSet = new Set(saved.map((x) => x.id));\n if (!cols.every((x) => savedSet.has(x.id))) {\n return cols;\n }\n const map = new Map(cols.map((x) => [x.id, x]));\n return saved.map((mock, index) => {\n const original = map.get(mock.id);\n if (original === undefined) return cols[index];\n return original;\n });\n};\n\nexport const useTablePreferences = <T extends POJO>(name: string, cols: Col<T>[], options: Partial<TableGetters<T>> = noop) => {\n const init: TableGetters<T> | null = isSsr() ? null : (LocalStorage.get(`@components/table-${name}`) as TableGetters<T>) || null;\n const [state, dispatch] = useReducer(\n {\n name,\n groups: options.groups || init?.groups || [],\n sorters: options.sorters || init?.sorters || [],\n filters: options.filters || init?.filters || [],\n cols: mergeCols(cols, init?.cols),\n } as Omit<TableGetters<T>, \"rows\"> & { name: string },\n (get) => {\n const intercept = (partial: Partial<TablePreferenceState<T>>) => {\n const prev = get.state();\n const result = { ...prev, ...partial };\n if (!isSsr()) LocalStorage.set(`@components/table-${prev.name}`, result);\n return result;\n };\n intercept(get.state());\n return {\n set: (getters: TableGetters<T>) => intercept(getters),\n };\n }\n );\n return { ...state, ...dispatch, name };\n};\n\nexport const useWidthControl = <T extends object>(reorder: (c: Col<T>[]) => void) => {\n const stableRef = useStableRef(reorder);\n const ref = useRef<HTMLTableRowElement>(null);\n const onChange = useCallback(\n (cols: Col<T>[]) => {\n stableRef.current(cols);\n cols.forEach((x) => {\n const c = ref.current!.querySelector(`th[data-tableheader=\"${x.id}\"]`) as HTMLElement | null;\n if (!c) return;\n c.style.width = \"auto\";\n });\n },\n [stableRef]\n );\n return [ref, onChange] as const;\n};\n\nexport const getModalScrollerRef = () => (isSsr() ? undefined : (document.querySelector(`[data-component=\"modal-body\"]`) as HTMLElement));\n","\"use client\";\nimport { SortAscendingIcon, SortDescendingIcon, CaretUpDownIcon, PlusIcon, TrashIcon } from \"@phosphor-icons/react\";\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useTranslations } from \"../../hooks/use-translations\";\nimport { uuid } from \"../../lib/fns\";\nimport { Any, Label } from \"../../types\";\nimport { Dropdown } from \"../floating/dropdown\";\nimport { OptionProps, Select } from \"../form/select\";\nimport { Col, getLabel, TableConfiguration, TableOperationProps } from \"./table-lib\";\n\ntype Keyof<T extends Any> = keyof T extends infer R extends string ? R : never;\n\nenum Order {\n Asc = \"asc\",\n Desc = \"desc\",\n Undefined = \"undefined\",\n}\n\nexport type Sorter<T extends Any> = { value: Keyof<T>; type: Order; label: Label; id: string };\n\nconst createSorterFn =\n <T extends Any>(fields: Sorter<T>[]) =>\n (a: any, b: any) =>\n fields.reduce<number>((acc, x) => {\n const reverse = x.type === \"desc\" ? -1 : 1;\n const property = x.value;\n const p = a[property] > b[property] ? reverse : a[property] < b[property] ? -reverse : 0;\n return acc !== 0 ? acc : p;\n }, 0);\n\nexport const multiSort = <T extends Any>(array: T[], fields: Sorter<T>[]) => array.toSorted(createSorterFn(fields));\n\ntype Props<T extends Any> = TableConfiguration<\n T,\n {\n cols: Col<T>[];\n sorters: Sorter<T>[];\n set: React.Dispatch<React.SetStateAction<Sorter<T>[]>>;\n }\n>;\n\nconst createSorter = <T extends Any>(col: Col<T>, label: string, order: Order): Sorter<T> => ({\n label,\n id: uuid(),\n type: order,\n value: col.id as any,\n});\n\nexport const Sort = <T extends Any>(props: Props<T>) => {\n const translation = useTranslations();\n\n const orders = {\n asc: { label: translation.tableSortAsc, value: Order.Asc },\n desc: { label: translation.tableSortDesc, value: Order.Desc },\n } satisfies Omit<Record<Order, OptionProps>, Order.Undefined>;\n\n const orderOptions: OptionProps[] = [orders.asc, orders.desc];\n\n const onAddSorter = () => {\n const col = props.cols[0];\n if (col) props.set((prev) => [...prev, createSorter(col, orders.asc.label, orders.asc.value)]);\n };\n\n const onSetSorter = (id: string) => (e: React.ChangeEvent<HTMLSelectElement>) => {\n const value = e.target.value;\n props.set((prev) => prev.map((x) => (x.id === id ? { ...x, value: value as Keyof<T> } : x)));\n };\n\n const onSortOrderType = (id: string) => (e: React.ChangeEvent<HTMLSelectElement>) => {\n const type = e.target.value;\n props.set((prev) => prev.map((x) => (x.id === id ? { ...x, type: type as Order } : x)));\n };\n\n const onDelete = (e: React.MouseEvent<HTMLButtonElement>) => {\n const id = e.currentTarget.dataset.id || \"\";\n props.set((prev) => prev.filter((x) => x.id !== id));\n };\n\n return (\n <Fragment>\n <Dropdown\n title={translation.tableSortDropdownTitle}\n trigger={\n <span className=\"flex items-center gap-1 proportional-nums\">\n <CaretUpDownIcon size={14} />\n {translation.tableSortOrderByLabel} {props.sorters.length === 0 ? \"\" : ` (${props.sorters.length})`}\n </span>\n }\n >\n <ul className=\"mt-4 space-y-2\">\n {props.sorters.map((sorter) => {\n return (\n <li key={`sorter-select-${sorter.id}`} className=\"flex flex-nowrap gap-3\">\n <Select\n options={props.options}\n value={sorter.value as string}\n onChange={onSetSorter(sorter.id)}\n title={translation.tableSortOrderInputTitle}\n placeholder={translation.tableSortOrderInputPlaceholder}\n />\n <Select\n onChange={onSortOrderType(sorter.id)}\n value={sorter.type}\n options={orderOptions}\n title={translation.tableSortTypeInputTitle}\n placeholder={translation.tableSortTypeInputPlaceholder}\n />\n <button className=\"mt-4\" data-id={sorter.id} onClick={onDelete}>\n <TrashIcon className=\"text-danger\" size={14} />\n </button>\n </li>\n );\n })}\n <li>\n <button type=\"button\" onClick={onAddSorter} className=\"flex items-center gap-1 text-primary\">\n <PlusIcon size={14} /> {translation.tableSortAddButton}\n </button>\n </li>\n </ul>\n </Dropdown>\n </Fragment>\n );\n};\n\ntype SorterHeadProps<T extends Any> = Pick<TableOperationProps<T>, \"sorters\" | \"setSorters\"> & { col: Col<T> };\n\nexport const SorterHead = <T extends Any>(props: SorterHeadProps<T>) => {\n const translations = useTranslations();\n const [status, setStatus] = useState(() => {\n const sorter = props.sorters.find((sort) => sort.value === props.col.id);\n return sorter ? sorter.type : Order.Undefined;\n });\n\n const onClick = () => setStatus((prev) => (prev === Order.Undefined ? Order.Asc : prev === Order.Asc ? Order.Desc : Order.Undefined));\n\n useEffect(() => {\n props.setSorters((prev) => {\n if (status === Order.Undefined) return prev.filter((x) => x.value !== props.col.id);\n const findIndex = prev.findIndex((p) => (p.value as string) === props.col.id);\n const sorter = createSorter(props.col, status, status);\n if (findIndex === -1) return [...prev, sorter];\n prev[findIndex] = sorter;\n return [...prev];\n });\n }, [status, props.col]);\n\n const labelId = `${props.col.id}-sorter-id`;\n\n const label = getLabel(props.col);\n\n return (\n <button aria-labelledby={labelId} className=\"isolate flex items-center\" onClick={onClick} type=\"button\">\n <span id={labelId} className=\"sr-only\">\n {translations.tableSortDropdownTitle} {label}\n </span>\n {status === Order.Asc ? <SortAscendingIcon size={14} /> : null}\n {status === Order.Desc ? <SortDescendingIcon size={14} /> : null}\n {status === Order.Undefined ? <CaretUpDownIcon size={14} /> : null}\n </button>\n );\n};\n","import { createContext, useContext } from \"react\";\n\nexport type TableContextProps = Partial<{ sticky: number }>;\n\nconst TableContext = createContext<TableContextProps>({});\n\nexport const TableProvider = TableContext.Provider;\n\nexport const useTable = () => useContext(TableContext);\n","import { Symbols } from \"linq-arrays\";\nimport { FunnelIcon, PlusIcon, TrashIcon } from \"@phosphor-icons/react\";\nimport React, { Fragment, useMemo } from \"react\";\nimport { AllPaths } from \"sidekicker\";\nimport { useTranslations } from \"../../hooks/use-translations\";\nimport { uuid } from \"../../lib/fns\";\nimport { Any, Label } from \"../../types\";\nimport { Dropdown } from \"../floating/dropdown\";\nimport { Input, InputTypes } from \"../form/input\";\nimport { OptionProps, Select } from \"../form/select\";\nimport { Col, ColType, getLabel, TableConfiguration, valueFromType } from \"./table-lib\";\n\ntype Operators = { value: string; label: string; symbol: string; \"data-default\"?: string };\n\ntype OperatorTypes = \"contains\" | \"is\" | \"isNot\" | \"notContains\" | \"lessThan\" | \"greaterThan\" | \"startsWith\" | \"endsWith\";\n\ntype Operations = Record<OperatorTypes, Operators>;\n\ntype OperationOptions = Partial<Record<ColType, OptionProps[]>>;\n\ntype FilterValue = string | number | string[] | boolean;\n\nexport type FilterConfig<T extends object = object> = {\n id: string;\n label: Label;\n name: AllPaths<T>;\n type: ColType;\n operation: Operators;\n value: FilterValue;\n};\n\ntype Props<T extends object> = TableConfiguration<\n T,\n {\n cols: Col<T>[];\n filters: FilterConfig<T>[];\n set: React.Dispatch<React.SetStateAction<FilterConfig<T>[]>>;\n }\n>;\n\nexport const createFilterFromCol = <T extends Any>(\n f: Col<T>,\n options: OperationOptions,\n operations: Operations,\n rest: Partial<FilterConfig<T>> = {}\n): FilterConfig<T> => {\n const name = f.id;\n const type = f.type ?? ColType.Text;\n const typeOptions = options[type] ?? [];\n const operatorId = (typeOptions.find((x) => x[\"data-default\"])?.value ?? typeOptions[0]?.value) as OperatorTypes;\n const operation = operations[operatorId];\n return { id: uuid(), operation, label: getLabel(f), name, type, value: \"\", ...rest };\n};\n\nexport const useOperators = () => {\n const translation = useTranslations();\n const operations = useMemo(\n (): Operations =>\n ({\n contains: {\n value: \"contains\",\n label: translation.tableFilterTypeContains,\n symbol: \"includes\",\n \"data-default\": \"true\",\n },\n is: { value: \"is\", label: translation.tableFilterTypeIs, symbol: \"is\" },\n isNot: { value: \"isNot\", label: translation.tableFilterTypeIsNot, symbol: \"!==\" },\n notContains: {\n value: \"notContains\",\n label: translation.tableFilterTypeNotContains,\n symbol: \"notIncludes\",\n },\n lessThan: { value: \"lessThan\", label: translation.tableFilterTypeLessThan, symbol: \"<=\" },\n greaterThan: { value: \"greaterThan\", label: translation.tableFilterTypeGreaterThan, symbol: \">=\" },\n startsWith: { value: \"startsWith\", label: translation.tableFilterTypeStartsWith, symbol: \"startsWith\" },\n endsWith: { value: \"endsWith\", label: translation.tableFilterTypeEndsWith, symbol: \"endsWith\" },\n }) satisfies Record<string, OptionProps & { symbol: Symbols }>,\n [translation]\n );\n\n const options = useMemo(\n (): OperationOptions => ({\n [ColType.Text]: [\n operations.is,\n operations.isNot,\n operations.contains,\n operations.notContains,\n operations.startsWith,\n operations.endsWith,\n ],\n [ColType.Boolean]: [operations.is, operations.isNot],\n [ColType.Number]: [operations.is, operations.isNot, operations.greaterThan, operations.lessThan],\n }),\n [operations]\n );\n return { options, operations };\n};\n\nexport const Filter = <T extends object>(props: Props<T>) => {\n const translation = useTranslations();\n const operators = useOperators();\n\n const onAddFilter = () => {\n const col = props.cols.at(0)!;\n props.set((prev) => [...prev, createFilterFromCol(col, operators.options, operators.operations)]);\n };\n\n const onSelectProperty = (e: React.ChangeEvent<HTMLSelectElement>) => {\n const changedId = e.target.dataset.id || \"\";\n const newId = e.target.value;\n props.set((prev) =>\n prev.map((x) => {\n if (changedId !== x.id) return x;\n const col = props.cols.find((x) => newId === x.id)!;\n return createFilterFromCol(col, operators.options, operators.operations, { value: \"\" });\n })\n );\n };\n\n const onSelectOperation = (e: React.ChangeEvent<HTMLSelectElement>) => {\n const id = e.target.dataset.id || \"\";\n const operator = e.target.value;\n props.set((prev) =>\n prev.map((x) =>\n x.id === id\n ? {\n ...x,\n operation: operators.operations[operator as OperatorTypes],\n }\n : x\n )\n );\n };\n\n const onDelete = (e: React.MouseEvent<HTMLButtonElement>) => {\n const id = e.currentTarget.dataset.id || \"\";\n props.set((prev) => prev.filter((x) => x.id !== id));\n };\n\n const onChangeValue = (e: React.ChangeEvent<HTMLInputElement>) => {\n const id = e.target.dataset.id || \"\";\n const value = valueFromType(e.target);\n props.set((prev) => prev.map((x) => (x.id === id ? { ...x, value } : x)));\n };\n\n return (\n <Fragment>\n <Dropdown\n arrow\n title={translation.tableFilterDropdownTitle}\n trigger={\n <span className=\"flex items-center gap-1 proportional-nums\">\n <FunnelIcon size={14} />\n {translation.tableFilterLabel} {props.filters.length === 0 ? \"\" : ` (${props.filters.length})`}\n </span>\n }\n >\n <ul className=\"mt-4 space-y-2\">\n {props.filters.map((filter) => {\n const options = operators.options[filter.type]!;\n return (\n <li key={`filter-select-${filter.id}`} className=\"flex flex-nowrap gap-3\">\n <Select\n options={props.options}\n title={translation.tableFilterColumnTitle}\n placeholder={translation.tableFilterColumnPlaceholder}\n value={filter.name as string}\n data-id={filter.id}\n onChange={onSelectProperty}\n />\n <Select\n data-id={filter.id}\n onChange={onSelectOperation}\n value={filter.operation.value}\n options={options}\n title={translation.tableFilterOperatorTitle}\n placeholder={translation.tableFilterOperatorPlaceholder}\n />\n <Input\n optionalText=\"\"\n data-id={filter.id}\n onChange={onChangeValue}\n value={filter.value as string}\n type={filter.type as InputTypes}\n title={translation.tableFilterValueTitle}\n placeholder={translation.tableFilterValuePlaceholder}\n />\n <div className=\"mt-5 flex items-center justify-center\">\n <button data-id={filter.id} type=\"button\" onClick={onDelete}>\n <TrashIcon className=\"text-danger\" size={16} />\n </button>\n </div>\n </li>\n );\n })}\n <li>\n <button type=\"button\" onClick={onAddFilter} className=\"flex items-center gap-1 text-primary\">\n <PlusIcon size={14} /> {translation.tableFilterNewFilter}\n </button>\n </li>\n </ul>\n </Dropdown>\n </Fragment>\n );\n};\n\ntype ColumnHeaderFilterProps<T extends object> = {\n filter: FilterConfig<T>;\n onDelete: (e: React.MouseEvent<HTMLButtonElement>) => void;\n set: React.Dispatch<React.SetStateAction<FilterConfig<T>[]>>;\n};\n\nexport const ColumnHeaderFilter = <T extends object>({ filter, onDelete, set }: ColumnHeaderFilterProps<T>) => {\n const translation = useTranslations();\n const operators = useOperators();\n\n const onSelectOperation = (e: React.ChangeEvent<HTMLSelectElement>) => {\n const operator = e.target.value;\n const id = e.target.dataset.id || \"\";\n set((prev) =>\n prev.map((x) =>\n x.id === id\n ? {\n ...x,\n operation: operators.operations[operator as OperatorTypes],\n }\n : x\n )\n );\n };\n\n const onChangeValue = (e: React.ChangeEvent<HTMLInputElement>) => {\n const id = e.target.dataset.id || \"\";\n const value = valueFromType(e.target);\n set((prev) => prev.map((x) => (x.id === id ? { ...x, value } : x)));\n };\n\n return (\n <div className=\"flex flex-nowrap items-center gap-4 py-2\">\n <Select\n data-id={filter.id}\n onChange={onSelectOperation}\n value={filter.operation.value}\n options={operators.options[filter.type]!}\n title={translation.tableFilterColumnTitle}\n placeholder={translation.tableFilterColumnPlaceholder}\n />\n <Input\n optionalText=\" \"\n data-id={filter.id}\n onChange={onChangeValue}\n value={filter.value as string}\n type={filter.type as InputTypes}\n title={translation.tableFilterValueTitle}\n placeholder={translation.tableFilterValueTitle}\n />\n <button onClick={onDelete} data-id={filter.id} type=\"button\" className=\"mt-4\">\n <TrashIcon className=\"text-danger\" size={14} />\n </button>\n </div>\n );\n};\n","\"use client\";\nimport { AnimatePresence, motion, PanInfo, Reorder } from \"motion/react\";\nimport { Order } from \"linq-arrays\";\nimport { PlusIcon, MagnifyingGlassIcon, MagnifyingGlassMinusIcon } from \"@phosphor-icons/react\";\nimport React, { Fragment, useCallback, useRef } from \"react\";\nimport { useTranslations } from \"../../hooks/use-translations\";\nimport { useTweaks } from \"../../hooks/use-tweaks\";\nimport { Dropdown } from \"../floating/dropdown\";\nimport { ColumnHeaderFilter, createFilterFromCol, useOperators } from \"./filter\";\nimport { SorterHead } from \"./sort\";\nimport { Col, getLabel, TableOperationProps, useWidthControl } from \"./table-lib\";\n\nconst dragConstraints = { top: 0, left: 0, right: 0, bottom: -1 };\n\ntype TableHeaderProps<T extends object> = {\n loading: boolean;\n headers: Col<T>[];\n} & Pick<TableOperationProps<T>, \"filters\" | \"setFilters\" | \"setCols\" | \"setSorters\" | \"sorters\" | \"inlineSorter\" | \"inlineFilter\">;\n\ntype HeaderChildProps<T extends object> = {\n index: number;\n isLast: boolean;\n header: Col<T>;\n loading: boolean;\n} & Pick<TableOperationProps<T>, \"filters\" | \"setFilters\" | \"sorters\" | \"setSorters\" | \"inlineFilter\" | \"inlineSorter\">;\n\nconst HeaderChild = <T extends object>(props: HeaderChildProps<T>) => {\n const tweaks = useTweaks();\n const translation = useTranslations();\n const ownFilters = props.filters.filter((x) => x.name === props.header.id);\n const hasFilters = ownFilters.length > 0;\n const defaultAllowSort = props.header.allowSort ?? tweaks.table.sorters ?? true;\n const defaultAllowFilter = props.header.allowFilter ?? tweaks.table.filters ?? true;\n const operators = useOperators();\n const FilterIcon = hasFilters ? MagnifyingGlassIcon : MagnifyingGlassMinusIcon;\n const th = useRef<HTMLTableCellElement | null>(null);\n\n const onDelete = (e: React.MouseEvent<HTMLButtonElement>) => {\n const id = e.currentTarget.dataset.id || \"\";\n return props.setFilters((prev) => prev.filter((x) => x.id !== id));\n };\n\n const dragRef = useCallback((dom: HTMLTableCellElement | null) => {\n if (dom === null) return;\n th.current = dom;\n const controller = new AbortController();\n dom.addEventListener(\n \"pointerdown\",\n (e) => {\n const target = e.target as HTMLButtonElement;\n if (target.dataset.type === \"resizer\") {\n e.stopPropagation();\n return e.stopImmediatePropagation();\n }\n },\n { signal: controller.signal }\n );\n return () => controller.abort();\n }, []);\n\n const ownSorter = props.sorters.find((x) => props.header.id === x.value);\n\n const ariaSort = !ownSorter?.type ? \"none\" : ownSorter.type === Order.Asc ? \"ascending\" : \"descending\";\n\n const label = getLabel(props.header);\n\n return (\n <Reorder.Item\n {...(props.header.thProps as object)}\n as=\"th\"\n ref={dragRef}\n initial={false}\n dragSnapToOrigin\n dragDirectionLock\n role=\"columnheader\"\n aria-sort={ariaSort}\n value={props.header}\n aria-busy={props.loading}\n data-tableheader={props.header.id}\n whileDrag={{ cursor: \"grabbing\" }}\n className={`typography relative min-w-0 cursor-grab overflow-clip border-r-[1px] border-table-border bg-table-header font-medium first:rounded-tl-lg last:rounded-tr-lg last:border-r-transparent md:h-14 ${props.header.thProps?.className ?? \"\"}`}\n >\n <span\n className={`flex h-full items-center justify-between bg-table-header p-[var(--table-cell-padding)] ${props.isLast ? \"rounded-tr-lg\" : \"\"} ${props.index === 0 ? \"rounded-tl-lg\" : \"\"}`}\n >\n <span className=\"flex items-center gap-1\">\n {props.inlineFilter && defaultAllowFilter ? (\n <Dropdown\n arrow\n trigger={\n <span>\n <span id={`${props.header.id}-filter-dropdown-button`} className=\"sr-only\">\n {translation.tableFilterDropdownTitleUnique} {label}\n </span>\n <FilterIcon aria-labelledby={`${props.header.id}-filter-dropdown-button`} size={14} />\n </span>\n }\n title={\n <span className=\"text-lg\">\n {translation.tableFilterDropdownTitleUnique} <span className=\"font-medium\">{label}</span>\n </span>\n }\n >\n <ul className=\"font-medium\">\n {ownFilters.length === 0 ? null : (\n <Fragment>\n {ownFilters.map((filter) => (\n <li key={`thead-filter-${filter.id}`} className=\"my-1\">\n <ColumnHeaderFilter onDelete={onDelete} filter={filter} set={props.setFilters} />\n </li>\n ))}\n </Fragment>\n )}\n <li>\n <button\n type=\"button\"\n className=\"flex items-center gap-1 text-primary\"\n onClick={() =>\n props.setFilters((prev) =>\n prev.concat(createFilterFromCol(props.header, operators.options, operators.operations))\n )\n }\n >\n <PlusIcon size={14} /> {translation.tableFilterNewFilter}\n </button>\n </li>\n </ul>\n </Dropdown>\n ) : null}\n <span className=\"pointer-events-auto text-balance text-base\">{props.header.thead}</span>\n {props.inlineSorter && defaultAllowSort ? (\n <SorterHead col={props.header} setSorters={props.setSorters} sorters={props.sorters} />\n ) : null}\n </span>\n </span>\n {props.isLast ? null : (\n <motion.button\n drag=\"x\"\n draggable\n dragListener\n dragMomentum\n type=\"button\"\n animate={false}\n dragElastic={0}\n dragPropagation\n initial={false}\n dragSnapToOrigin\n dragDirectionLock\n data-type=\"resizer\"\n title={props.header.id}\n dragConstraints={dragConstraints}\n className=\"absolute -right-[0.5px] top-0 z-calendar block h-full w-[1px] cursor-col-resize bg-transparent hover:w-1.5 hover:bg-primary active:w-1.5 active:bg-primary\"\n onClick={(e) => void e.currentTarget.focus()}\n onKeyDown={(e) => {\n if (e.key === \"ArrowLeft\" || e.key === \"ArrowRight\") {\n if (th.current === null) return;\n th.current.setAttribute(\"data-resized\", \"true\");\n const v = th.current.getBoundingClientRect().width;\n const move = e.shiftKey ? 50 : 10;\n const delta = move * (e.key === \"ArrowLeft\" ? -1 : 1);\n th.current.style.width = `${Math.abs(v + delta)}px`;\n }\n }}\n onDoubleClick={() => {\n if (th.current === null) return;\n th.current.style.width = \"auto\";\n }}\n onDrag={(_: never, info: PanInfo) => {\n if (th.current === null) return;\n th.current.setAttribute(\"data-resized\", \"true\");\n const v = th.current.getBoundingClientRect().width;\n const delta = info.delta.x;\n th.current.style.width = `${Math.abs(v + delta)}px`;\n }}\n />\n )}\n </Reorder.Item>\n );\n};\n\nexport const TableHeader = <T extends object>(props: TableHeaderProps<T>) => {\n const [ref, onChange] = useWidthControl(props.setCols);\n return (\n <Reorder.Group layout as=\"tr\" axis=\"x\" drag=\"x\" ref={ref} layoutRoot role=\"row\" layoutScroll onReorder={onChange} values={props.headers}>\n <AnimatePresence>\n {props.headers.map((header, index) => (\n <HeaderChild<T>\n index={index}\n header={header}\n filters={props.filters}\n loading={props.loading}\n sorters={props.sorters}\n setFilters={props.setFilters}\n setSorters={props.setSorters}\n inlineFilter={props.inlineFilter}\n inlineSorter={props.inlineSorter}\n isLast={index === props.headers.length - 1}\n key={`header-child-item-${header.id as string}`}\n />\n ))}\n </AnimatePresence>\n </Reorder.Group>\n );\n};\n","import Linq from \"linq-arrays\";\nimport { AnimatePresence } from \"motion/react\";\nimport React, { ComponentProps, CSSProperties, Fragment, HTMLAttributes, useEffect, useMemo, useRef, useState } from \"react\";\nimport { TableBodyProps, TableVirtuoso } from \"react-virtuoso\";\nimport { Is } from \"sidekicker\";\nimport { useStableRef } from \"../../hooks/use-stable-ref\";\nimport { Any } from \"../../types\";\nimport { Empty } from \"../display/empty\";\nimport { SkeletonCell } from \"../display/skeleton\";\nimport { OptionProps } from \"../form/select\";\nimport { FilterConfig } from \"./filter\";\nimport { GroupItem } from \"./group\";\nimport { Pagination } from \"./pagination\";\nimport { Row } from \"./row\";\nimport { multiSort, Sorter } from \"./sort\";\nimport { CellAsideElement, Col, TableOperationProps } from \"./table-lib\";\nimport { useTable } from \"./table.context\";\nimport { TableHeader } from \"./thead\";\n\nexport type InnerTableProps<T extends Any> = HTMLAttributes<HTMLTableElement> &\n TableOperationProps<T> & {\n rows: T[];\n index: number;\n cols: Col<T>[];\n border?: boolean;\n loading?: boolean;\n group?: GroupItem<T>;\n useControl?: boolean;\n loadingMore?: boolean;\n sorters?: Sorter<T>[];\n showMetadata?: boolean;\n groups?: GroupItem<T>[];\n onScrollEnd?: () => void;\n optionCols: OptionProps[];\n filters?: FilterConfig<T>[];\n Aside?: React.FC<CellAsideElement<T>>;\n getScrollRef?: () => HTMLElement | undefined;\n getRowProps?: (_: T) => ComponentProps<\"tr\">;\n setGroups: React.Dispatch<React.SetStateAction<GroupItem<T>[]>>;\n };\n\nconst TableBody = React.forwardRef(\n (\n {\n context,\n className = \"\",\n ...props\n }: TableBodyProps & {\n context: any;\n },\n ref: any\n ) => {\n return (\n <tbody {...(props as any)} role=\"rowgroup\" className={`divide-y divide-table-border ${className}`} ref={ref}>\n <AnimatePresence>{props.children}</AnimatePresence>\n </tbody>\n );\n }\n);\n\nconst VirtualTable = React.forwardRef(({ context, className = \"\", ...props }: any, ref) => (\n <table\n {...props}\n role=\"table\"\n ref={ref as any}\n style={{ ...props.style, \"--table-cell-padding\": \"0.75rem\" } as CSSProperties}\n className={`table w-full table-fixed border-separate border-spacing-0 text-left ${className ?? \"\"}`}\n />\n));\n\nconst Thead = React.forwardRef(({ context, ...props }: any, ref: any) => {\n const ctx = useTable();\n const style = {\n ...(props as any)?.style,\n top: Is.number(ctx.sticky) ? `${ctx.sticky}px` : undefined,\n };\n return <thead {...props} ref={ref} style={style} role=\"rowgroup\" className=\"group:sticky top-0 hidden bg-transparent md:table-header-group\" />;\n});\n\nconst TRow = React.forwardRef(({ context, item, ...props }: any, ref: any) => {\n const contextProps = context?.getRowProps?.(item);\n const innerProps = { ...props, ...contextProps };\n return (\n <tr\n {...innerProps}\n role=\"row\"\n ref={ref}\n className={`group-table-row flex h-fit flex-col flex-wrap justify-center gap-1 pb-4 md:table-row ${[props?.className, contextProps?.className].filter(Boolean).join(\" \")}`}\n />\n );\n});\n\nconst TFoot = React.forwardRef((props: any, ref: any) => {\n if (props.context.loadingMore) {\n return (\n <tfoot {...props} ref={ref} className=\"bg-card-background\">\n <tr role=\"row\" className=\"bg-card-background\">\n <td colSpan={999} className=\"h-14 bg-card-background px-2\">\n <span className=\"block h-2 w-full animate-pulse rounded bg-foreground opacity-60\" />\n </td>\n </tr>\n </tfoot>\n );\n }\n return null;\n});\n\nconst components = {\n TableRow: TRow as any,\n TableFoot: TFoot as any,\n TableHead: Thead as any,\n Table: VirtualTable as any,\n TableBody: TableBody as any,\n};\n\nconst loadingArray = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n\nconst EmptyContent = (props: { loading?: boolean }) => (\n <div className=\"flex h-48 w-full items-center justify-center px-2\">{props.loading ? SkeletonCell : <Empty />}</div>\n);\n\nconst EmptyCell = () => <Fragment />;\n\nconst emptyRows: any[] = [];\n\nexport const InnerTable = <T extends Any>({\n cols,\n filters,\n setCols,\n sorters,\n setFilters,\n setSorters,\n onScrollEnd,\n getScrollRef,\n pagination = null,\n useControl = false,\n ...props\n}: InnerTableProps<T>) => {\n const ref = useRef<HTMLDivElement | null>(null);\n const [, setShowLoadingFooter] = useState(false);\n const onScrollEndRef = useStableRef(onScrollEnd);\n const loadingMoreRef = useStableRef(props.loadingMore);\n\n const rows = useMemo(() => {\n if (props.loading) return loadingArray as any as T[];\n if (useControl) return props.rows;\n const linq = new Linq(props.rows);\n if (filters.length > 0) {\n filters.forEach((x) =>\n x.value === \"\" || Number.isNaN(x.value) ? undefined : linq.Where(x.name as any, x.operation.symbol as any, x.value)\n );\n }\n if (sorters.length === 0) return linq.Select();\n return multiSort(linq.Select(), sorters);\n }, [props.loading, props.rows, useControl, filters, sorters]);\n\n useEffect(() => {\n if (ref.current === null) return () => {};\n const div = ref.current;\n const observer = new IntersectionObserver((entries) => {\n const endOfPage = entries[entries.length - 1];\n const condition = endOfPage.isIntersecting && loadingMoreRef.current;\n if (condition) {\n onScrollEndRef.current?.();\n return void setShowLoadingFooter(true);\n }\n return setShowLoadingFooter(false);\n });\n observer.observe(div);\n return () => observer.disconnect();\n }, [loadingMoreRef, onScrollEndRef]);\n\n const empty = rows.length === 0;\n\n const context = {\n cols: cols,\n Aside: props.Aside,\n loading: props.loading,\n getRowProps: props.getRowProps,\n loadingMore: props.loadingMore,\n };\n\n return (\n <div className=\"group bg-table-background relative flex w-full flex-col whitespace-nowrap rounded-lg\">\n <TableVirtuoso\n components={components}\n context={context as any}\n totalCount={rows.length}\n itemContent={empty ? EmptyCell : Row}\n data={empty ? (emptyRows as T[]) : rows}\n useWindowScroll={getScrollRef ? false : true}\n customScrollParent={getScrollRef ? getScrollRef() : undefined}\n fixedHeaderContent={() => (\n <TableHeader<T>\n headers={cols}\n filters={filters}\n setCols={setCols}\n sorters={sorters}\n setFilters={setFilters}\n setSorters={setSorters}\n loading={!!props.loading}\n inlineFilter={props.inlineFilter}\n inlineSorter={props.inlineSorter}\n />\n )}\n />\n {empty ? <EmptyContent loading={props.loading} /> : null}\n <div aria-hidden=\"true\" ref={ref} className=\"h-0.5 w-full\" />\n {pagination !== null ? <Pagination {...pagination} /> : null}\n </div>\n );\n};\n","\"use client\";\nimport { LayoutGroup, Reorder, useDragControls, useMotionValue } from \"motion/react\";\nimport Linq from \"linq-arrays\";\nimport { DotsSixVerticalIcon, TrashIcon, StackMinusIcon } from \"@phosphor-icons/react\";\nimport React, { Fragment, useState } from \"react\";\nimport { keys } from \"sidekicker\";\nimport { useTranslations } from \"../../hooks/use-translations\";\nimport { uuid } from \"../../lib/fns\";\nimport { Button } from \"../core/button\";\nimport { Dropdown } from \"../floating/dropdown\";\nimport { Select } from \"../form/select\";\nimport { Col, createOptionCols, TableConfiguration } from \"./table-lib\";\n\nexport type GroupItem<T extends object> = Col<T> & {\n rows: T[];\n index: number;\n groupId: string;\n groupName: string;\n groupKey: keyof T;\n};\n\ntype Props<T extends object> = TableConfiguration<\n T,\n {\n rows: T[];\n groups: GroupItem<T>[];\n setGroups: React.Dispatch<React.SetStateAction<GroupItem<T>[]>>;\n }\n>;\n\nconst Item = ({ item, onPointerDown }: { item: GroupItem<any>; onPointerDown: any }) => {\n const y = useMotionValue(0);\n return (\n <Reorder.Item\n onPointerDown={onPointerDown}\n id={item.groupId}\n className=\"flex flex-row items-center gap-2\"\n key={item.groupId}\n value={item}\n style={{ y }}\n >\n <button type=\"button\" className=\"cursor-grab\">\n <DotsSixVerticalIcon size={14} />\n </button>\n <span>{item.groupName}</span>\n </Reorder.Item>\n );\n};\n\nexport const Group = <T extends object>(props: Props<T>) => {\n const translations = useTranslations();\n const options = createOptionCols(props.cols);\n const controls = useDragControls();\n const [group, setGroup] = useState((props.groups[0]?.thead as string) || \"\");\n\n const onChange = (e: React.ChangeEvent<HTMLSelectElement>) => {\n const select = e.target;\n const key = select.value as keyof T;\n const index = select.options.selectedIndex;\n const label = select.options.item(index)?.label || \"\";\n setGroup(label);\n const groupBy = new Linq(props.rows).GroupBy(key);\n const col = props.cols.find((x) => x.id === key)!;\n props.setGroups(\n keys(groupBy).map((groupName, index): GroupItem<T> => {\n const rows = groupBy[groupName];\n return { ...col, groupId: uuid(), groupKey: key, index, rows, groupName: groupName as string };\n })\n );\n };\n\n const onDelete = () => props.setGroups([]);\n\n return (\n <Fragment>\n <Dropdown\n arrow={false}\n title={translations.tableGroupLabel}\n trigger={\n <span className=\"flex items-center gap-1 proportional-nums\">\n <StackMinusIcon size={14} />\n {translations.tableGroupLabelWithCount}\n {props.groups.length > 0 ? ` - ${group}(${props.groups.length})` : \"\"}\n </span>\n }\n >\n <div className=\"flex flex-nowrap items-center\">\n <Select value={group} title=\"Tipo de agrupamento\" onChange={onChange} options={options} placeholder=\"Agrupar por...\" />\n <Button className=\"mt-4\" onClick={onDelete} theme=\"raw\" data-id={group}>\n <TrashIcon size={16} className=\"text-danger\" />\n </Button>\n </div>\n {props.groups.length > 0 ? (\n <section className=\"my-4\">\n <header>\n <h2 className=\"text-xl font-medium\">Order groups</h2>\n </header>\n <LayoutGroup>\n <Reorder.Group\n axis=\"y\"\n className=\"relative space-y-2\"\n drag\n dragControls={controls}\n dragListener={false}\n layoutScroll\n onReorder={props.setGroups}\n values={props.groups}\n >\n {props.groups.map((item) => (\n <Item\n key={item.groupId}\n item={item as any}\n onPointerDown={(e: any) => {\n controls.start(e);\n props.setGroups([...props.groups]);\n }}\n />\n ))}\n </Reorder.Group>\n </LayoutGroup>\n </section>\n ) : null}\n </Dropdown>\n </Fragment>\n );\n};\n","import { Any } from \"../../types\";\nimport { Filter } from \"./filter\";\nimport { Group } from \"./group\";\nimport { Sort } from \"./sort\";\nimport { TableOperationProps, valueFromType } from \"./table-lib\";\n\nexport const Metadata = <T extends Any>(props: TableOperationProps<T>) => (\n <header className=\"mb-1 min-w-full\">\n <div className=\"flex min-w-full flex-wrap items-center justify-between gap-x-4 gap-y-1\">\n <div className=\"items-centeend flex w-fit gap-4 whitespace-nowrap py-2\">\n <span>\n <Filter cols={props.cols} options={props.options} filters={props.filters} set={props.setFilters} />\n </span>\n <span>\n <Sort options={props.options} cols={props.cols} sorters={props.sorters} set={props.setSorters} />\n </span>\n <span>\n <Group rows={props.rows} groups={props.groups} setGroups={props.setGroups} options={props.options} cols={props.cols} />\n </span>\n </div>\n <ul className=\"flex w-full flex-1 flex-grow flex-row flex-wrap items-center gap-4 md:justify-end\">\n {props.filters.map((x) => (\n <li key={`filter-table-${x.id}`} className=\"flex items-center gap-1 rounded-xl border border-card-border px-4 py-0.5\">\n <span>\n <span className=\"mr-2 inline-block aspect-square size-3 rounded-full bg-primary\" aria-hidden=\"true\" />\n {x.label} {x.operation.label.toLowerCase()}:\n </span>\n <div className=\"relative w-min min-w-[1ch]\">\n <span aria-hidden=\"true\" className=\"invisible whitespace-pre p-0\">\n {x.value || \" \"}\n </span>\n <input\n type={x.type}\n value={x.value as string}\n className=\"absolute left-0 top-0 m-0 inline-block w-full bg-transparent p-0 placeholder-primary/70 outline-none [appearance:textfield] after:empty:text-primary/70 [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none\"\n onChange={(e) => {\n const value = valueFromType(e.target);\n props.setFilters((prev) => prev.map((item) => (x.id === item.id ? { ...item, value } : item)));\n }}\n />\n </div>\n </li>\n ))}\n </ul>\n </div>\n </header>\n);\n","\"use client\";\nimport { AnimatePresence } from \"motion/react\";\nimport { ComponentProps, useEffect, useMemo } from \"react\";\nimport { useReducer } from \"use-typed-reducer\";\nimport { useTweaks } from \"../../hooks/use-tweaks\";\nimport { Any } from \"../../types\";\nimport { FilterConfig } from \"./filter\";\nimport { GroupItem } from \"./group\";\nimport { InnerTable, InnerTableProps } from \"./inner-table\";\nimport { Metadata } from \"./metadata\";\nimport { Sorter } from \"./sort\";\nimport { Col, createOptionCols, TableOperationProps } from \"./table-lib\";\nimport { TableContextProps, TableProvider } from \"./table.context\";\n\nexport type TableProps<T extends Any> = Pick<InnerTableProps<T>, \"cols\" | \"rows\" | \"loadingMore\" | \"border\" | \"Aside\"> & {\n name: string;\n} & Partial<\n TableOperationProps<T> & {\n loading: boolean;\n reference: keyof T;\n operations: boolean;\n useControl: boolean;\n inlineFilter: boolean;\n inlineSorter: boolean;\n sticky: number | null;\n onScrollEnd: () => void;\n getScrollRef?: () => HTMLElement | undefined;\n getRowProps: (row: T) => ComponentProps<\"tr\">;\n }\n >;\n\nconst dispatcherFun = <Prev extends Any, T extends Prev | ((prev: Prev) => Prev)>(prev: Prev, setter: T) =>\n typeof setter === \"function\" ? setter(prev) : setter;\n\ntype DispatcherFun<T extends Any> = T | ((prev: T) => T);\n\nconst compareAndExec = <T extends any[]>(prev: T, state: T, exec?: (t: T) => void) => (prev === state ? undefined : exec?.(state));\n\nexport const Table = <T extends Any>(props: TableProps<T>) => {\n const tweaks = useTweaks();\n const contextState = useMemo(\n (): TableContextProps => ({\n sticky: props.sticky === undefined ? (tweaks.table.sticky ?? undefined) : (props.sticky ?? undefined),\n }),\n [props.sticky, tweaks.table.sticky]\n );\n const operations = props.operations ?? tweaks.table.operations ?? true;\n const optionCols = useMemo(() => createOptionCols(props.cols), [props.cols]);\n const [state, dispatch] = useReducer(\n {\n cols: props.cols as Col<T>[],\n sorters: (props.sorters ?? []) as Sorter<T>[],\n groups: (props.groups ?? []) as GroupItem<T>[],\n filters: (props.filters ?? []) as FilterConfig<T>[],\n },\n (get) => {\n const create =\n <T extends Any>(key: string) =>\n (arg: T) => {\n const state = get.state();\n return { ...state, [key]: dispatcherFun(state[key as keyof typeof state], arg as any) };\n };\n return {\n cols: create<DispatcherFun<Col<T>[]>>(\"cols\"),\n sorters: create<DispatcherFun<Sorter<T>[]>>(\"sorters\"),\n groups: create<DispatcherFun<GroupItem<T>[]>>(\"groups\"),\n filters: create<DispatcherFun<FilterConfig<T>[]>>(\"filters\"),\n };\n },\n {\n postMiddleware: [\n (state, prev) => {\n props.set?.(state as any);\n compareAndExec(prev?.filters ?? [], state.filters ?? [], props.setFilters);\n compareAndExec(prev?.sorters ?? [], state.sorters ?? [], props.setSorters);\n compareAndExec(prev?.groups ?? [], state.groups ?? [], props.setGroups);\n compareAndExec(prev?.cols ?? [], state.cols ?? [], props.setCols);\n return state;\n },\n ],\n }\n );\n\n useEffect(() => {\n dispatch.cols(props.cols);\n }, [props.cols]);\n\n return (\n <TableProvider value={contextState}>\n <AnimatePresence propagate initial={false}>\n {operations ? (\n <Metadata\n cols={state.cols}\n rows={props.rows}\n options={optionCols}\n groups={state.groups}\n filters={state.filters}\n setCols={dispatch.cols}\n sorters={state.sorters}\n setGroups={dispatch.groups}\n setFilters={dispatch.filters}\n setSorters={dispatch.sorters}\n pagination={props.pagination ?? null}\n inlineFilter={props.inlineFilter ?? true}\n inlineSorter={props.inlineSorter ?? true}\n />\n ) : null}\n {state.groups.length === 0 ? (\n <InnerTable\n {...props}\n index={0}\n cols={state.cols}\n options={optionCols}\n groups={state.groups}\n filters={state.filters}\n optionCols={optionCols}\n setCols={dispatch.cols}\n sorters={state.sorters}\n setGroups={dispatch.groups}\n setFilters={dispatch.filters}\n setSorters={dispatch.sorters}\n onScrollEnd={props.onScrollEnd}\n pagination={props.pagination ?? null}\n inlineFilter={props.inlineFilter ?? true}\n inlineSorter={props.inlineSorter ?? true}\n />\n ) : (\n <div className=\"flex flex-wrap gap-4\">\n {state.groups.map((group, index) => (\n <div className=\"min-w-full\" key={`group-${group.groupId}`}>\n <InnerTable\n {...props}\n group={group}\n index={index}\n cols={state.cols}\n pagination={null}\n rows={group.rows}\n options={optionCols}\n groups={state.groups}\n filters={state.filters}\n optionCols={optionCols}\n setCols={dispatch.cols}\n sorters={state.sorters}\n setGroups={dispatch.groups}\n setFilters={dispatch.filters}\n setSorters={dispatch.sorters}\n onScrollEnd={props.onScrollEnd}\n inlineFilter={props.inlineFilter ?? true}\n inlineSorter={props.inlineSorter ?? true}\n />\n </div>\n ))}\n </div>\n )}\n </AnimatePresence>\n </TableProvider>\n );\n};\n"],"names":["a","e","l","o","r","n","t","i","s","c","transform","args","useImmediate","argOffset","inputValue","inputRange","outputRange","options","interpolator","interpolate","notify","node","nodeGroup","nodes","subscriptions","dirtyAll","unsubscribe","DeprecatedLayoutGroupContext","createContext","useIsMounted","isMounted","useRef","useIsomorphicLayoutEffect","useForceUpdate","forcedRenderCount","setForcedRenderCount","useState","forceRender","useCallback","frame","shouldInheritGroup","inherit","shouldInheritId","LayoutGroup","children","id","layoutGroupContext","useContext","LayoutGroupContext","deprecatedLayoutGroupContext","key","context","upstreamId","memoizedContext","useMemo","jsx","useCombineMotionValues","values","combineValues","value","useMotionValue","updateValue","scheduleUpdate","v","cancelFrame","useComputed","compute","collectMotionValues","useTransform","input","inputRangeOrTransformer","outputRangeOrMap","transformer","result","useListTransform","latest","inputAccelerate","useConstant","numValues","DragControls","controls","event","createDragControls","useDragControls","ReorderContext","checkReorder","order","offset","velocity","index","item","nextOffset","nextItem","nextLayout","nextItemCenter","mixNumber","moveItem","ReorderGroupComponent","as","axis","onReorder","props","externalRef","Component","motion","isReordering","groupRef","invariant","layout","idx","entry","compareMin","newOrder","getValue","useEffect","setRef","element","groupStyle","ReorderGroup","forwardRef","b","threshold","maxSpeed","overflowStyles","initialScrollLimits","activeScrollEdge","currentGroupElement","resetAutoScrollState","scrollableAncestor","findScrollableAncestor","scrollableAncestorX","isScrollableElement","style","overflow","isDocumentScroll","current","getScrollAmount","pointerPosition","scrollElement","rect","start","end","distanceFromStart","distanceFromEnd","intensity","autoScrollIfNeeded","groupElement","viewportPointerPosition","scrollAmount","edge","currentActiveEdge","maxScroll","initialLimit","useDefaultMotionValue","defaultValue","isMotionValue","ReorderItemComponent","onDrag","onDragEnd","point","zIndex","latestX","latestY","registerItem","updateOrder","gesturePoint","pointerPoint","measured","ReorderItem","__defProp","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","obj","__spreadValues","prop","any","array","callback","len","anyLikeWhere","symbol","whereSymbol","isObject","equals","keys","k","getKey","sortBy","isNumber","isNumberOrString","isEmpty","symbolMap","x","all","GetOperationFromSymbol","filter","mappedArray","func","op","where","allLikeWhere","deepClone","clone","contains","dict","map2","distinct","el","array2","find","groupWith","groupBy","map","getInSequence","y","individualChars","charA","charZ","jumps","j","createChars","abs","first2","second","range","firstOrLength","secondOrSteps","jp","_","reduce","initial","accumulator","reverse","left","right","length","temporary","skip","skipLikeWhere","sort","sorter","shallowCopy","Order","Order2","createSorter","fields","acc","reverse2","property","p","multiSort","unique","seen","duplicate","Linq","_Linq","init","predicate","exceptions","commons","object","fn","firstValue","src_default","Empty","Icon","FileIcon","translate","useTranslations","jsxs","createPaginationItems","max","items","r1","r2","p2","Pagination","pagination","useId","translation","pageNavigation","hasNext","Fragment","Polymorph","RowAside","parentRef","ref","className","setClassName","ariaHidden","onLeave","child","parent","onEnter","observer","entries","Row","row","cols","loading","col","colIndex","matrix","path","exposeAside","Aside","createElement","SkeletonCell","Is","exports","w","h","u","d","S","f","$","m","I","C","getLabel","createOptionCols","opt","ColType","valueFromType","createColumns","thead","noop","mergeCols","saved","savedSet","mock","original","useTablePreferences","name","isSsr","LocalStorage","state","dispatch","useReducer","get","intercept","partial","prev","getters","useWidthControl","reorder","stableRef","useStableRef","onChange","getModalScrollerRef","createSorterFn","label","uuid","Sort","orders","orderOptions","onAddSorter","onSetSorter","onSortOrderType","type","onDelete","Dropdown","CaretUpDownIcon","Select","TrashIcon","PlusIcon","SorterHead","translations","status","setStatus","onClick","findIndex","labelId","SortAscendingIcon","SortDescendingIcon","TableContext","TableProvider","useTable","createFilterFromCol","operations","rest","typeOptions","operatorId","operation","useOperators","Filter","operators","onAddFilter","onSelectProperty","changedId","newId","onSelectOperation","operator","onChangeValue","FunnelIcon","Input","ColumnHeaderFilter","set","dragConstraints","HeaderChild","tweaks","useTweaks","ownFilters","hasFilters","defaultAllowSort","defaultAllowFilter","FilterIcon","MagnifyingGlassIcon","MagnifyingGlassMinusIcon","th","dragRef","dom","controller","ownSorter","ariaSort","Reorder.Item","delta","info","TableHeader","Reorder.Group","AnimatePresence","header","TableBody","React","VirtualTable","Thead","ctx","TRow","contextProps","innerProps","TFoot","components","loadingArray","EmptyContent","EmptyCell","emptyRows","InnerTable","filters","setCols","sorters","setFilters","setSorters","onScrollEnd","getScrollRef","useControl","setShowLoadingFooter","onScrollEndRef","loadingMoreRef","rows","linq","div","empty","TableVirtuoso","Item","onPointerDown","DotsSixVerticalIcon","Group","group","setGroup","select","groupName","StackMinusIcon","Button","Metadata","dispatcherFun","setter","compareAndExec","exec","Table","contextState","optionCols","create","arg"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,39]}