@clubmed/trident-ui 1.3.0-beta.8 → 1.3.0-rc.1

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 (184) hide show
  1. package/CHANGELOG.md +133 -0
  2. package/README.md +8 -0
  3. package/assets/icons/ResortFill/PHUC_Fill.svg +287 -10
  4. package/assets/icons/ResortFill/TOMC_Fill.svg +199 -14
  5. package/assets/icons/ResortFill-EC/KIPC_EC_Fill.svg +499 -0
  6. package/assets/icons/ResortOutline/PHUC_Outline.svg +156 -6
  7. package/assets/icons/ResortOutline/TOMC_Outline.svg +99 -6
  8. package/assets/icons/ResortOutline-EC/KIPC_EC_Outline.svg +380 -0
  9. package/assets/icons/Transports/Taxi.svg +5 -0
  10. package/assets/icons/Utilities/Doorhanger.svg +5 -0
  11. package/assets/{style.css → trident-ui.css} +1 -1
  12. package/atoms/Clickable/Clickable.d.ts +5 -0
  13. package/atoms/Clickable/Clickable.js +25 -0
  14. package/atoms/Clickable/Clickable.js.map +1 -0
  15. package/atoms/Heading/Heading.d.ts +6 -0
  16. package/atoms/Heading/Heading.js +14 -0
  17. package/atoms/Heading/Heading.js.map +1 -0
  18. package/atoms/Heading/HeadingGroup.d.ts +7 -0
  19. package/atoms/Heading/HeadingGroup.js +15 -0
  20. package/atoms/Heading/HeadingGroup.js.map +1 -0
  21. package/atoms/Icons/Iconics.d.ts +1 -1
  22. package/atoms/Icons/IconsResolver.d.ts +1 -1
  23. package/atoms/Icons/contexts/IconsContext.d.ts +1 -1
  24. package/atoms/Icons/svg/SvgIcon.d.ts +1 -1
  25. package/atoms/Icons/svg-use/SvgUseIcon.d.ts +1 -1
  26. package/atoms/Image/Image.d.ts +7 -0
  27. package/atoms/Image/Image.js +18 -0
  28. package/atoms/Image/Image.js.map +1 -0
  29. package/atoms/Prose/Prose.d.ts +5 -0
  30. package/atoms/Prose/Prose.js +18 -0
  31. package/atoms/Prose/Prose.js.map +1 -0
  32. package/chunks/ResizeObserver.js +287 -0
  33. package/chunks/ResizeObserver.js.map +1 -0
  34. package/chunks/_commonjsHelpers.js +19 -14
  35. package/chunks/_commonjsHelpers.js.map +1 -1
  36. package/chunks/index.js +36 -33
  37. package/chunks/index.js.map +1 -1
  38. package/chunks/plugin.js +57 -46
  39. package/chunks/plugin.js.map +1 -1
  40. package/contexts/Devices/Device.d.ts +3 -3
  41. package/contexts/Devices/hooks/useQueries.d.ts +2 -2
  42. package/contexts/Devices/reducers/reducer.d.ts +2 -2
  43. package/contexts/TridentUIConfig.d.ts +1 -1
  44. package/contexts/TridentUIConfig.js +1265 -653
  45. package/contexts/TridentUIConfig.js.map +1 -1
  46. package/helpers/colors/colors.d.ts +108 -0
  47. package/helpers/colors/colors.js +132 -0
  48. package/helpers/colors/colors.js.map +1 -0
  49. package/hooks/useKeyboardControls.d.ts +1 -1
  50. package/hooks/useResizeObserver.d.ts +2 -0
  51. package/hooks/useResizeObserver.js +84 -0
  52. package/hooks/useResizeObserver.js.map +1 -0
  53. package/hooks/useSafeBoop.d.ts +2 -2
  54. package/molecules/Arrows/Arrows.d.ts +2 -2
  55. package/molecules/Avatar.d.ts +1 -1
  56. package/molecules/Avatar.js +24 -24
  57. package/molecules/Avatar.js.map +1 -1
  58. package/molecules/Backdrop.d.ts +1 -1
  59. package/molecules/Breadcrumb.d.ts +7 -11
  60. package/molecules/Breadcrumb.js +44 -36
  61. package/molecules/Breadcrumb.js.map +1 -1
  62. package/molecules/Breadcrumb.themes.d.ts +8 -0
  63. package/molecules/Breadcrumb.themes.js +15 -0
  64. package/molecules/Breadcrumb.themes.js.map +1 -0
  65. package/molecules/Buttons/ArrowButton.d.ts +1 -1
  66. package/molecules/Buttons/Button.d.ts +7 -3
  67. package/molecules/Buttons/Button.js +12 -10
  68. package/molecules/Buttons/Button.js.map +1 -1
  69. package/molecules/Buttons/ButtonAnchor.d.ts +7 -2
  70. package/molecules/Buttons/ButtonAnchor.js +13 -10
  71. package/molecules/Buttons/ButtonAnchor.js.map +1 -1
  72. package/molecules/Buttons/ButtonContent.d.ts +2 -2
  73. package/molecules/Buttons/FakeButton.d.ts +7 -7
  74. package/molecules/Buttons/FakeButton.js +5 -24
  75. package/molecules/Buttons/FakeButton.js.map +1 -1
  76. package/molecules/Buttons/InertButton.d.ts +3 -3
  77. package/molecules/Buttons/InertButton.js +9 -8
  78. package/molecules/Buttons/InertButton.js.map +1 -1
  79. package/molecules/Buttons/v2/Button.d.ts +2286 -8
  80. package/molecules/Buttons/v2/Button.js +51 -26
  81. package/molecules/Buttons/v2/Button.js.map +1 -1
  82. package/molecules/Buttons/v2/Button.type.d.ts +5 -2
  83. package/molecules/Buttons/v2/Button.type.js +8 -5
  84. package/molecules/Buttons/v2/Button.type.js.map +1 -1
  85. package/molecules/Card.d.ts +1 -11
  86. package/molecules/Card.js +2 -34
  87. package/molecules/Card.js.map +1 -1
  88. package/molecules/Cards/Card.d.ts +13 -0
  89. package/molecules/Cards/Card.js +22 -0
  90. package/molecules/Cards/Card.js.map +1 -0
  91. package/molecules/Cards/CardAspectRatios.d.ts +6 -0
  92. package/molecules/Cards/CardAspectRatios.js +10 -0
  93. package/molecules/Cards/CardAspectRatios.js.map +1 -0
  94. package/molecules/Cards/CardBackground.d.ts +4 -0
  95. package/molecules/Cards/CardBackground.js +30 -0
  96. package/molecules/Cards/CardBackground.js.map +1 -0
  97. package/molecules/Cards/CardBackgroundContext.d.ts +6 -0
  98. package/molecules/Cards/CardBackgroundContext.js +10 -0
  99. package/molecules/Cards/CardBackgroundContext.js.map +1 -0
  100. package/molecules/Cards/CardClickable.d.ts +6 -0
  101. package/molecules/Cards/CardClickable.js +37 -0
  102. package/molecules/Cards/CardClickable.js.map +1 -0
  103. package/molecules/Cards/ExpandableCard.d.ts +14 -0
  104. package/molecules/Cards/ExpandableCard.js +80 -0
  105. package/molecules/Cards/ExpandableCard.js.map +1 -0
  106. package/molecules/Cards/v2/Card.d.ts +15 -0
  107. package/molecules/Cards/v2/Card.js +34 -0
  108. package/molecules/Cards/v2/Card.js.map +1 -0
  109. package/molecules/Chip.d.ts +9 -0
  110. package/molecules/Chip.js +31 -0
  111. package/molecules/Chip.js.map +1 -0
  112. package/molecules/Chip.themes.d.ts +12 -0
  113. package/molecules/Chip.themes.js +24 -0
  114. package/molecules/Chip.themes.js.map +1 -0
  115. package/molecules/ElasticHeight.d.ts +6 -27
  116. package/molecules/ElasticHeight.js +27 -33
  117. package/molecules/ElasticHeight.js.map +1 -1
  118. package/molecules/Forms/Checkboxes/Checkbox.d.ts +1 -1
  119. package/molecules/Forms/Checkboxes/Checkbox.js +43 -43
  120. package/molecules/Forms/Checkboxes/Checkbox.js.map +1 -1
  121. package/molecules/Forms/Checkboxes/Checkboxes.d.ts +2 -2
  122. package/molecules/Forms/DateField.d.ts +2 -2
  123. package/molecules/Forms/DateField.js +60 -61
  124. package/molecules/Forms/DateField.js.map +1 -1
  125. package/molecules/Forms/Filter.d.ts +1 -2
  126. package/molecules/Forms/Filter.js +29 -29
  127. package/molecules/Forms/Filter.js.map +1 -1
  128. package/molecules/Forms/FormControl.d.ts +4 -4
  129. package/molecules/Forms/FormLabel.d.ts +1 -1
  130. package/molecules/Forms/NumberField.d.ts +280 -280
  131. package/molecules/Forms/Password/Password.d.ts +1 -1
  132. package/molecules/Forms/Password/ValidationMessage.d.ts +1 -1
  133. package/molecules/Forms/Radios/Radio.d.ts +4 -2
  134. package/molecules/Forms/Radios/Radio.js +29 -28
  135. package/molecules/Forms/Radios/Radio.js.map +1 -1
  136. package/molecules/Forms/Radios/RadioGroup.d.ts +2 -2
  137. package/molecules/Forms/Radios/RadioGroup.js +70 -33
  138. package/molecules/Forms/Radios/RadioGroup.js.map +1 -1
  139. package/molecules/Forms/Range.d.ts +1 -2
  140. package/molecules/Forms/Range.js +144 -421
  141. package/molecules/Forms/Range.js.map +1 -1
  142. package/molecules/Forms/Select.d.ts +3 -3
  143. package/molecules/Forms/Switch.d.ts +1 -1
  144. package/molecules/Forms/TextField.d.ts +3 -3
  145. package/molecules/HamburgerIcon.d.ts +1 -1
  146. package/molecules/Link.d.ts +2 -2
  147. package/molecules/Loader.d.ts +1 -1
  148. package/molecules/Pagination.d.ts +2 -2
  149. package/molecules/Popin.d.ts +1 -1
  150. package/molecules/Spinner.d.ts +1 -1
  151. package/molecules/Tabs/Tab.d.ts +2 -3
  152. package/molecules/Tabs/Tab.js +41 -42
  153. package/molecules/Tabs/Tab.js.map +1 -1
  154. package/molecules/Tabs/TabList.d.ts +1 -1
  155. package/molecules/Tabs/TabList.js +21 -21
  156. package/molecules/Tabs/TabList.js.map +1 -1
  157. package/molecules/Tabs/TabPanel.d.ts +1 -1
  158. package/molecules/Tabs/TabPanel.js +13 -13
  159. package/molecules/Tabs/TabPanel.js.map +1 -1
  160. package/molecules/Tabs/Tabs.d.ts +1 -1
  161. package/molecules/Tabs/TabsBody.d.ts +1 -1
  162. package/molecules/Tabs/context/TabControl.d.ts +2 -2
  163. package/molecules/Tabs/hooks/tabControl.d.ts +5 -5
  164. package/molecules/Tag.d.ts +43 -0
  165. package/molecules/Tag.js +73 -0
  166. package/molecules/Tag.js.map +1 -0
  167. package/package.json +48 -45
  168. package/styles/index.css +1 -1
  169. package/tailwind/plugins/animationDelay.d.ts +2 -2
  170. package/tailwind/plugins/hocus.d.ts +2 -2
  171. package/tailwind/plugins/lineClampFix.d.ts +2 -2
  172. package/tailwind/plugins/popover.d.ts +2 -2
  173. package/tailwind/plugins/startingStyle.d.ts +2 -2
  174. package/tailwind/plugins/transitionBehavior.d.ts +2 -2
  175. package/tailwind/tailwind.preset.d.ts +50 -50
  176. package/types/LiteralUnion.d.js +2 -0
  177. package/types/LiteralUnion.d.js.map +1 -0
  178. package/types/Theme.d.js +2 -0
  179. package/types/Theme.d.js.map +1 -0
  180. package/assets/icons/ResortFill/KIPC_Fill.svg +0 -12
  181. package/assets/icons/ResortOutline/KIPC_Outline.svg +0 -7
  182. package/molecules/Buttons/v2/ButtonAnchor.d.ts +0 -12
  183. package/molecules/Buttons/v2/ButtonAnchor.js +0 -32
  184. package/molecules/Buttons/v2/ButtonAnchor.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Range.js","sources":["../../../node_modules/@juggle/resize-observer/lib/utils/resizeObservers.js","../../../node_modules/@juggle/resize-observer/lib/algorithms/hasActiveObservations.js","../../../node_modules/@juggle/resize-observer/lib/algorithms/hasSkippedObservations.js","../../../node_modules/@juggle/resize-observer/lib/algorithms/deliverResizeLoopError.js","../../../node_modules/@juggle/resize-observer/lib/ResizeObserverBoxOptions.js","../../../node_modules/@juggle/resize-observer/lib/utils/freeze.js","../../../node_modules/@juggle/resize-observer/lib/ResizeObserverSize.js","../../../node_modules/@juggle/resize-observer/lib/DOMRectReadOnly.js","../../../node_modules/@juggle/resize-observer/lib/utils/element.js","../../../node_modules/@juggle/resize-observer/lib/utils/global.js","../../../node_modules/@juggle/resize-observer/lib/algorithms/calculateBoxSize.js","../../../node_modules/@juggle/resize-observer/lib/ResizeObserverEntry.js","../../../node_modules/@juggle/resize-observer/lib/algorithms/calculateDepthForNode.js","../../../node_modules/@juggle/resize-observer/lib/algorithms/broadcastActiveObservations.js","../../../node_modules/@juggle/resize-observer/lib/algorithms/gatherActiveObservationsAtDepth.js","../../../node_modules/@juggle/resize-observer/lib/utils/process.js","../../../node_modules/@juggle/resize-observer/lib/utils/queueMicroTask.js","../../../node_modules/@juggle/resize-observer/lib/utils/queueResizeObserver.js","../../../node_modules/@juggle/resize-observer/lib/utils/scheduler.js","../../../node_modules/@juggle/resize-observer/lib/ResizeObservation.js","../../../node_modules/@juggle/resize-observer/lib/ResizeObserverDetail.js","../../../node_modules/@juggle/resize-observer/lib/ResizeObserverController.js","../../../node_modules/@juggle/resize-observer/lib/ResizeObserver.js","../../../node_modules/debounce/index.js","../../../node_modules/react-use-measure/dist/web.js","../../../lib/molecules/Forms/Range.tsx"],"sourcesContent":["var resizeObservers = [];\nexport { resizeObservers };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasActiveObservations = function () {\n return resizeObservers.some(function (ro) { return ro.activeTargets.length > 0; });\n};\nexport { hasActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasSkippedObservations = function () {\n return resizeObservers.some(function (ro) { return ro.skippedTargets.length > 0; });\n};\nexport { hasSkippedObservations };\n","var msg = 'ResizeObserver loop completed with undelivered notifications.';\nvar deliverResizeLoopError = function () {\n var event;\n if (typeof ErrorEvent === 'function') {\n event = new ErrorEvent('error', {\n message: msg\n });\n }\n else {\n event = document.createEvent('Event');\n event.initEvent('error', false, false);\n event.message = msg;\n }\n window.dispatchEvent(event);\n};\nexport { deliverResizeLoopError };\n","var ResizeObserverBoxOptions;\n(function (ResizeObserverBoxOptions) {\n ResizeObserverBoxOptions[\"BORDER_BOX\"] = \"border-box\";\n ResizeObserverBoxOptions[\"CONTENT_BOX\"] = \"content-box\";\n ResizeObserverBoxOptions[\"DEVICE_PIXEL_CONTENT_BOX\"] = \"device-pixel-content-box\";\n})(ResizeObserverBoxOptions || (ResizeObserverBoxOptions = {}));\nexport { ResizeObserverBoxOptions };\n","export var freeze = function (obj) { return Object.freeze(obj); };\n","import { freeze } from './utils/freeze';\nvar ResizeObserverSize = (function () {\n function ResizeObserverSize(inlineSize, blockSize) {\n this.inlineSize = inlineSize;\n this.blockSize = blockSize;\n freeze(this);\n }\n return ResizeObserverSize;\n}());\nexport { ResizeObserverSize };\n","import { freeze } from './utils/freeze';\nvar DOMRectReadOnly = (function () {\n function DOMRectReadOnly(x, y, width, height) {\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n this.top = this.y;\n this.left = this.x;\n this.bottom = this.top + this.height;\n this.right = this.left + this.width;\n return freeze(this);\n }\n DOMRectReadOnly.prototype.toJSON = function () {\n var _a = this, x = _a.x, y = _a.y, top = _a.top, right = _a.right, bottom = _a.bottom, left = _a.left, width = _a.width, height = _a.height;\n return { x: x, y: y, top: top, right: right, bottom: bottom, left: left, width: width, height: height };\n };\n DOMRectReadOnly.fromRect = function (rectangle) {\n return new DOMRectReadOnly(rectangle.x, rectangle.y, rectangle.width, rectangle.height);\n };\n return DOMRectReadOnly;\n}());\nexport { DOMRectReadOnly };\n","var isSVG = function (target) { return target instanceof SVGElement && 'getBBox' in target; };\nvar isHidden = function (target) {\n if (isSVG(target)) {\n var _a = target.getBBox(), width = _a.width, height = _a.height;\n return !width && !height;\n }\n var _b = target, offsetWidth = _b.offsetWidth, offsetHeight = _b.offsetHeight;\n return !(offsetWidth || offsetHeight || target.getClientRects().length);\n};\nvar isElement = function (obj) {\n var _a;\n if (obj instanceof Element) {\n return true;\n }\n var scope = (_a = obj === null || obj === void 0 ? void 0 : obj.ownerDocument) === null || _a === void 0 ? void 0 : _a.defaultView;\n return !!(scope && obj instanceof scope.Element);\n};\nvar isReplacedElement = function (target) {\n switch (target.tagName) {\n case 'INPUT':\n if (target.type !== 'image') {\n break;\n }\n case 'VIDEO':\n case 'AUDIO':\n case 'EMBED':\n case 'OBJECT':\n case 'CANVAS':\n case 'IFRAME':\n case 'IMG':\n return true;\n }\n return false;\n};\nexport { isSVG, isHidden, isElement, isReplacedElement };\n","export var global = typeof window !== 'undefined' ? window : {};\n","import { ResizeObserverBoxOptions } from '../ResizeObserverBoxOptions';\nimport { ResizeObserverSize } from '../ResizeObserverSize';\nimport { DOMRectReadOnly } from '../DOMRectReadOnly';\nimport { isSVG, isHidden } from '../utils/element';\nimport { freeze } from '../utils/freeze';\nimport { global } from '../utils/global';\nvar cache = new WeakMap();\nvar scrollRegexp = /auto|scroll/;\nvar verticalRegexp = /^tb|vertical/;\nvar IE = (/msie|trident/i).test(global.navigator && global.navigator.userAgent);\nvar parseDimension = function (pixel) { return parseFloat(pixel || '0'); };\nvar size = function (inlineSize, blockSize, switchSizes) {\n if (inlineSize === void 0) { inlineSize = 0; }\n if (blockSize === void 0) { blockSize = 0; }\n if (switchSizes === void 0) { switchSizes = false; }\n return new ResizeObserverSize((switchSizes ? blockSize : inlineSize) || 0, (switchSizes ? inlineSize : blockSize) || 0);\n};\nvar zeroBoxes = freeze({\n devicePixelContentBoxSize: size(),\n borderBoxSize: size(),\n contentBoxSize: size(),\n contentRect: new DOMRectReadOnly(0, 0, 0, 0)\n});\nvar calculateBoxSizes = function (target, forceRecalculation) {\n if (forceRecalculation === void 0) { forceRecalculation = false; }\n if (cache.has(target) && !forceRecalculation) {\n return cache.get(target);\n }\n if (isHidden(target)) {\n cache.set(target, zeroBoxes);\n return zeroBoxes;\n }\n var cs = getComputedStyle(target);\n var svg = isSVG(target) && target.ownerSVGElement && target.getBBox();\n var removePadding = !IE && cs.boxSizing === 'border-box';\n var switchSizes = verticalRegexp.test(cs.writingMode || '');\n var canScrollVertically = !svg && scrollRegexp.test(cs.overflowY || '');\n var canScrollHorizontally = !svg && scrollRegexp.test(cs.overflowX || '');\n var paddingTop = svg ? 0 : parseDimension(cs.paddingTop);\n var paddingRight = svg ? 0 : parseDimension(cs.paddingRight);\n var paddingBottom = svg ? 0 : parseDimension(cs.paddingBottom);\n var paddingLeft = svg ? 0 : parseDimension(cs.paddingLeft);\n var borderTop = svg ? 0 : parseDimension(cs.borderTopWidth);\n var borderRight = svg ? 0 : parseDimension(cs.borderRightWidth);\n var borderBottom = svg ? 0 : parseDimension(cs.borderBottomWidth);\n var borderLeft = svg ? 0 : parseDimension(cs.borderLeftWidth);\n var horizontalPadding = paddingLeft + paddingRight;\n var verticalPadding = paddingTop + paddingBottom;\n var horizontalBorderArea = borderLeft + borderRight;\n var verticalBorderArea = borderTop + borderBottom;\n var horizontalScrollbarThickness = !canScrollHorizontally ? 0 : target.offsetHeight - verticalBorderArea - target.clientHeight;\n var verticalScrollbarThickness = !canScrollVertically ? 0 : target.offsetWidth - horizontalBorderArea - target.clientWidth;\n var widthReduction = removePadding ? horizontalPadding + horizontalBorderArea : 0;\n var heightReduction = removePadding ? verticalPadding + verticalBorderArea : 0;\n var contentWidth = svg ? svg.width : parseDimension(cs.width) - widthReduction - verticalScrollbarThickness;\n var contentHeight = svg ? svg.height : parseDimension(cs.height) - heightReduction - horizontalScrollbarThickness;\n var borderBoxWidth = contentWidth + horizontalPadding + verticalScrollbarThickness + horizontalBorderArea;\n var borderBoxHeight = contentHeight + verticalPadding + horizontalScrollbarThickness + verticalBorderArea;\n var boxes = freeze({\n devicePixelContentBoxSize: size(Math.round(contentWidth * devicePixelRatio), Math.round(contentHeight * devicePixelRatio), switchSizes),\n borderBoxSize: size(borderBoxWidth, borderBoxHeight, switchSizes),\n contentBoxSize: size(contentWidth, contentHeight, switchSizes),\n contentRect: new DOMRectReadOnly(paddingLeft, paddingTop, contentWidth, contentHeight)\n });\n cache.set(target, boxes);\n return boxes;\n};\nvar calculateBoxSize = function (target, observedBox, forceRecalculation) {\n var _a = calculateBoxSizes(target, forceRecalculation), borderBoxSize = _a.borderBoxSize, contentBoxSize = _a.contentBoxSize, devicePixelContentBoxSize = _a.devicePixelContentBoxSize;\n switch (observedBox) {\n case ResizeObserverBoxOptions.DEVICE_PIXEL_CONTENT_BOX:\n return devicePixelContentBoxSize;\n case ResizeObserverBoxOptions.BORDER_BOX:\n return borderBoxSize;\n default:\n return contentBoxSize;\n }\n};\nexport { calculateBoxSize, calculateBoxSizes };\n","import { calculateBoxSizes } from './algorithms/calculateBoxSize';\nimport { freeze } from './utils/freeze';\nvar ResizeObserverEntry = (function () {\n function ResizeObserverEntry(target) {\n var boxes = calculateBoxSizes(target);\n this.target = target;\n this.contentRect = boxes.contentRect;\n this.borderBoxSize = freeze([boxes.borderBoxSize]);\n this.contentBoxSize = freeze([boxes.contentBoxSize]);\n this.devicePixelContentBoxSize = freeze([boxes.devicePixelContentBoxSize]);\n }\n return ResizeObserverEntry;\n}());\nexport { ResizeObserverEntry };\n","import { isHidden } from '../utils/element';\nvar calculateDepthForNode = function (node) {\n if (isHidden(node)) {\n return Infinity;\n }\n var depth = 0;\n var parent = node.parentNode;\n while (parent) {\n depth += 1;\n parent = parent.parentNode;\n }\n return depth;\n};\nexport { calculateDepthForNode };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { ResizeObserverEntry } from '../ResizeObserverEntry';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nimport { calculateBoxSize } from './calculateBoxSize';\nvar broadcastActiveObservations = function () {\n var shallowestDepth = Infinity;\n var callbacks = [];\n resizeObservers.forEach(function processObserver(ro) {\n if (ro.activeTargets.length === 0) {\n return;\n }\n var entries = [];\n ro.activeTargets.forEach(function processTarget(ot) {\n var entry = new ResizeObserverEntry(ot.target);\n var targetDepth = calculateDepthForNode(ot.target);\n entries.push(entry);\n ot.lastReportedSize = calculateBoxSize(ot.target, ot.observedBox);\n if (targetDepth < shallowestDepth) {\n shallowestDepth = targetDepth;\n }\n });\n callbacks.push(function resizeObserverCallback() {\n ro.callback.call(ro.observer, entries, ro.observer);\n });\n ro.activeTargets.splice(0, ro.activeTargets.length);\n });\n for (var _i = 0, callbacks_1 = callbacks; _i < callbacks_1.length; _i++) {\n var callback = callbacks_1[_i];\n callback();\n }\n return shallowestDepth;\n};\nexport { broadcastActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nvar gatherActiveObservationsAtDepth = function (depth) {\n resizeObservers.forEach(function processObserver(ro) {\n ro.activeTargets.splice(0, ro.activeTargets.length);\n ro.skippedTargets.splice(0, ro.skippedTargets.length);\n ro.observationTargets.forEach(function processTarget(ot) {\n if (ot.isActive()) {\n if (calculateDepthForNode(ot.target) > depth) {\n ro.activeTargets.push(ot);\n }\n else {\n ro.skippedTargets.push(ot);\n }\n }\n });\n });\n};\nexport { gatherActiveObservationsAtDepth };\n","import { hasActiveObservations } from '../algorithms/hasActiveObservations';\nimport { hasSkippedObservations } from '../algorithms/hasSkippedObservations';\nimport { deliverResizeLoopError } from '../algorithms/deliverResizeLoopError';\nimport { broadcastActiveObservations } from '../algorithms/broadcastActiveObservations';\nimport { gatherActiveObservationsAtDepth } from '../algorithms/gatherActiveObservationsAtDepth';\nvar process = function () {\n var depth = 0;\n gatherActiveObservationsAtDepth(depth);\n while (hasActiveObservations()) {\n depth = broadcastActiveObservations();\n gatherActiveObservationsAtDepth(depth);\n }\n if (hasSkippedObservations()) {\n deliverResizeLoopError();\n }\n return depth > 0;\n};\nexport { process };\n","var trigger;\nvar callbacks = [];\nvar notify = function () { return callbacks.splice(0).forEach(function (cb) { return cb(); }); };\nvar queueMicroTask = function (callback) {\n if (!trigger) {\n var toggle_1 = 0;\n var el_1 = document.createTextNode('');\n var config = { characterData: true };\n new MutationObserver(function () { return notify(); }).observe(el_1, config);\n trigger = function () { el_1.textContent = \"\".concat(toggle_1 ? toggle_1-- : toggle_1++); };\n }\n callbacks.push(callback);\n trigger();\n};\nexport { queueMicroTask };\n","import { queueMicroTask } from './queueMicroTask';\nvar queueResizeObserver = function (cb) {\n queueMicroTask(function ResizeObserver() {\n requestAnimationFrame(cb);\n });\n};\nexport { queueResizeObserver };\n","import { process } from './process';\nimport { global } from './global';\nimport { queueResizeObserver } from './queueResizeObserver';\nvar watching = 0;\nvar isWatching = function () { return !!watching; };\nvar CATCH_PERIOD = 250;\nvar observerConfig = { attributes: true, characterData: true, childList: true, subtree: true };\nvar events = [\n 'resize',\n 'load',\n 'transitionend',\n 'animationend',\n 'animationstart',\n 'animationiteration',\n 'keyup',\n 'keydown',\n 'mouseup',\n 'mousedown',\n 'mouseover',\n 'mouseout',\n 'blur',\n 'focus'\n];\nvar time = function (timeout) {\n if (timeout === void 0) { timeout = 0; }\n return Date.now() + timeout;\n};\nvar scheduled = false;\nvar Scheduler = (function () {\n function Scheduler() {\n var _this = this;\n this.stopped = true;\n this.listener = function () { return _this.schedule(); };\n }\n Scheduler.prototype.run = function (timeout) {\n var _this = this;\n if (timeout === void 0) { timeout = CATCH_PERIOD; }\n if (scheduled) {\n return;\n }\n scheduled = true;\n var until = time(timeout);\n queueResizeObserver(function () {\n var elementsHaveResized = false;\n try {\n elementsHaveResized = process();\n }\n finally {\n scheduled = false;\n timeout = until - time();\n if (!isWatching()) {\n return;\n }\n if (elementsHaveResized) {\n _this.run(1000);\n }\n else if (timeout > 0) {\n _this.run(timeout);\n }\n else {\n _this.start();\n }\n }\n });\n };\n Scheduler.prototype.schedule = function () {\n this.stop();\n this.run();\n };\n Scheduler.prototype.observe = function () {\n var _this = this;\n var cb = function () { return _this.observer && _this.observer.observe(document.body, observerConfig); };\n document.body ? cb() : global.addEventListener('DOMContentLoaded', cb);\n };\n Scheduler.prototype.start = function () {\n var _this = this;\n if (this.stopped) {\n this.stopped = false;\n this.observer = new MutationObserver(this.listener);\n this.observe();\n events.forEach(function (name) { return global.addEventListener(name, _this.listener, true); });\n }\n };\n Scheduler.prototype.stop = function () {\n var _this = this;\n if (!this.stopped) {\n this.observer && this.observer.disconnect();\n events.forEach(function (name) { return global.removeEventListener(name, _this.listener, true); });\n this.stopped = true;\n }\n };\n return Scheduler;\n}());\nvar scheduler = new Scheduler();\nvar updateCount = function (n) {\n !watching && n > 0 && scheduler.start();\n watching += n;\n !watching && scheduler.stop();\n};\nexport { scheduler, updateCount };\n","import { ResizeObserverBoxOptions } from './ResizeObserverBoxOptions';\nimport { calculateBoxSize } from './algorithms/calculateBoxSize';\nimport { isSVG, isReplacedElement } from './utils/element';\nvar skipNotifyOnElement = function (target) {\n return !isSVG(target)\n && !isReplacedElement(target)\n && getComputedStyle(target).display === 'inline';\n};\nvar ResizeObservation = (function () {\n function ResizeObservation(target, observedBox) {\n this.target = target;\n this.observedBox = observedBox || ResizeObserverBoxOptions.CONTENT_BOX;\n this.lastReportedSize = {\n inlineSize: 0,\n blockSize: 0\n };\n }\n ResizeObservation.prototype.isActive = function () {\n var size = calculateBoxSize(this.target, this.observedBox, true);\n if (skipNotifyOnElement(this.target)) {\n this.lastReportedSize = size;\n }\n if (this.lastReportedSize.inlineSize !== size.inlineSize\n || this.lastReportedSize.blockSize !== size.blockSize) {\n return true;\n }\n return false;\n };\n return ResizeObservation;\n}());\nexport { ResizeObservation };\n","var ResizeObserverDetail = (function () {\n function ResizeObserverDetail(resizeObserver, callback) {\n this.activeTargets = [];\n this.skippedTargets = [];\n this.observationTargets = [];\n this.observer = resizeObserver;\n this.callback = callback;\n }\n return ResizeObserverDetail;\n}());\nexport { ResizeObserverDetail };\n","import { scheduler, updateCount } from './utils/scheduler';\nimport { ResizeObservation } from './ResizeObservation';\nimport { ResizeObserverDetail } from './ResizeObserverDetail';\nimport { resizeObservers } from './utils/resizeObservers';\nvar observerMap = new WeakMap();\nvar getObservationIndex = function (observationTargets, target) {\n for (var i = 0; i < observationTargets.length; i += 1) {\n if (observationTargets[i].target === target) {\n return i;\n }\n }\n return -1;\n};\nvar ResizeObserverController = (function () {\n function ResizeObserverController() {\n }\n ResizeObserverController.connect = function (resizeObserver, callback) {\n var detail = new ResizeObserverDetail(resizeObserver, callback);\n observerMap.set(resizeObserver, detail);\n };\n ResizeObserverController.observe = function (resizeObserver, target, options) {\n var detail = observerMap.get(resizeObserver);\n var firstObservation = detail.observationTargets.length === 0;\n if (getObservationIndex(detail.observationTargets, target) < 0) {\n firstObservation && resizeObservers.push(detail);\n detail.observationTargets.push(new ResizeObservation(target, options && options.box));\n updateCount(1);\n scheduler.schedule();\n }\n };\n ResizeObserverController.unobserve = function (resizeObserver, target) {\n var detail = observerMap.get(resizeObserver);\n var index = getObservationIndex(detail.observationTargets, target);\n var lastObservation = detail.observationTargets.length === 1;\n if (index >= 0) {\n lastObservation && resizeObservers.splice(resizeObservers.indexOf(detail), 1);\n detail.observationTargets.splice(index, 1);\n updateCount(-1);\n }\n };\n ResizeObserverController.disconnect = function (resizeObserver) {\n var _this = this;\n var detail = observerMap.get(resizeObserver);\n detail.observationTargets.slice().forEach(function (ot) { return _this.unobserve(resizeObserver, ot.target); });\n detail.activeTargets.splice(0, detail.activeTargets.length);\n };\n return ResizeObserverController;\n}());\nexport { ResizeObserverController };\n","import { ResizeObserverController } from './ResizeObserverController';\nimport { isElement } from './utils/element';\nvar ResizeObserver = (function () {\n function ResizeObserver(callback) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (typeof callback !== 'function') {\n throw new TypeError(\"Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.\");\n }\n ResizeObserverController.connect(this, callback);\n }\n ResizeObserver.prototype.observe = function (target, options) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.observe(this, target, options);\n };\n ResizeObserver.prototype.unobserve = function (target) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.unobserve(this, target);\n };\n ResizeObserver.prototype.disconnect = function () {\n ResizeObserverController.disconnect(this);\n };\n ResizeObserver.toString = function () {\n return 'function ResizeObserver () { [polyfill code] }';\n };\n return ResizeObserver;\n}());\nexport { ResizeObserver };\n","/**\n * Returns a function, that, as long as it continues to be invoked, will not\n * be triggered. The function will be called after it stops being called for\n * N milliseconds. If `immediate` is passed, trigger the function on the\n * leading edge, instead of the trailing. The function also has a property 'clear' \n * that is a function which will clear the timer to prevent previously scheduled executions. \n *\n * @source underscore.js\n * @see http://unscriptable.com/2009/03/20/debouncing-javascript-methods/\n * @param {Function} function to wrap\n * @param {Number} timeout in ms (`100`)\n * @param {Boolean} whether to execute at the beginning (`false`)\n * @api public\n */\nfunction debounce(func, wait, immediate){\n var timeout, args, context, timestamp, result;\n if (null == wait) wait = 100;\n\n function later() {\n var last = Date.now() - timestamp;\n\n if (last < wait && last >= 0) {\n timeout = setTimeout(later, wait - last);\n } else {\n timeout = null;\n if (!immediate) {\n result = func.apply(context, args);\n context = args = null;\n }\n }\n };\n\n var debounced = function(){\n context = this;\n args = arguments;\n timestamp = Date.now();\n var callNow = immediate && !timeout;\n if (!timeout) timeout = setTimeout(later, wait);\n if (callNow) {\n result = func.apply(context, args);\n context = args = null;\n }\n\n return result;\n };\n\n debounced.clear = function() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n };\n \n debounced.flush = function() {\n if (timeout) {\n result = func.apply(context, args);\n context = args = null;\n \n clearTimeout(timeout);\n timeout = null;\n }\n };\n\n return debounced;\n};\n\n// Adds compatibility for ES modules\ndebounce.debounce = debounce;\n\nmodule.exports = debounce;\n","import { useState, useRef, useEffect, useMemo } from 'react';\nimport createDebounce from 'debounce';\n\nfunction useMeasure(_temp) {\n let {\n debounce,\n scroll,\n polyfill,\n offsetSize\n } = _temp === void 0 ? {\n debounce: 0,\n scroll: false,\n offsetSize: false\n } : _temp;\n const ResizeObserver = polyfill || (typeof window === 'undefined' ? class ResizeObserver {} : window.ResizeObserver);\n\n if (!ResizeObserver) {\n throw new Error('This browser does not support ResizeObserver out of the box. See: https://github.com/react-spring/react-use-measure/#resize-observer-polyfills');\n }\n\n const [bounds, set] = useState({\n left: 0,\n top: 0,\n width: 0,\n height: 0,\n bottom: 0,\n right: 0,\n x: 0,\n y: 0\n }); // keep all state in a ref\n\n const state = useRef({\n element: null,\n scrollContainers: null,\n resizeObserver: null,\n lastBounds: bounds\n }); // set actual debounce values early, so effects know if they should react accordingly\n\n const scrollDebounce = debounce ? typeof debounce === 'number' ? debounce : debounce.scroll : null;\n const resizeDebounce = debounce ? typeof debounce === 'number' ? debounce : debounce.resize : null; // make sure to update state only as long as the component is truly mounted\n\n const mounted = useRef(false);\n useEffect(() => {\n mounted.current = true;\n return () => void (mounted.current = false);\n }); // memoize handlers, so event-listeners know when they should update\n\n const [forceRefresh, resizeChange, scrollChange] = useMemo(() => {\n const callback = () => {\n if (!state.current.element) return;\n const {\n left,\n top,\n width,\n height,\n bottom,\n right,\n x,\n y\n } = state.current.element.getBoundingClientRect();\n const size = {\n left,\n top,\n width,\n height,\n bottom,\n right,\n x,\n y\n };\n\n if (state.current.element instanceof HTMLElement && offsetSize) {\n size.height = state.current.element.offsetHeight;\n size.width = state.current.element.offsetWidth;\n }\n\n Object.freeze(size);\n if (mounted.current && !areBoundsEqual(state.current.lastBounds, size)) set(state.current.lastBounds = size);\n };\n\n return [callback, resizeDebounce ? createDebounce(callback, resizeDebounce) : callback, scrollDebounce ? createDebounce(callback, scrollDebounce) : callback];\n }, [set, offsetSize, scrollDebounce, resizeDebounce]); // cleanup current scroll-listeners / observers\n\n function removeListeners() {\n if (state.current.scrollContainers) {\n state.current.scrollContainers.forEach(element => element.removeEventListener('scroll', scrollChange, true));\n state.current.scrollContainers = null;\n }\n\n if (state.current.resizeObserver) {\n state.current.resizeObserver.disconnect();\n state.current.resizeObserver = null;\n }\n } // add scroll-listeners / observers\n\n\n function addListeners() {\n if (!state.current.element) return;\n state.current.resizeObserver = new ResizeObserver(scrollChange);\n state.current.resizeObserver.observe(state.current.element);\n\n if (scroll && state.current.scrollContainers) {\n state.current.scrollContainers.forEach(scrollContainer => scrollContainer.addEventListener('scroll', scrollChange, {\n capture: true,\n passive: true\n }));\n }\n } // the ref we expose to the user\n\n\n const ref = node => {\n if (!node || node === state.current.element) return;\n removeListeners();\n state.current.element = node;\n state.current.scrollContainers = findScrollContainers(node);\n addListeners();\n }; // add general event listeners\n\n\n useOnWindowScroll(scrollChange, Boolean(scroll));\n useOnWindowResize(resizeChange); // respond to changes that are relevant for the listeners\n\n useEffect(() => {\n removeListeners();\n addListeners();\n }, [scroll, scrollChange, resizeChange]); // remove all listeners when the components unmounts\n\n useEffect(() => removeListeners, []);\n return [ref, bounds, forceRefresh];\n} // Adds native resize listener to window\n\n\nfunction useOnWindowResize(onWindowResize) {\n useEffect(() => {\n const cb = onWindowResize;\n window.addEventListener('resize', cb);\n return () => void window.removeEventListener('resize', cb);\n }, [onWindowResize]);\n}\n\nfunction useOnWindowScroll(onScroll, enabled) {\n useEffect(() => {\n if (enabled) {\n const cb = onScroll;\n window.addEventListener('scroll', cb, {\n capture: true,\n passive: true\n });\n return () => void window.removeEventListener('scroll', cb, true);\n }\n }, [onScroll, enabled]);\n} // Returns a list of scroll offsets\n\n\nfunction findScrollContainers(element) {\n const result = [];\n if (!element || element === document.body) return result;\n const {\n overflow,\n overflowX,\n overflowY\n } = window.getComputedStyle(element);\n if ([overflow, overflowX, overflowY].some(prop => prop === 'auto' || prop === 'scroll')) result.push(element);\n return [...result, ...findScrollContainers(element.parentElement)];\n} // Checks if element boundaries are equal\n\n\nconst keys = ['x', 'y', 'top', 'bottom', 'left', 'right', 'width', 'height'];\n\nconst areBoundsEqual = (a, b) => keys.every(key => a[key] === b[key]);\n\nexport { useMeasure as default };\n","import { ResizeObserver } from '@juggle/resize-observer';\nimport classnames from 'classnames';\nimport {\n type ChangeEvent,\n type CSSProperties,\n type InputHTMLAttributes,\n useId,\n useState,\n} from 'react';\n\nimport useMeasure from 'react-use-measure';\nimport './range.css';\n\ninterface RangeProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'onChange'> {\n /**\n * Aria label\n * @default 'Range'\n * */\n ariaLabel?: string;\n /**\n * Additional class names\n * */\n className?: string;\n /**\n * Data test id\n * */\n dataTestId?: string;\n /**\n * Single cursor mode\n * @default false\n * */\n singleCursorMode?: boolean;\n /**\n * Min value\n * @default 0\n * */\n min?: number;\n /**\n * On change\n * */\n onChange?: (name: string, value: number[]) => void;\n /**\n * Options\n * @default []\n * */\n options: { value: number; label: string }[];\n}\n\nexport const Range = (props: RangeProps) => {\n const internalId = useId();\n\n const {\n ariaLabel,\n className,\n dataTestId = 'range',\n id = internalId,\n name = id,\n singleCursorMode = false,\n min = 0,\n options = [],\n step = 1,\n readOnly,\n disabled,\n onChange,\n ...rest\n } = props;\n\n const [valueA, setValueA] = useState(options.length - 1);\n const [valueB, setValueB] = useState(min);\n const [containerRef, { width }] = useMeasure({ polyfill: ResizeObserver });\n\n const handleChange = (e: ChangeEvent<HTMLInputElement>) => {\n if (!readOnly) {\n e.persist();\n const inputValue = Number(e.target.value);\n const inputId = e.target.id[e.target.id.length - 1];\n\n if (inputId === 'a') {\n setValueA(inputValue);\n } else {\n setValueB(inputValue);\n }\n\n onChange && onChange(name, [valueA, valueB]);\n }\n };\n\n return (\n <div\n style={\n {\n '--min': min,\n '--max': options.length - 1,\n '--inputWidth': `${width}px`,\n '--inputHeight': '4px',\n '--thumbWidth': '32px',\n '--usefulWidth': 'calc(var(--inputWidth) - var(--thumbWidth))',\n '--valueA': valueA,\n '--valueB': valueB,\n } as CSSProperties\n }\n className={classnames('relative w-full', className)}\n data-testid={dataTestId}\n data-name=\"Range\"\n ref={containerRef}\n >\n <div className=\"input-range-container\">\n <input\n {...rest}\n aria-label={ariaLabel}\n className=\"input-range\"\n id={`${id}-a`}\n max={options.length - 1}\n min={min}\n name={name}\n onChange={handleChange}\n disabled={disabled}\n step={step}\n type=\"range\"\n value={valueA}\n />\n {!singleCursorMode && (\n <input\n {...rest}\n aria-label={ariaLabel}\n className=\"input-range\"\n disabled={disabled}\n id={`${id}-b`}\n max={options.length - 1}\n min={min}\n name={name}\n onChange={handleChange}\n step={step}\n type=\"range\"\n value={valueB}\n />\n )}\n </div>\n <output\n htmlFor={`${id}-a`}\n style={{ '--value': valueA } as CSSProperties}\n className=\"input-range-output\"\n >\n {options[valueA].label}\n </output>\n {!singleCursorMode && (\n <output\n htmlFor={`${id}-b`}\n style={{ '--value': valueB } as CSSProperties}\n className=\"input-range-output\"\n >\n {options[valueB].label}\n </output>\n )}\n </div>\n );\n};\n"],"names":["resizeObservers","hasActiveObservations","ro","hasSkippedObservations","msg","deliverResizeLoopError","event","ResizeObserverBoxOptions","freeze","obj","ResizeObserverSize","inlineSize","blockSize","DOMRectReadOnly","x","y","width","height","_a","top","right","bottom","left","rectangle","isSVG","target","isHidden","_b","offsetWidth","offsetHeight","isElement","scope","isReplacedElement","global","cache","scrollRegexp","verticalRegexp","IE","parseDimension","pixel","size","switchSizes","zeroBoxes","calculateBoxSizes","forceRecalculation","cs","svg","removePadding","canScrollVertically","canScrollHorizontally","paddingTop","paddingRight","paddingBottom","paddingLeft","borderTop","borderRight","borderBottom","borderLeft","horizontalPadding","verticalPadding","horizontalBorderArea","verticalBorderArea","horizontalScrollbarThickness","verticalScrollbarThickness","widthReduction","heightReduction","contentWidth","contentHeight","borderBoxWidth","borderBoxHeight","boxes","calculateBoxSize","observedBox","borderBoxSize","contentBoxSize","devicePixelContentBoxSize","ResizeObserverEntry","calculateDepthForNode","node","depth","parent","broadcastActiveObservations","shallowestDepth","callbacks","entries","ot","entry","targetDepth","_i","callbacks_1","callback","gatherActiveObservationsAtDepth","process","trigger","notify","cb","queueMicroTask","toggle_1","el_1","config","queueResizeObserver","watching","isWatching","CATCH_PERIOD","observerConfig","events","time","timeout","scheduled","Scheduler","_this","until","elementsHaveResized","name","scheduler","updateCount","n","skipNotifyOnElement","ResizeObservation","ResizeObserverDetail","resizeObserver","observerMap","getObservationIndex","observationTargets","i","ResizeObserverController","detail","options","firstObservation","index","lastObservation","ResizeObserver","debounce","func","wait","immediate","args","context","timestamp","result","later","last","debounced","callNow","debounce_1","useMeasure","_temp","scroll","polyfill","offsetSize","bounds","set","useState","state","useRef","scrollDebounce","resizeDebounce","mounted","useEffect","forceRefresh","resizeChange","scrollChange","useMemo","areBoundsEqual","createDebounce","removeListeners","element","addListeners","scrollContainer","ref","findScrollContainers","useOnWindowScroll","useOnWindowResize","onWindowResize","onScroll","enabled","overflow","overflowX","overflowY","prop","keys","a","b","key","Range","props","internalId","useId","ariaLabel","className","dataTestId","id","singleCursorMode","min","step","readOnly","disabled","onChange","rest","valueA","setValueA","valueB","setValueB","containerRef","handleChange","e","inputValue","jsxs","classnames","jsx"],"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]}
1
+ {"version":3,"file":"Range.js","sources":["../../../node_modules/debounce/index.js","../../../node_modules/react-use-measure/dist/web.js","../../../lib/molecules/Forms/Range.tsx"],"sourcesContent":["/**\n * Returns a function, that, as long as it continues to be invoked, will not\n * be triggered. The function will be called after it stops being called for\n * N milliseconds. If `immediate` is passed, trigger the function on the\n * leading edge, instead of the trailing. The function also has a property 'clear' \n * that is a function which will clear the timer to prevent previously scheduled executions. \n *\n * @source underscore.js\n * @see http://unscriptable.com/2009/03/20/debouncing-javascript-methods/\n * @param {Function} function to wrap\n * @param {Number} timeout in ms (`100`)\n * @param {Boolean} whether to execute at the beginning (`false`)\n * @api public\n */\nfunction debounce(func, wait, immediate){\n var timeout, args, context, timestamp, result;\n if (null == wait) wait = 100;\n\n function later() {\n var last = Date.now() - timestamp;\n\n if (last < wait && last >= 0) {\n timeout = setTimeout(later, wait - last);\n } else {\n timeout = null;\n if (!immediate) {\n result = func.apply(context, args);\n context = args = null;\n }\n }\n };\n\n var debounced = function(){\n context = this;\n args = arguments;\n timestamp = Date.now();\n var callNow = immediate && !timeout;\n if (!timeout) timeout = setTimeout(later, wait);\n if (callNow) {\n result = func.apply(context, args);\n context = args = null;\n }\n\n return result;\n };\n\n debounced.clear = function() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n };\n \n debounced.flush = function() {\n if (timeout) {\n result = func.apply(context, args);\n context = args = null;\n \n clearTimeout(timeout);\n timeout = null;\n }\n };\n\n return debounced;\n};\n\n// Adds compatibility for ES modules\ndebounce.debounce = debounce;\n\nmodule.exports = debounce;\n","import { useState, useRef, useEffect, useMemo } from 'react';\nimport createDebounce from 'debounce';\n\nfunction useMeasure(_temp) {\n let {\n debounce,\n scroll,\n polyfill,\n offsetSize\n } = _temp === void 0 ? {\n debounce: 0,\n scroll: false,\n offsetSize: false\n } : _temp;\n const ResizeObserver = polyfill || (typeof window === 'undefined' ? class ResizeObserver {} : window.ResizeObserver);\n\n if (!ResizeObserver) {\n throw new Error('This browser does not support ResizeObserver out of the box. See: https://github.com/react-spring/react-use-measure/#resize-observer-polyfills');\n }\n\n const [bounds, set] = useState({\n left: 0,\n top: 0,\n width: 0,\n height: 0,\n bottom: 0,\n right: 0,\n x: 0,\n y: 0\n }); // keep all state in a ref\n\n const state = useRef({\n element: null,\n scrollContainers: null,\n resizeObserver: null,\n lastBounds: bounds\n }); // set actual debounce values early, so effects know if they should react accordingly\n\n const scrollDebounce = debounce ? typeof debounce === 'number' ? debounce : debounce.scroll : null;\n const resizeDebounce = debounce ? typeof debounce === 'number' ? debounce : debounce.resize : null; // make sure to update state only as long as the component is truly mounted\n\n const mounted = useRef(false);\n useEffect(() => {\n mounted.current = true;\n return () => void (mounted.current = false);\n }); // memoize handlers, so event-listeners know when they should update\n\n const [forceRefresh, resizeChange, scrollChange] = useMemo(() => {\n const callback = () => {\n if (!state.current.element) return;\n const {\n left,\n top,\n width,\n height,\n bottom,\n right,\n x,\n y\n } = state.current.element.getBoundingClientRect();\n const size = {\n left,\n top,\n width,\n height,\n bottom,\n right,\n x,\n y\n };\n\n if (state.current.element instanceof HTMLElement && offsetSize) {\n size.height = state.current.element.offsetHeight;\n size.width = state.current.element.offsetWidth;\n }\n\n Object.freeze(size);\n if (mounted.current && !areBoundsEqual(state.current.lastBounds, size)) set(state.current.lastBounds = size);\n };\n\n return [callback, resizeDebounce ? createDebounce(callback, resizeDebounce) : callback, scrollDebounce ? createDebounce(callback, scrollDebounce) : callback];\n }, [set, offsetSize, scrollDebounce, resizeDebounce]); // cleanup current scroll-listeners / observers\n\n function removeListeners() {\n if (state.current.scrollContainers) {\n state.current.scrollContainers.forEach(element => element.removeEventListener('scroll', scrollChange, true));\n state.current.scrollContainers = null;\n }\n\n if (state.current.resizeObserver) {\n state.current.resizeObserver.disconnect();\n state.current.resizeObserver = null;\n }\n } // add scroll-listeners / observers\n\n\n function addListeners() {\n if (!state.current.element) return;\n state.current.resizeObserver = new ResizeObserver(scrollChange);\n state.current.resizeObserver.observe(state.current.element);\n\n if (scroll && state.current.scrollContainers) {\n state.current.scrollContainers.forEach(scrollContainer => scrollContainer.addEventListener('scroll', scrollChange, {\n capture: true,\n passive: true\n }));\n }\n } // the ref we expose to the user\n\n\n const ref = node => {\n if (!node || node === state.current.element) return;\n removeListeners();\n state.current.element = node;\n state.current.scrollContainers = findScrollContainers(node);\n addListeners();\n }; // add general event listeners\n\n\n useOnWindowScroll(scrollChange, Boolean(scroll));\n useOnWindowResize(resizeChange); // respond to changes that are relevant for the listeners\n\n useEffect(() => {\n removeListeners();\n addListeners();\n }, [scroll, scrollChange, resizeChange]); // remove all listeners when the components unmounts\n\n useEffect(() => removeListeners, []);\n return [ref, bounds, forceRefresh];\n} // Adds native resize listener to window\n\n\nfunction useOnWindowResize(onWindowResize) {\n useEffect(() => {\n const cb = onWindowResize;\n window.addEventListener('resize', cb);\n return () => void window.removeEventListener('resize', cb);\n }, [onWindowResize]);\n}\n\nfunction useOnWindowScroll(onScroll, enabled) {\n useEffect(() => {\n if (enabled) {\n const cb = onScroll;\n window.addEventListener('scroll', cb, {\n capture: true,\n passive: true\n });\n return () => void window.removeEventListener('scroll', cb, true);\n }\n }, [onScroll, enabled]);\n} // Returns a list of scroll offsets\n\n\nfunction findScrollContainers(element) {\n const result = [];\n if (!element || element === document.body) return result;\n const {\n overflow,\n overflowX,\n overflowY\n } = window.getComputedStyle(element);\n if ([overflow, overflowX, overflowY].some(prop => prop === 'auto' || prop === 'scroll')) result.push(element);\n return [...result, ...findScrollContainers(element.parentElement)];\n} // Checks if element boundaries are equal\n\n\nconst keys = ['x', 'y', 'top', 'bottom', 'left', 'right', 'width', 'height'];\n\nconst areBoundsEqual = (a, b) => keys.every(key => a[key] === b[key]);\n\nexport { useMeasure as default };\n","import { ResizeObserver } from '@juggle/resize-observer';\nimport classnames from 'classnames';\nimport {\n type ChangeEvent,\n type CSSProperties,\n type InputHTMLAttributes,\n useId,\n useState,\n} from 'react';\n\nimport useMeasure from 'react-use-measure';\nimport './range.css';\n\ninterface RangeProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'onChange'> {\n /**\n * Aria label\n * @default 'Range'\n * */\n ariaLabel?: string;\n /**\n * Additional class names\n * */\n className?: string;\n /**\n * Data test id\n * */\n dataTestId?: string;\n /**\n * Single cursor mode\n * @default false\n * */\n singleCursorMode?: boolean;\n /**\n * Min value\n * @default 0\n * */\n min?: number;\n /**\n * On change\n * */\n onChange?: (name: string, value: number[]) => void;\n /**\n * Options\n * @default []\n * */\n options: { value: number; label: string }[];\n}\n\nexport const Range = (props: RangeProps) => {\n const internalId = useId();\n\n const {\n ariaLabel,\n className,\n dataTestId = 'range',\n id = internalId,\n name = id,\n singleCursorMode = false,\n min = 0,\n options = [],\n step = 1,\n readOnly,\n disabled,\n onChange,\n ...rest\n } = props;\n\n const [valueA, setValueA] = useState(options.length - 1);\n const [valueB, setValueB] = useState(min);\n const [containerRef, { width }] = useMeasure({ polyfill: ResizeObserver });\n\n const handleChange = (e: ChangeEvent<HTMLInputElement>) => {\n if (!readOnly) {\n e.persist();\n const inputValue = Number(e.target.value);\n const inputId = e.target.id[e.target.id.length - 1];\n\n if (inputId === 'a') {\n setValueA(inputValue);\n } else {\n setValueB(inputValue);\n }\n\n onChange && onChange(name, [valueA, valueB]);\n }\n };\n\n return (\n <div\n style={\n {\n '--min': min,\n '--max': options.length - 1,\n '--inputWidth': `${width}px`,\n '--inputHeight': '4px',\n '--thumbWidth': '32px',\n '--usefulWidth': 'calc(var(--inputWidth) - var(--thumbWidth))',\n '--valueA': valueA,\n '--valueB': valueB,\n } as CSSProperties\n }\n className={classnames('relative w-full', className)}\n data-testid={dataTestId}\n data-name=\"Range\"\n ref={containerRef}\n >\n <div className=\"input-range-container\">\n <input\n {...rest}\n aria-label={ariaLabel}\n className=\"input-range\"\n id={`${id}-a`}\n max={options.length - 1}\n min={min}\n name={name}\n onChange={handleChange}\n disabled={disabled}\n step={step}\n type=\"range\"\n value={valueA}\n />\n {!singleCursorMode && (\n <input\n {...rest}\n aria-label={ariaLabel}\n className=\"input-range\"\n disabled={disabled}\n id={`${id}-b`}\n max={options.length - 1}\n min={min}\n name={name}\n onChange={handleChange}\n step={step}\n type=\"range\"\n value={valueB}\n />\n )}\n </div>\n <output\n htmlFor={`${id}-a`}\n style={{ '--value': valueA } as CSSProperties}\n className=\"input-range-output\"\n >\n {options[valueA].label}\n </output>\n {!singleCursorMode && (\n <output\n htmlFor={`${id}-b`}\n style={{ '--value': valueB } as CSSProperties}\n className=\"input-range-output\"\n >\n {options[valueB].label}\n </output>\n )}\n </div>\n );\n};\n"],"names":["debounce","func","wait","immediate","timeout","args","context","timestamp","result","later","last","debounced","callNow","debounce_1","useMeasure","_temp","scroll","polyfill","offsetSize","ResizeObserver","bounds","set","useState","state","useRef","scrollDebounce","resizeDebounce","mounted","useEffect","forceRefresh","resizeChange","scrollChange","useMemo","callback","left","top","width","height","bottom","right","x","y","size","areBoundsEqual","createDebounce","removeListeners","element","addListeners","scrollContainer","ref","node","findScrollContainers","useOnWindowScroll","useOnWindowResize","onWindowResize","cb","onScroll","enabled","overflow","overflowX","overflowY","prop","keys","a","b","key","Range","props","internalId","useId","ariaLabel","className","dataTestId","id","name","singleCursorMode","min","options","step","readOnly","disabled","onChange","rest","valueA","setValueA","valueB","setValueB","containerRef","handleChange","e","inputValue","jsxs","classnames","jsx"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -1,6 +1,6 @@
1
- import { type FormControlProps } from './FormControl.js';
2
- import { type IconicTypes } from '@clubmed/trident-icons';
3
- import { type SelectHTMLAttributes } from 'react';
1
+ import { FormControlProps } from './FormControl.js';
2
+ import { IconicTypes } from '@clubmed/trident-icons';
3
+ import { SelectHTMLAttributes } from 'react';
4
4
  export interface SelectProps<Value> extends FormControlProps<Value, SelectHTMLAttributes<HTMLSelectElement>> {
5
5
  description?: string;
6
6
  iconType?: IconicTypes;
@@ -1,4 +1,4 @@
1
- import type { FormControlProps } from './FormControl.js';
1
+ import { FormControlProps } from './FormControl.js';
2
2
  export interface SwitchProps extends FormControlProps<boolean> {
3
3
  width?: number;
4
4
  }
@@ -1,6 +1,6 @@
1
- import { type UseValueProps } from '../../hooks/useValue';
2
- import { type FormControlProps } from './FormControl.js';
3
- import { type IconicNames, type IconicTypes } from '@clubmed/trident-icons';
1
+ import { UseValueProps } from '../../hooks/useValue';
2
+ import { FormControlProps } from './FormControl.js';
3
+ import { IconicNames, IconicTypes } from '@clubmed/trident-icons';
4
4
  export interface TextFieldProps<Value> extends FormControlProps<Value> {
5
5
  description?: string;
6
6
  icon?: IconicNames;
@@ -1,4 +1,4 @@
1
- import type { FunctionComponent } from 'react';
1
+ import { FunctionComponent } from 'react';
2
2
  interface HamburgerIconProps {
3
3
  /**
4
4
  * Width of the HamburgerIcon
@@ -1,5 +1,5 @@
1
- import type { AnchorHTMLAttributes, FunctionComponent, PropsWithChildren } from 'react';
2
- import { type IconicNames, type IconicTypes } from '@clubmed/trident-icons';
1
+ import { AnchorHTMLAttributes, FunctionComponent, PropsWithChildren } from 'react';
2
+ import { IconicNames, IconicTypes } from '@clubmed/trident-icons';
3
3
  interface LinkProps<T extends HTMLAnchorElement = HTMLAnchorElement> extends AnchorHTMLAttributes<T> {
4
4
  /**
5
5
  * Label text
@@ -1,4 +1,4 @@
1
- import type { FunctionComponent } from 'react';
1
+ import { FunctionComponent } from 'react';
2
2
  interface LoaderProps {
3
3
  isVisible?: boolean;
4
4
  label?: string;
@@ -1,6 +1,6 @@
1
- import { type FunctionComponent, type HTMLAttributes } from 'react';
1
+ import { FunctionComponent, HTMLAttributes } from 'react';
2
2
  import { generatePagination } from './Pagination.helper';
3
- import type { ScrollerLabels } from '../types/ScrollerLabels';
3
+ import { ScrollerLabels } from '../types/ScrollerLabels';
4
4
  export interface PaginationProps extends Omit<HTMLAttributes<HTMLElement>, 'onChange'> {
5
5
  /**
6
6
  * The current page number (must be >= 1)
@@ -1,4 +1,4 @@
1
- import type { FunctionComponent, PropsWithChildren, ReactNode } from 'react';
1
+ import { FunctionComponent, PropsWithChildren, ReactNode } from 'react';
2
2
  export type ClosePopinCallback = () => void;
3
3
  interface PopinFooterProps {
4
4
  closeLabel: string;
@@ -1,4 +1,4 @@
1
- import type { FunctionComponent } from 'react';
1
+ import { FunctionComponent } from 'react';
2
2
  interface SpinnerProps {
3
3
  /**
4
4
  * className
@@ -1,6 +1,5 @@
1
- import { type FunctionComponent, type PropsWithChildren } from 'react';
2
- import { type Theme } from './theme';
3
- import './Tab.css';
1
+ import { FunctionComponent, PropsWithChildren } from 'react';
2
+ import { Theme } from './theme';
4
3
  interface Props {
5
4
  className?: string;
6
5
  /**
@@ -1,31 +1,30 @@
1
1
  "use client";
2
- import { jsx as d, jsxs as j } from "react/jsx-runtime";
3
- import { c as u } from "../../chunks/index.js";
4
- import { useRef as m, useEffect as B, useCallback as r } from "react";
5
- import { animated as I } from "@react-spring/web";
6
- import { useActiveTab as P, useTabsUid as U, useRegisterTabControl as z } from "./hooks/tabControl.js";
7
- import { getTheme as G } from "./theme.js";
8
- import { useSafeBoop as M } from "../../hooks/useSafeBoop.js";
9
- import { useKeyboardControls as O } from "../../hooks/useKeyboardControls.js";
2
+ import { jsx as p, jsxs as D } from "react/jsx-runtime";
3
+ import { c as d } from "../../chunks/index.js";
4
+ import { useRef as u, useEffect as j, useCallback as r } from "react";
5
+ import { animated as B } from "@react-spring/web";
6
+ import { useActiveTab as I, useTabsUid as P, useRegisterTabControl as U } from "./hooks/tabControl.js";
7
+ import { getTheme as z } from "./theme.js";
8
+ import { useSafeBoop as G } from "../../hooks/useSafeBoop.js";
9
+ import { useKeyboardControls as M } from "../../hooks/useKeyboardControls.js";
10
10
  const f = "-z-1 rounded-pill absolute inset-0 duration-300", X = ({
11
11
  className: y,
12
- label: a,
12
+ label: c,
13
13
  children: g,
14
- value: o,
15
- onSelect: i,
14
+ value: e,
15
+ onSelect: m,
16
16
  as: T = "h2",
17
17
  theme: h = "yellow"
18
18
  }) => {
19
- const p = m(null), e = P(), b = U(), t = z({ value: o, ref: p }), l = m(e), n = m(e === o);
20
- n.current = e === o;
21
- const x = { "--tab-index": o }, { textColor: C, textColorActive: w, bgColor: A } = G(h), [N, c] = M({ scale: 1.02 });
22
- B(() => {
23
- var s;
24
- l.current !== e && o === e && ((s = p.current) == null || s.focus(), i == null || i({ value: o, label: a })), l.current !== e && (l.current = e);
25
- }, [a, o, i, e]);
19
+ const i = u(null), o = I(), b = P(), t = U({ value: e, ref: i }), a = u(o), n = u(o === e);
20
+ n.current = o === e;
21
+ const x = { "--tab-index": e }, { textColor: C, textColorActive: w, bgColor: A } = z(h), [N, s] = G({ scale: 1.02 });
22
+ j(() => {
23
+ a.current !== o && e === o && (i.current?.focus(), m?.({ value: e, label: c })), a.current !== o && (a.current = o);
24
+ }, [c, e, m, o]);
26
25
  const _ = r(() => {
27
- n.current && c();
28
- }, [c]), k = r(() => {
26
+ n.current && s();
27
+ }, [s]), k = r(() => {
29
28
  t({ type: "start" });
30
29
  }, [t]), L = r(() => {
31
30
  t({ type: "end" });
@@ -34,12 +33,12 @@ const f = "-z-1 rounded-pill absolute inset-0 duration-300", X = ({
34
33
  }, [t]), v = r(() => {
35
34
  t({ type: "next" });
36
35
  }, [t]), E = r(() => {
37
- const s = document.documentElement.dir === "rtl";
38
- t({ type: s ? "next" : "previous" });
36
+ const l = document.documentElement.dir === "rtl";
37
+ t({ type: l ? "next" : "previous" });
39
38
  }, [t]), K = r(() => {
40
- const s = document.documentElement.dir === "rtl";
41
- t({ type: s ? "previous" : "next" });
42
- }, [t]), $ = O({
39
+ const l = document.documentElement.dir === "rtl";
40
+ t({ type: l ? "previous" : "next" });
41
+ }, [t]), S = M({
43
42
  activate: _,
44
43
  start: k,
45
44
  end: L,
@@ -47,21 +46,21 @@ const f = "-z-1 rounded-pill absolute inset-0 duration-300", X = ({
47
46
  down: v,
48
47
  left: E,
49
48
  right: K
50
- }), D = r(() => {
51
- t({ type: "update", payload: o }), n.current && c();
52
- }, [c, t, o]);
53
- return /* @__PURE__ */ d(
54
- I.div,
49
+ }), $ = r(() => {
50
+ t({ type: "update", payload: e }), n.current && s();
51
+ }, [s, t, e]);
52
+ return /* @__PURE__ */ p(
53
+ B.div,
55
54
  {
56
- id: `Tab_${o}_${b}`,
55
+ id: `Tab_${e}_${b}`,
57
56
  "data-name": "Tab",
58
- ref: p,
57
+ ref: i,
59
58
  role: "tab",
60
59
  "aria-selected": n.current,
61
- "aria-controls": `TabPanel_${o}_${b}`,
60
+ "aria-controls": `TabPanel_${e}_${b}`,
62
61
  tabIndex: n.current ? 0 : -1,
63
62
  style: N,
64
- className: u(
63
+ className: d(
65
64
  "text-b3 group inline-block cursor-pointer overflow-hidden whitespace-nowrap bg-transparent pe-4 align-middle font-semibold outline-none",
66
65
  y,
67
66
  {
@@ -69,22 +68,22 @@ const f = "-z-1 rounded-pill absolute inset-0 duration-300", X = ({
69
68
  [w]: n.current
70
69
  }
71
70
  ),
72
- onKeyDown: $,
73
- onClick: D,
74
- children: /* @__PURE__ */ j(T, { className: "relative inline-block px-20 py-12", children: [
75
- /* @__PURE__ */ d(
71
+ onKeyDown: S,
72
+ onClick: $,
73
+ children: /* @__PURE__ */ D(T, { className: "relative inline-block px-20 py-12", children: [
74
+ /* @__PURE__ */ p(
76
75
  "span",
77
76
  {
78
- className: u(
77
+ className: d(
79
78
  "group-hover:bg-pearl group-focus-within:bg-pearl transition-colors",
80
79
  f
81
80
  )
82
81
  }
83
82
  ),
84
- /* @__PURE__ */ d(
83
+ /* @__PURE__ */ p(
85
84
  "span",
86
85
  {
87
- className: u(
86
+ className: d(
88
87
  "tab-focus-pill ease transition-transform/colors",
89
88
  f,
90
89
  A
@@ -92,7 +91,7 @@ const f = "-z-1 rounded-pill absolute inset-0 duration-300", X = ({
92
91
  style: x
93
92
  }
94
93
  ),
95
- g ?? a
94
+ g ?? c
96
95
  ] })
97
96
  }
98
97
  );
@@ -1 +1 @@
1
- {"version":3,"file":"Tab.js","sources":["../../../lib/molecules/Tabs/Tab.tsx"],"sourcesContent":["'use client';\n\nimport classnames from 'classnames';\nimport {\n type CSSProperties,\n type FunctionComponent,\n useCallback,\n useEffect,\n useRef,\n type PropsWithChildren,\n} from 'react';\n\nimport { animated } from 'react-spring';\n\nimport { useActiveTab, useRegisterTabControl, useTabsUid } from './hooks/tabControl';\nimport { type Theme, getTheme } from './theme';\n\nimport { useSafeBoop } from '../../hooks/useSafeBoop';\nimport { useKeyboardControls } from '../../hooks/useKeyboardControls';\n\nimport './Tab.css';\n\nconst BACKGROUND_PILL_CLASSNAME = '-z-1 rounded-pill absolute inset-0 duration-300';\n\ninterface Props {\n className?: string;\n /**\n * Tab Heading text\n */\n label?: string;\n /**\n * Tab heading index<br/>\n * _Can be **0** or **1** indexed_\n */\n value: number;\n /**\n * on tab select handler\n */\n onSelect?: (context: { value: Props['value']; label: Props['label'] }) => void;\n /**\n * Tab Heading theme\n */\n theme?: Theme;\n /**\n * Heading type\n * _default: **h2**_\n */\n as?: 'div' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5';\n}\n\nexport const Tab: FunctionComponent<PropsWithChildren<Props>> = ({\n className,\n label,\n children,\n value,\n onSelect,\n as: TagName = 'h2',\n theme = 'yellow',\n}) => {\n const ref = useRef<HTMLDivElement>(null);\n\n const activeTab = useActiveTab();\n const uid = useTabsUid();\n const dispatch = useRegisterTabControl({ value, ref });\n const previousActiveTab = useRef(activeTab);\n\n const isActive = useRef(activeTab === value);\n isActive.current = activeTab === value;\n\n const pillStyle = { '--tab-index': value } as CSSProperties;\n const { textColor, textColorActive, bgColor } = getTheme(theme);\n const [boopStyle, boopTrigger] = useSafeBoop({ scale: 1.02 });\n\n useEffect(() => {\n if (previousActiveTab.current !== activeTab && value === activeTab) {\n ref.current?.focus();\n onSelect?.({ value, label });\n }\n if (previousActiveTab.current !== activeTab) {\n previousActiveTab.current = activeTab;\n }\n }, [label, value, onSelect, activeTab]);\n\n const activate = useCallback(() => {\n if (isActive.current) {\n boopTrigger();\n }\n }, [boopTrigger]);\n\n const start = useCallback(() => {\n dispatch({ type: 'start' });\n }, [dispatch]);\n\n const end = useCallback(() => {\n dispatch({ type: 'end' });\n }, [dispatch]);\n\n const up = useCallback(() => {\n dispatch({ type: 'previous' });\n }, [dispatch]);\n\n const down = useCallback(() => {\n dispatch({ type: 'next' });\n }, [dispatch]);\n\n const left = useCallback(() => {\n const isRTL = document.documentElement.dir === 'rtl';\n\n dispatch({ type: isRTL ? 'next' : 'previous' });\n }, [dispatch]);\n\n const right = useCallback(() => {\n const isRTL = document.documentElement.dir === 'rtl';\n\n dispatch({ type: isRTL ? 'previous' : 'next' });\n }, [dispatch]);\n\n const handleKeyDown = useKeyboardControls({\n activate,\n start,\n end,\n up,\n down,\n left,\n right,\n });\n\n const handleClick = useCallback(() => {\n dispatch({ type: 'update', payload: value });\n\n if (isActive.current) {\n boopTrigger();\n }\n }, [boopTrigger, dispatch, value]);\n\n return (\n <animated.div\n id={`Tab_${value}_${uid}`}\n data-name=\"Tab\"\n ref={ref}\n role=\"tab\"\n aria-selected={isActive.current}\n aria-controls={`TabPanel_${value}_${uid}`}\n tabIndex={isActive.current ? 0 : -1}\n style={boopStyle}\n className={classnames(\n 'text-b3 group inline-block cursor-pointer overflow-hidden whitespace-nowrap bg-transparent pe-4 align-middle font-semibold outline-none',\n className,\n {\n [textColor]: !isActive.current,\n [textColorActive]: isActive.current,\n },\n )}\n onKeyDown={handleKeyDown}\n onClick={handleClick}\n >\n <TagName className=\"relative inline-block px-20 py-12\">\n <span\n className={classnames(\n 'group-hover:bg-pearl group-focus-within:bg-pearl transition-colors',\n BACKGROUND_PILL_CLASSNAME,\n )}\n />\n <span\n className={classnames(\n 'tab-focus-pill ease transition-transform/colors',\n BACKGROUND_PILL_CLASSNAME,\n bgColor,\n )}\n style={pillStyle}\n />\n {children ?? label}\n </TagName>\n </animated.div>\n );\n};\n"],"names":["BACKGROUND_PILL_CLASSNAME","Tab","className","label","children","value","onSelect","TagName","theme","ref","useRef","activeTab","useActiveTab","uid","useTabsUid","dispatch","useRegisterTabControl","previousActiveTab","isActive","pillStyle","textColor","textColorActive","bgColor","getTheme","boopStyle","boopTrigger","useSafeBoop","useEffect","_a","activate","useCallback","start","end","up","down","left","isRTL","right","handleKeyDown","useKeyboardControls","handleClick","jsx","animated","classnames","jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"Tab.js","sources":["../../../lib/molecules/Tabs/Tab.tsx"],"sourcesContent":["'use client';\n\nimport classnames from 'classnames';\nimport {\n type CSSProperties,\n type FunctionComponent,\n useCallback,\n useEffect,\n useRef,\n type PropsWithChildren,\n} from 'react';\n\nimport { animated } from 'react-spring';\n\nimport { useActiveTab, useRegisterTabControl, useTabsUid } from './hooks/tabControl';\nimport { type Theme, getTheme } from './theme';\n\nimport { useSafeBoop } from '../../hooks/useSafeBoop';\nimport { useKeyboardControls } from '../../hooks/useKeyboardControls';\n\nimport './Tab.css';\n\nconst BACKGROUND_PILL_CLASSNAME = '-z-1 rounded-pill absolute inset-0 duration-300';\n\ninterface Props {\n className?: string;\n /**\n * Tab Heading text\n */\n label?: string;\n /**\n * Tab heading index<br/>\n * _Can be **0** or **1** indexed_\n */\n value: number;\n /**\n * on tab select handler\n */\n onSelect?: (context: { value: Props['value']; label: Props['label'] }) => void;\n /**\n * Tab Heading theme\n */\n theme?: Theme;\n /**\n * Heading type\n * _default: **h2**_\n */\n as?: 'div' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5';\n}\n\nexport const Tab: FunctionComponent<PropsWithChildren<Props>> = ({\n className,\n label,\n children,\n value,\n onSelect,\n as: TagName = 'h2',\n theme = 'yellow',\n}) => {\n const ref = useRef<HTMLDivElement>(null);\n\n const activeTab = useActiveTab();\n const uid = useTabsUid();\n const dispatch = useRegisterTabControl({ value, ref });\n const previousActiveTab = useRef(activeTab);\n\n const isActive = useRef(activeTab === value);\n isActive.current = activeTab === value;\n\n const pillStyle = { '--tab-index': value } as CSSProperties;\n const { textColor, textColorActive, bgColor } = getTheme(theme);\n const [boopStyle, boopTrigger] = useSafeBoop({ scale: 1.02 });\n\n useEffect(() => {\n if (previousActiveTab.current !== activeTab && value === activeTab) {\n ref.current?.focus();\n onSelect?.({ value, label });\n }\n if (previousActiveTab.current !== activeTab) {\n previousActiveTab.current = activeTab;\n }\n }, [label, value, onSelect, activeTab]);\n\n const activate = useCallback(() => {\n if (isActive.current) {\n boopTrigger();\n }\n }, [boopTrigger]);\n\n const start = useCallback(() => {\n dispatch({ type: 'start' });\n }, [dispatch]);\n\n const end = useCallback(() => {\n dispatch({ type: 'end' });\n }, [dispatch]);\n\n const up = useCallback(() => {\n dispatch({ type: 'previous' });\n }, [dispatch]);\n\n const down = useCallback(() => {\n dispatch({ type: 'next' });\n }, [dispatch]);\n\n const left = useCallback(() => {\n const isRTL = document.documentElement.dir === 'rtl';\n\n dispatch({ type: isRTL ? 'next' : 'previous' });\n }, [dispatch]);\n\n const right = useCallback(() => {\n const isRTL = document.documentElement.dir === 'rtl';\n\n dispatch({ type: isRTL ? 'previous' : 'next' });\n }, [dispatch]);\n\n const handleKeyDown = useKeyboardControls({\n activate,\n start,\n end,\n up,\n down,\n left,\n right,\n });\n\n const handleClick = useCallback(() => {\n dispatch({ type: 'update', payload: value });\n\n if (isActive.current) {\n boopTrigger();\n }\n }, [boopTrigger, dispatch, value]);\n\n return (\n <animated.div\n id={`Tab_${value}_${uid}`}\n data-name=\"Tab\"\n ref={ref}\n role=\"tab\"\n aria-selected={isActive.current}\n aria-controls={`TabPanel_${value}_${uid}`}\n tabIndex={isActive.current ? 0 : -1}\n style={boopStyle}\n className={classnames(\n 'text-b3 group inline-block cursor-pointer overflow-hidden whitespace-nowrap bg-transparent pe-4 align-middle font-semibold outline-none',\n className,\n {\n [textColor]: !isActive.current,\n [textColorActive]: isActive.current,\n },\n )}\n onKeyDown={handleKeyDown}\n onClick={handleClick}\n >\n <TagName className=\"relative inline-block px-20 py-12\">\n <span\n className={classnames(\n 'group-hover:bg-pearl group-focus-within:bg-pearl transition-colors',\n BACKGROUND_PILL_CLASSNAME,\n )}\n />\n <span\n className={classnames(\n 'tab-focus-pill ease transition-transform/colors',\n BACKGROUND_PILL_CLASSNAME,\n bgColor,\n )}\n style={pillStyle}\n />\n {children ?? label}\n </TagName>\n </animated.div>\n );\n};\n"],"names":["BACKGROUND_PILL_CLASSNAME","Tab","className","label","children","value","onSelect","TagName","theme","ref","useRef","activeTab","useActiveTab","uid","useTabsUid","dispatch","useRegisterTabControl","previousActiveTab","isActive","pillStyle","textColor","textColorActive","bgColor","getTheme","boopStyle","boopTrigger","useSafeBoop","useEffect","activate","useCallback","start","end","up","down","left","isRTL","right","handleKeyDown","useKeyboardControls","handleClick","jsx","animated","classnames","jsxs"],"mappings":";;;;;;;;;AAsBA,MAAMA,IAA4B,mDA4BrBC,IAAmD,CAAC;AAAA,EAC/D,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,IAAIC,IAAU;AAAA,EACd,OAAAC,IAAQ;AACV,MAAM;AACJ,QAAMC,IAAMC,EAAuB,IAAI,GAEjCC,IAAYC,EAAA,GACZC,IAAMC,EAAA,GACNC,IAAWC,EAAsB,EAAE,OAAAX,GAAO,KAAAI,GAAK,GAC/CQ,IAAoBP,EAAOC,CAAS,GAEpCO,IAAWR,EAAOC,MAAcN,CAAK;AAC3C,EAAAa,EAAS,UAAUP,MAAcN;AAEjC,QAAMc,IAAY,EAAE,eAAed,EAAA,GAC7B,EAAE,WAAAe,GAAW,iBAAAC,GAAiB,SAAAC,EAAA,IAAYC,EAASf,CAAK,GACxD,CAACgB,GAAWC,CAAW,IAAIC,EAAY,EAAE,OAAO,MAAM;AAE5D,EAAAC,EAAU,MAAM;AACd,IAAIV,EAAkB,YAAYN,KAAaN,MAAUM,MACvDF,EAAI,SAAS,MAAA,GACbH,IAAW,EAAE,OAAAD,GAAO,OAAAF,GAAO,IAEzBc,EAAkB,YAAYN,MAChCM,EAAkB,UAAUN;AAAA,EAEhC,GAAG,CAACR,GAAOE,GAAOC,GAAUK,CAAS,CAAC;AAEtC,QAAMiB,IAAWC,EAAY,MAAM;AACjC,IAAIX,EAAS,WACXO,EAAA;AAAA,EAEJ,GAAG,CAACA,CAAW,CAAC,GAEVK,IAAQD,EAAY,MAAM;AAC9B,IAAAd,EAAS,EAAE,MAAM,SAAS;AAAA,EAC5B,GAAG,CAACA,CAAQ,CAAC,GAEPgB,IAAMF,EAAY,MAAM;AAC5B,IAAAd,EAAS,EAAE,MAAM,OAAO;AAAA,EAC1B,GAAG,CAACA,CAAQ,CAAC,GAEPiB,IAAKH,EAAY,MAAM;AAC3B,IAAAd,EAAS,EAAE,MAAM,YAAY;AAAA,EAC/B,GAAG,CAACA,CAAQ,CAAC,GAEPkB,IAAOJ,EAAY,MAAM;AAC7B,IAAAd,EAAS,EAAE,MAAM,QAAQ;AAAA,EAC3B,GAAG,CAACA,CAAQ,CAAC,GAEPmB,IAAOL,EAAY,MAAM;AAC7B,UAAMM,IAAQ,SAAS,gBAAgB,QAAQ;AAE/C,IAAApB,EAAS,EAAE,MAAMoB,IAAQ,SAAS,YAAY;AAAA,EAChD,GAAG,CAACpB,CAAQ,CAAC,GAEPqB,IAAQP,EAAY,MAAM;AAC9B,UAAMM,IAAQ,SAAS,gBAAgB,QAAQ;AAE/C,IAAApB,EAAS,EAAE,MAAMoB,IAAQ,aAAa,QAAQ;AAAA,EAChD,GAAG,CAACpB,CAAQ,CAAC,GAEPsB,IAAgBC,EAAoB;AAAA,IACxC,UAAAV;AAAA,IACA,OAAAE;AAAA,IACA,KAAAC;AAAA,IACA,IAAAC;AAAA,IACA,MAAAC;AAAA,IACA,MAAAC;AAAA,IACA,OAAAE;AAAA,EAAA,CACD,GAEKG,IAAcV,EAAY,MAAM;AACpC,IAAAd,EAAS,EAAE,MAAM,UAAU,SAASV,GAAO,GAEvCa,EAAS,WACXO,EAAA;AAAA,EAEJ,GAAG,CAACA,GAAaV,GAAUV,CAAK,CAAC;AAEjC,SACE,gBAAAmC;AAAA,IAACC,EAAS;AAAA,IAAT;AAAA,MACC,IAAI,OAAOpC,CAAK,IAAIQ,CAAG;AAAA,MACvB,aAAU;AAAA,MACV,KAAAJ;AAAA,MACA,MAAK;AAAA,MACL,iBAAeS,EAAS;AAAA,MACxB,iBAAe,YAAYb,CAAK,IAAIQ,CAAG;AAAA,MACvC,UAAUK,EAAS,UAAU,IAAI;AAAA,MACjC,OAAOM;AAAA,MACP,WAAWkB;AAAA,QACT;AAAA,QACAxC;AAAA,QACA;AAAA,UACE,CAACkB,CAAS,GAAG,CAACF,EAAS;AAAA,UACvB,CAACG,CAAe,GAAGH,EAAS;AAAA,QAAA;AAAA,MAC9B;AAAA,MAEF,WAAWmB;AAAA,MACX,SAASE;AAAA,MAET,UAAA,gBAAAI,EAACpC,GAAA,EAAQ,WAAU,qCACjB,UAAA;AAAA,QAAA,gBAAAiC;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWE;AAAA,cACT;AAAA,cACA1C;AAAA,YAAA;AAAA,UACF;AAAA,QAAA;AAAA,QAEF,gBAAAwC;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWE;AAAA,cACT;AAAA,cACA1C;AAAA,cACAsB;AAAA,YAAA;AAAA,YAEF,OAAOH;AAAA,UAAA;AAAA,QAAA;AAAA,QAERf,KAAYD;AAAA,MAAA,EAAA,CACf;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -1,4 +1,4 @@
1
- import { type FunctionComponent, type PropsWithChildren } from 'react';
1
+ import { FunctionComponent, PropsWithChildren } from 'react';
2
2
  interface Props {
3
3
  className?: string;
4
4
  /**
@@ -1,54 +1,54 @@
1
1
  "use client";
2
- import { jsx as l, jsxs as d } from "react/jsx-runtime";
3
- import { c as t } from "../../chunks/index.js";
4
- import { useRef as f, useEffect as v } from "react";
2
+ import { jsx as t, jsxs as d } from "react/jsx-runtime";
3
+ import { c as e } from "../../chunks/index.js";
4
+ import { useRef as n, useEffect as v } from "react";
5
5
  import { useSpring as b, animated as h } from "@react-spring/web";
6
6
  import { useActiveTabControl as L } from "./hooks/tabControl.js";
7
- const k = ({
8
- className: n,
9
- constrained: r = !1,
7
+ const j = ({
8
+ className: f,
9
+ constrained: l = !1,
10
10
  children: i
11
11
  }) => {
12
- const s = f(null), c = f(null), [m, e] = L(), [{ scrollLeft: a }, o] = b(() => ({
12
+ const s = n(null), c = n(null), [m, r] = L(), [{ scrollLeft: a }, o] = b(() => ({
13
13
  from: { scrollLeft: 0 }
14
14
  }));
15
15
  v(() => {
16
- if (!(e != null && e.current))
16
+ if (!r?.current)
17
17
  return;
18
- const p = e.current.getBoundingClientRect().left, u = s.current.scrollLeft, w = c.current.offsetWidth;
18
+ const p = r.current.getBoundingClientRect().left, u = s.current.scrollLeft, w = c.current.offsetWidth;
19
19
  o.start({
20
20
  to: {
21
21
  scrollLeft: u + p - w
22
22
  }
23
23
  });
24
- }, [a, e, o]);
24
+ }, [a, r, o]);
25
25
  const x = { "--active-tab": m };
26
- return /* @__PURE__ */ l(
26
+ return /* @__PURE__ */ t(
27
27
  h.div,
28
28
  {
29
29
  ref: s,
30
30
  "data-name": "TabsHeader",
31
- className: t(
31
+ className: e(
32
32
  "scrollbar-hide relative flex max-w-full overflow-x-scroll py-20",
33
- n
33
+ f
34
34
  ),
35
35
  scrollLeft: a,
36
- children: /* @__PURE__ */ d("div", { role: "tablist", className: t("flex flex-row"), style: x, children: [
37
- /* @__PURE__ */ l(
36
+ children: /* @__PURE__ */ d("div", { role: "tablist", className: e("flex flex-row"), style: x, children: [
37
+ /* @__PURE__ */ t(
38
38
  "div",
39
39
  {
40
40
  ref: c,
41
- className: t("shrink-0", {
42
- "w-16 lg:w-[max(calc((100vw-1212px)/2),116px)] xl:w-[max(calc((100vw-1212px)/2),156px)]": !r
41
+ className: e("shrink-0", {
42
+ "w-16 lg:w-[max(calc((100vw-1212px)/2),116px)] xl:w-[max(calc((100vw-1212px)/2),156px)]": !l
43
43
  })
44
44
  }
45
45
  ),
46
46
  i,
47
- /* @__PURE__ */ l(
47
+ /* @__PURE__ */ t(
48
48
  "div",
49
49
  {
50
- className: t("shrink-0", {
51
- "w-16 lg:w-[max(calc((100vw-1212px)/2),116px)] xl:w-[max(calc((100vw-1212px)/2),156px)]": !r
50
+ className: e("shrink-0", {
51
+ "w-16 lg:w-[max(calc((100vw-1212px)/2),116px)] xl:w-[max(calc((100vw-1212px)/2),156px)]": !l
52
52
  })
53
53
  }
54
54
  )
@@ -57,6 +57,6 @@ const k = ({
57
57
  );
58
58
  };
59
59
  export {
60
- k as TabList
60
+ j as TabList
61
61
  };
62
62
  //# sourceMappingURL=TabList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TabList.js","sources":["../../../lib/molecules/Tabs/TabList.tsx"],"sourcesContent":["'use client';\n\nimport classnames from 'classnames';\nimport {\n type CSSProperties,\n useEffect,\n useRef,\n type FunctionComponent,\n type PropsWithChildren,\n} from 'react';\nimport { animated, useSpring } from '@react-spring/web';\n\nimport { useActiveTabControl } from './hooks/tabControl';\n\ninterface Props {\n className?: string;\n /**\n * Remove filler placeholders\n */\n constrained?: boolean;\n}\n\nexport const TabList: FunctionComponent<PropsWithChildren<Props>> = ({\n className,\n constrained = false,\n children,\n}) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const spacerRef = useRef<HTMLDivElement>(null);\n const [currentTab, currentControl] = useActiveTabControl();\n\n const [{ scrollLeft }, scrollApi] = useSpring(() => ({\n from: { scrollLeft: 0 },\n }));\n\n useEffect(() => {\n if (!currentControl?.current) {\n return;\n }\n\n const tabLeft = currentControl.current.getBoundingClientRect().left;\n const scrollLeft = containerRef.current!.scrollLeft;\n const spacerWidth = spacerRef.current!.offsetWidth;\n\n scrollApi.start({\n to: {\n scrollLeft: scrollLeft + tabLeft - spacerWidth,\n },\n });\n }, [scrollLeft, currentControl, scrollApi]);\n\n const style = { '--active-tab': currentTab } as CSSProperties;\n\n return (\n <animated.div\n ref={containerRef}\n data-name=\"TabsHeader\"\n className={classnames(\n 'scrollbar-hide relative flex max-w-full overflow-x-scroll py-20',\n className,\n )}\n scrollLeft={scrollLeft}\n >\n <div role=\"tablist\" className={classnames('flex flex-row')} style={style}>\n <div\n ref={spacerRef}\n className={classnames('shrink-0', {\n 'w-16 lg:w-[max(calc((100vw-1212px)/2),116px)] xl:w-[max(calc((100vw-1212px)/2),156px)]':\n !constrained,\n })}\n />\n {children}\n <div\n className={classnames('shrink-0', {\n 'w-16 lg:w-[max(calc((100vw-1212px)/2),116px)] xl:w-[max(calc((100vw-1212px)/2),156px)]':\n !constrained,\n })}\n />\n </div>\n </animated.div>\n );\n};\n"],"names":["TabList","className","constrained","children","containerRef","useRef","spacerRef","currentTab","currentControl","useActiveTabControl","scrollLeft","scrollApi","useSpring","useEffect","tabLeft","spacerWidth","style","jsx","animated","classnames","jsxs"],"mappings":";;;;;;AAsBO,MAAMA,IAAuD,CAAC;AAAA,EACnE,WAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,UAAAC;AACF,MAAM;AACJ,QAAMC,IAAeC,EAAuB,IAAI,GAC1CC,IAAYD,EAAuB,IAAI,GACvC,CAACE,GAAYC,CAAc,IAAIC,EAAA,GAE/B,CAAC,EAAE,YAAAC,EAAA,GAAcC,CAAS,IAAIC,EAAU,OAAO;AAAA,IACnD,MAAM,EAAE,YAAY,EAAA;AAAA,EAAE,EACtB;AAEF,EAAAC,EAAU,MAAM;AACd,QAAI,EAACL,KAAA,QAAAA,EAAgB;AACnB;AAGF,UAAMM,IAAUN,EAAe,QAAQ,sBAAA,EAAwB,MACzDE,IAAaN,EAAa,QAAS,YACnCW,IAAcT,EAAU,QAAS;AAEvC,IAAAK,EAAU,MAAM;AAAA,MACd,IAAI;AAAA,QACF,YAAYD,IAAaI,IAAUC;AAAA,MAAA;AAAA,IACrC,CACD;AAAA,EACH,GAAG,CAACL,GAAYF,GAAgBG,CAAS,CAAC;AAE1C,QAAMK,IAAQ,EAAE,gBAAgBT,EAAA;AAEhC,SACE,gBAAAU;AAAA,IAACC,EAAS;AAAA,IAAT;AAAA,MACC,KAAKd;AAAA,MACL,aAAU;AAAA,MACV,WAAWe;AAAA,QACT;AAAA,QACAlB;AAAA,MAAA;AAAA,MAEF,YAAAS;AAAA,MAEA,UAAA,gBAAAU,EAAC,SAAI,MAAK,WAAU,WAAWD,EAAW,eAAe,GAAG,OAAAH,GAC1D,UAAA;AAAA,QAAA,gBAAAC;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,KAAKX;AAAA,YACL,WAAWa,EAAW,YAAY;AAAA,cAChC,0FACE,CAACjB;AAAA,YAAA,CACJ;AAAA,UAAA;AAAA,QAAA;AAAA,QAEFC;AAAA,QACD,gBAAAc;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWE,EAAW,YAAY;AAAA,cAChC,0FACE,CAACjB;AAAA,YAAA,CACJ;AAAA,UAAA;AAAA,QAAA;AAAA,MACH,EAAA,CACF;AAAA,IAAA;AAAA,EAAA;AAGN;"}
1
+ {"version":3,"file":"TabList.js","sources":["../../../lib/molecules/Tabs/TabList.tsx"],"sourcesContent":["'use client';\n\nimport classnames from 'classnames';\nimport {\n type CSSProperties,\n useEffect,\n useRef,\n type FunctionComponent,\n type PropsWithChildren,\n} from 'react';\nimport { animated, useSpring } from '@react-spring/web';\n\nimport { useActiveTabControl } from './hooks/tabControl';\n\ninterface Props {\n className?: string;\n /**\n * Remove filler placeholders\n */\n constrained?: boolean;\n}\n\nexport const TabList: FunctionComponent<PropsWithChildren<Props>> = ({\n className,\n constrained = false,\n children,\n}) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const spacerRef = useRef<HTMLDivElement>(null);\n const [currentTab, currentControl] = useActiveTabControl();\n\n const [{ scrollLeft }, scrollApi] = useSpring(() => ({\n from: { scrollLeft: 0 },\n }));\n\n useEffect(() => {\n if (!currentControl?.current) {\n return;\n }\n\n const tabLeft = currentControl.current.getBoundingClientRect().left;\n const scrollLeft = containerRef.current!.scrollLeft;\n const spacerWidth = spacerRef.current!.offsetWidth;\n\n scrollApi.start({\n to: {\n scrollLeft: scrollLeft + tabLeft - spacerWidth,\n },\n });\n }, [scrollLeft, currentControl, scrollApi]);\n\n const style = { '--active-tab': currentTab } as CSSProperties;\n\n return (\n <animated.div\n ref={containerRef}\n data-name=\"TabsHeader\"\n className={classnames(\n 'scrollbar-hide relative flex max-w-full overflow-x-scroll py-20',\n className,\n )}\n scrollLeft={scrollLeft}\n >\n <div role=\"tablist\" className={classnames('flex flex-row')} style={style}>\n <div\n ref={spacerRef}\n className={classnames('shrink-0', {\n 'w-16 lg:w-[max(calc((100vw-1212px)/2),116px)] xl:w-[max(calc((100vw-1212px)/2),156px)]':\n !constrained,\n })}\n />\n {children}\n <div\n className={classnames('shrink-0', {\n 'w-16 lg:w-[max(calc((100vw-1212px)/2),116px)] xl:w-[max(calc((100vw-1212px)/2),156px)]':\n !constrained,\n })}\n />\n </div>\n </animated.div>\n );\n};\n"],"names":["TabList","className","constrained","children","containerRef","useRef","spacerRef","currentTab","currentControl","useActiveTabControl","scrollLeft","scrollApi","useSpring","useEffect","tabLeft","spacerWidth","style","jsx","animated","classnames","jsxs"],"mappings":";;;;;;AAsBO,MAAMA,IAAuD,CAAC;AAAA,EACnE,WAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,UAAAC;AACF,MAAM;AACJ,QAAMC,IAAeC,EAAuB,IAAI,GAC1CC,IAAYD,EAAuB,IAAI,GACvC,CAACE,GAAYC,CAAc,IAAIC,EAAA,GAE/B,CAAC,EAAE,YAAAC,EAAA,GAAcC,CAAS,IAAIC,EAAU,OAAO;AAAA,IACnD,MAAM,EAAE,YAAY,EAAA;AAAA,EAAE,EACtB;AAEF,EAAAC,EAAU,MAAM;AACd,QAAI,CAACL,GAAgB;AACnB;AAGF,UAAMM,IAAUN,EAAe,QAAQ,sBAAA,EAAwB,MACzDE,IAAaN,EAAa,QAAS,YACnCW,IAAcT,EAAU,QAAS;AAEvC,IAAAK,EAAU,MAAM;AAAA,MACd,IAAI;AAAA,QACF,YAAYD,IAAaI,IAAUC;AAAA,MAAA;AAAA,IACrC,CACD;AAAA,EACH,GAAG,CAACL,GAAYF,GAAgBG,CAAS,CAAC;AAE1C,QAAMK,IAAQ,EAAE,gBAAgBT,EAAA;AAEhC,SACE,gBAAAU;AAAA,IAACC,EAAS;AAAA,IAAT;AAAA,MACC,KAAKd;AAAA,MACL,aAAU;AAAA,MACV,WAAWe;AAAA,QACT;AAAA,QACAlB;AAAA,MAAA;AAAA,MAEF,YAAAS;AAAA,MAEA,UAAA,gBAAAU,EAAC,SAAI,MAAK,WAAU,WAAWD,EAAW,eAAe,GAAG,OAAAH,GAC1D,UAAA;AAAA,QAAA,gBAAAC;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,KAAKX;AAAA,YACL,WAAWa,EAAW,YAAY;AAAA,cAChC,0FACE,CAACjB;AAAA,YAAA,CACJ;AAAA,UAAA;AAAA,QAAA;AAAA,QAEFC;AAAA,QACD,gBAAAc;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWE,EAAW,YAAY;AAAA,cAChC,0FACE,CAACjB;AAAA,YAAA,CACJ;AAAA,UAAA;AAAA,QAAA;AAAA,MACH,EAAA,CACF;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -1,4 +1,4 @@
1
- import { type FunctionComponent, type PropsWithChildren } from 'react';
1
+ import { FunctionComponent, PropsWithChildren } from 'react';
2
2
  interface Props {
3
3
  className?: string;
4
4
  /**