@quan-erp/shared-ui 2.0.1 → 2.0.3

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 (296) hide show
  1. package/dist/components/custom/safearea.d.ts +3 -1
  2. package/dist/components/ui/calendar.d.ts +2 -1
  3. package/dist/components/ui/dialog.d.ts +1 -1
  4. package/dist/components/ui/sheet.d.ts +1 -1
  5. package/dist/components/ui/table.d.ts +3 -0
  6. package/dist/es/components/custom/color-picker.js +117 -63
  7. package/dist/es/components/custom/data-table/cursor-based-pagination.js +1 -1
  8. package/dist/es/components/custom/data-table/data-table-bulk-action-menu.js +1 -1
  9. package/dist/es/components/custom/data-table/data-table-bulk-export.js +1 -1
  10. package/dist/es/components/custom/data-table/data-table-column-header.js +1 -1
  11. package/dist/es/components/custom/data-table/data-table-grid.js +2 -2
  12. package/dist/es/components/custom/data-table/data-table-list-view.js +1 -1
  13. package/dist/es/components/custom/data-table/data-table-pagination.js +1 -1
  14. package/dist/es/components/custom/data-table/data-table-toolbar.js +1 -1
  15. package/dist/es/components/custom/data-table/data-table-view-options.js +1 -1
  16. package/dist/es/components/custom/data-table/data-table.js +2 -3
  17. package/dist/es/components/custom/error-screen.js +1 -1
  18. package/dist/es/components/custom/floating-action-btn.js +2 -2
  19. package/dist/es/components/custom/pull-to-refresh.js +66 -55
  20. package/dist/es/components/custom/responsive-dialog.js +1 -1
  21. package/dist/es/components/custom/safearea.js +24 -2
  22. package/dist/es/components/ui/calendar.js +95 -8
  23. package/dist/es/components/ui/dialog.js +23 -0
  24. package/dist/es/components/ui/drawer.js +2 -2
  25. package/dist/es/components/ui/sheet.js +23 -0
  26. package/dist/es/components/ui/table.js +2 -1
  27. package/dist/es/hooks/use-mobile.js +3 -1
  28. package/dist/es/index.js +1 -0
  29. package/dist/es/shared-ui.css +1 -1
  30. package/package.json +4 -3
  31. package/dist/es/node_modules/@tanstack/react-table/build/lib/index.js +0 -93
  32. package/dist/es/node_modules/@tanstack/table-core/build/lib/index.js +0 -2737
  33. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/components/AnimatePresence/PopChild.js +0 -0
  34. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/components/AnimatePresence/PresenceChild.js +0 -0
  35. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/components/AnimatePresence/index.js +0 -0
  36. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/components/AnimatePresence/use-presence.js +0 -0
  37. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/components/AnimatePresence/utils.js +0 -0
  38. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/context/LayoutGroupContext.js +0 -0
  39. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/context/LazyContext.js +0 -0
  40. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/context/MotionConfigContext.js +0 -0
  41. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/context/MotionContext/create.js +0 -0
  42. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/context/MotionContext/index.js +0 -0
  43. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/context/MotionContext/utils.js +0 -0
  44. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/context/PresenceContext.js +0 -0
  45. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/context/SwitchLayoutGroupContext.js +0 -0
  46. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/events/add-pointer-event.js +0 -0
  47. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/events/event-info.js +0 -0
  48. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/gestures/drag/VisualElementDragControls.js +0 -0
  49. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/gestures/drag/index.js +0 -0
  50. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/gestures/drag/utils/constraints.js +0 -0
  51. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/gestures/focus.js +0 -0
  52. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/gestures/hover.js +0 -0
  53. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/gestures/pan/PanSession.js +0 -0
  54. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/gestures/pan/index.js +0 -0
  55. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/gestures/press.js +0 -0
  56. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/motion/features/animation/exit.js +0 -0
  57. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/motion/features/animation/index.js +0 -0
  58. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/motion/features/animations.js +0 -0
  59. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/motion/features/definitions.js +0 -0
  60. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/motion/features/drag.js +0 -0
  61. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/motion/features/gestures.js +0 -0
  62. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/motion/features/layout/MeasureLayout.js +0 -0
  63. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/motion/features/layout.js +0 -0
  64. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/motion/features/load-features.js +0 -0
  65. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/motion/features/viewport/index.js +0 -0
  66. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/motion/features/viewport/observers.js +0 -0
  67. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/motion/index.js +0 -0
  68. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/motion/utils/symbol.js +0 -0
  69. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/motion/utils/use-motion-ref.js +0 -0
  70. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/motion/utils/use-visual-element.js +0 -0
  71. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/motion/utils/use-visual-state.js +0 -0
  72. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/motion/utils/valid-prop.js +0 -0
  73. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/render/components/create-proxy.js +0 -0
  74. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/render/components/motion/feature-bundle.js +0 -0
  75. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/render/components/motion/proxy.js +0 -0
  76. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/render/dom/create-visual-element.js +0 -0
  77. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/render/dom/use-render.js +0 -0
  78. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/render/dom/utils/filter-props.js +0 -0
  79. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/render/dom/utils/is-svg-component.js +0 -0
  80. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/render/html/use-html-visual-state.js +0 -0
  81. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/render/html/use-props.js +0 -0
  82. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/render/html/utils/create-render-state.js +0 -0
  83. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/render/svg/lowercase-elements.js +0 -0
  84. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/render/svg/use-props.js +0 -0
  85. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/render/svg/use-svg-visual-state.js +0 -0
  86. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/render/svg/utils/create-render-state.js +0 -0
  87. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/utils/distance.js +0 -0
  88. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/utils/get-context-window.js +0 -0
  89. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/utils/is-browser.js +0 -0
  90. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/utils/is-ref-object.js +0 -0
  91. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/utils/use-composed-ref.js +0 -0
  92. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/utils/use-constant.js +0 -0
  93. /package/dist/es/{shared-ui/node_modules → node_modules}/framer-motion/dist/es/utils/use-isomorphic-effect.js +0 -0
  94. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/AsyncMotionValueAnimation.js +0 -0
  95. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/JSAnimation.js +0 -0
  96. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/NativeAnimation.js +0 -0
  97. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/NativeAnimationExtended.js +0 -0
  98. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/animate/single-value.js +0 -0
  99. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/drivers/frame.js +0 -0
  100. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/generators/inertia.js +0 -0
  101. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/generators/keyframes.js +0 -0
  102. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/generators/spring.js +0 -0
  103. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/generators/utils/calc-duration.js +0 -0
  104. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/generators/utils/create-generator-easing.js +0 -0
  105. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/generators/utils/is-generator.js +0 -0
  106. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/generators/utils/velocity.js +0 -0
  107. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/interfaces/motion-value.js +0 -0
  108. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/interfaces/visual-element-target.js +0 -0
  109. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/interfaces/visual-element-variant.js +0 -0
  110. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/interfaces/visual-element.js +0 -0
  111. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.js +0 -0
  112. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/keyframes/KeyframesResolver.js +0 -0
  113. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/keyframes/get-final.js +0 -0
  114. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/keyframes/offsets/default.js +0 -0
  115. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/keyframes/offsets/fill.js +0 -0
  116. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/keyframes/offsets/time.js +0 -0
  117. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.js +0 -0
  118. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/keyframes/utils/is-none.js +0 -0
  119. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.js +0 -0
  120. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.js +0 -0
  121. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/optimized-appear/data-id.js +0 -0
  122. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/optimized-appear/get-appear-id.js +0 -0
  123. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/utils/WithPromise.js +0 -0
  124. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/utils/calc-child-stagger.js +0 -0
  125. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/utils/can-animate.js +0 -0
  126. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/utils/css-variables-conversion.js +0 -0
  127. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/utils/default-transitions.js +0 -0
  128. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/utils/get-value-transition.js +0 -0
  129. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/utils/is-animatable.js +0 -0
  130. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/utils/is-css-variable.js +0 -0
  131. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/utils/is-transition-defined.js +0 -0
  132. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/utils/make-animation-instant.js +0 -0
  133. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/utils/replace-transition-type.js +0 -0
  134. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/utils/resolve-transition.js +0 -0
  135. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.js +0 -0
  136. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/waapi/easing/map-easing.js +0 -0
  137. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/waapi/easing/supported.js +0 -0
  138. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/waapi/start-waapi-animation.js +0 -0
  139. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/waapi/supports/waapi.js +0 -0
  140. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/waapi/utils/accelerated-values.js +0 -0
  141. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/waapi/utils/apply-generator.js +0 -0
  142. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/waapi/utils/is-browser-color.js +0 -0
  143. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/waapi/utils/linear.js +0 -0
  144. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.js +0 -0
  145. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/events/add-dom-event.js +0 -0
  146. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/frameloop/batcher.js +0 -0
  147. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/frameloop/frame.js +0 -0
  148. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/frameloop/microtask.js +0 -0
  149. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/frameloop/order.js +0 -0
  150. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/frameloop/render-step.js +0 -0
  151. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/frameloop/sync-time.js +0 -0
  152. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/gestures/drag/state/is-active.js +0 -0
  153. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/gestures/drag/state/set-active.js +0 -0
  154. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/gestures/hover.js +0 -0
  155. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/gestures/press/index.js +0 -0
  156. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.js +0 -0
  157. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/gestures/press/utils/keyboard.js +0 -0
  158. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/gestures/press/utils/state.js +0 -0
  159. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/gestures/utils/is-node-or-child.js +0 -0
  160. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/gestures/utils/is-primary-pointer.js +0 -0
  161. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/gestures/utils/setup.js +0 -0
  162. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/projection/animation/mix-values.js +0 -0
  163. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/projection/geometry/conversion.js +0 -0
  164. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/projection/geometry/copy.js +0 -0
  165. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/projection/geometry/delta-apply.js +0 -0
  166. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/projection/geometry/delta-calc.js +0 -0
  167. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/projection/geometry/delta-remove.js +0 -0
  168. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/projection/geometry/models.js +0 -0
  169. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/projection/geometry/utils.js +0 -0
  170. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/projection/node/DocumentProjectionNode.js +0 -0
  171. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/projection/node/HTMLProjectionNode.js +0 -0
  172. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/projection/node/create-projection-node.js +0 -0
  173. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/projection/node/state.js +0 -0
  174. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/projection/shared/stack.js +0 -0
  175. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/projection/styles/scale-border-radius.js +0 -0
  176. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/projection/styles/scale-box-shadow.js +0 -0
  177. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/projection/styles/scale-correction.js +0 -0
  178. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/projection/styles/transform.js +0 -0
  179. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/projection/utils/compare-by-depth.js +0 -0
  180. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/projection/utils/each-axis.js +0 -0
  181. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/projection/utils/flat-tree.js +0 -0
  182. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/projection/utils/has-transform.js +0 -0
  183. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/projection/utils/measure.js +0 -0
  184. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/render/Feature.js +0 -0
  185. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/render/VisualElement.js +0 -0
  186. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/render/dom/DOMVisualElement.js +0 -0
  187. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/render/dom/is-css-var.js +0 -0
  188. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/render/dom/parse-transform.js +0 -0
  189. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/render/dom/style-set.js +0 -0
  190. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/render/dom/utils/camel-to-dash.js +0 -0
  191. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/render/html/HTMLVisualElement.js +0 -0
  192. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/render/html/utils/build-styles.js +0 -0
  193. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/render/html/utils/build-transform.js +0 -0
  194. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/render/html/utils/render.js +0 -0
  195. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/render/html/utils/scrape-motion-values.js +0 -0
  196. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/render/store.js +0 -0
  197. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/render/svg/SVGVisualElement.js +0 -0
  198. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/render/svg/utils/build-attrs.js +0 -0
  199. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/render/svg/utils/camel-case-attrs.js +0 -0
  200. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/render/svg/utils/is-svg-tag.js +0 -0
  201. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/render/svg/utils/path.js +0 -0
  202. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/render/svg/utils/render.js +0 -0
  203. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/render/svg/utils/scrape-motion-values.js +0 -0
  204. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/render/utils/animation-state.js +0 -0
  205. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/render/utils/get-variant-context.js +0 -0
  206. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/render/utils/is-animation-controls.js +0 -0
  207. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/render/utils/is-controlling-variants.js +0 -0
  208. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/render/utils/is-forced-motion-value.js +0 -0
  209. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/render/utils/is-keyframes-target.js +0 -0
  210. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/render/utils/is-variant-label.js +0 -0
  211. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/render/utils/keys-position.js +0 -0
  212. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/render/utils/keys-transform.js +0 -0
  213. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/render/utils/motion-values.js +0 -0
  214. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/render/utils/reduced-motion/index.js +0 -0
  215. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/render/utils/reduced-motion/state.js +0 -0
  216. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/render/utils/resolve-dynamic-variants.js +0 -0
  217. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/render/utils/resolve-variants.js +0 -0
  218. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/render/utils/setters.js +0 -0
  219. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/render/utils/shallow-compare.js +0 -0
  220. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/render/utils/variant-props.js +0 -0
  221. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/resize/handle-element.js +0 -0
  222. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/resize/handle-window.js +0 -0
  223. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/resize/index.js +0 -0
  224. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/utils/delay.js +0 -0
  225. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/utils/interpolate.js +0 -0
  226. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/utils/is-html-element.js +0 -0
  227. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/utils/is-svg-element.js +0 -0
  228. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/utils/is-svg-svg-element.js +0 -0
  229. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/utils/mix/color.js +0 -0
  230. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/utils/mix/complex.js +0 -0
  231. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/utils/mix/immediate.js +0 -0
  232. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/utils/mix/index.js +0 -0
  233. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/utils/mix/number.js +0 -0
  234. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/utils/mix/visibility.js +0 -0
  235. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/utils/resolve-elements.js +0 -0
  236. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/utils/supports/flags.js +0 -0
  237. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/utils/supports/linear-easing.js +0 -0
  238. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/utils/supports/memo.js +0 -0
  239. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/utils/supports/scroll-timeline.js +0 -0
  240. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/value/index.js +0 -0
  241. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/value/types/auto.js +0 -0
  242. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/value/types/color/hex.js +0 -0
  243. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/value/types/color/hsla-to-rgba.js +0 -0
  244. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/value/types/color/hsla.js +0 -0
  245. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/value/types/color/index.js +0 -0
  246. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/value/types/color/rgba.js +0 -0
  247. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/value/types/color/utils.js +0 -0
  248. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/value/types/complex/filter.js +0 -0
  249. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/value/types/complex/index.js +0 -0
  250. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/value/types/complex/mask.js +0 -0
  251. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/value/types/dimensions.js +0 -0
  252. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/value/types/int.js +0 -0
  253. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/value/types/maps/defaults.js +0 -0
  254. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/value/types/maps/number.js +0 -0
  255. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/value/types/maps/transform.js +0 -0
  256. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/value/types/numbers/index.js +0 -0
  257. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/value/types/numbers/units.js +0 -0
  258. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/value/types/test.js +0 -0
  259. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/value/types/utils/animatable-none.js +0 -0
  260. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/value/types/utils/color-regex.js +0 -0
  261. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/value/types/utils/find.js +0 -0
  262. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/value/types/utils/float-regex.js +0 -0
  263. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/value/types/utils/get-as-type.js +0 -0
  264. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/value/types/utils/is-nullish.js +0 -0
  265. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/value/types/utils/sanitize.js +0 -0
  266. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/value/types/utils/single-color-regex.js +0 -0
  267. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/value/utils/is-motion-value.js +0 -0
  268. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/value/utils/resolve-motion-value.js +0 -0
  269. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/value/will-change/add-will-change.js +0 -0
  270. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-dom/dist/es/value/will-change/is.js +0 -0
  271. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-utils/dist/es/array.js +0 -0
  272. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-utils/dist/es/clamp.js +0 -0
  273. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-utils/dist/es/easing/anticipate.js +0 -0
  274. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-utils/dist/es/easing/back.js +0 -0
  275. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-utils/dist/es/easing/circ.js +0 -0
  276. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-utils/dist/es/easing/cubic-bezier.js +0 -0
  277. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-utils/dist/es/easing/ease.js +0 -0
  278. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-utils/dist/es/easing/modifiers/mirror.js +0 -0
  279. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-utils/dist/es/easing/modifiers/reverse.js +0 -0
  280. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-utils/dist/es/easing/utils/is-bezier-definition.js +0 -0
  281. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-utils/dist/es/easing/utils/is-easing-array.js +0 -0
  282. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-utils/dist/es/easing/utils/map.js +0 -0
  283. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-utils/dist/es/errors.js +0 -0
  284. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-utils/dist/es/format-error-message.js +0 -0
  285. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-utils/dist/es/global-config.js +0 -0
  286. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-utils/dist/es/is-numerical-string.js +0 -0
  287. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-utils/dist/es/is-object.js +0 -0
  288. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-utils/dist/es/is-zero-value-string.js +0 -0
  289. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-utils/dist/es/memo.js +0 -0
  290. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-utils/dist/es/noop.js +0 -0
  291. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-utils/dist/es/pipe.js +0 -0
  292. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-utils/dist/es/progress.js +0 -0
  293. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-utils/dist/es/subscription-manager.js +0 -0
  294. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-utils/dist/es/time-conversion.js +0 -0
  295. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-utils/dist/es/velocity-per-second.js +0 -0
  296. /package/dist/es/{shared-ui/node_modules → node_modules}/motion-utils/dist/es/warn-once.js +0 -0
@@ -15,7 +15,6 @@ import "clsx";
15
15
  import "tailwind-merge";
16
16
  import "../ui/popover.js";
17
17
  import "../ui/drawer.js";
18
- import "../ui/select.js";
19
18
  import "uuid";
20
19
  import { Vibration } from "@quan-erp/shared-frontend-core";
21
20
  import "../ui/carousel.js";
@@ -41,6 +40,7 @@ import "../ui/progress.js";
41
40
  import "../ui/radio-group.js";
42
41
  import "react-resizable-panels";
43
42
  import "../ui/scroll-area.js";
43
+ import "../ui/select.js";
44
44
  import "@radix-ui/react-separator";
45
45
  import "../ui/sidebar.js";
46
46
  import "../ui/slider.js";
@@ -159,9 +159,15 @@ const PullToRefresh = React__default.memo(({
159
159
  return false;
160
160
  };
161
161
  const startDrag = (pageX, pageY, target) => {
162
- if (containerRef.current) {
163
- if (containerRef.current.scrollTop > 0) return;
164
- if (target && isScrolled(target, containerRef.current)) return;
162
+ const container = containerRef.current;
163
+ const overlay = target?.closest?.(
164
+ '[data-vaul-drawer], [data-vaul-overlay], [role="dialog"][data-state="open"]'
165
+ );
166
+ if (overlay && !overlay.contains(container)) return;
167
+ if (container?.closest?.("[data-vaul-drawer]")) return;
168
+ if (container) {
169
+ if (container.scrollTop > 0) return;
170
+ if (target && isScrolled(target, container)) return;
165
171
  }
166
172
  if (statusRef.current === "refreshing" || statusRef.current === "success" || statusRef.current === "error") return;
167
173
  isDraggingRef.current = true;
@@ -322,58 +328,63 @@ const PullToRefresh = React__default.memo(({
322
328
  if (disabled) {
323
329
  return /* @__PURE__ */ jsx("div", { className, ...macrosSlot("pull-to-refresh"), children });
324
330
  }
325
- return /* @__PURE__ */ jsxs("div", { className: `shared:relative shared:overflow-hidden shared:w-full shared:h-full shared:select-none ${className}`, "data-vaul-no-drag": true, ...macrosSlot("pull-to-refresh"), children: [
326
- /* @__PURE__ */ jsx(
327
- "div",
328
- {
329
- ref: indicatorRef,
330
- className: "shared:absolute shared:top-0 shared:left-0 shared:right-0 shared:flex shared:items-center shared:justify-center shared:overflow-hidden shared:pointer-events-none",
331
- style: {
332
- height: "0px",
333
- opacity: 0,
334
- transition: "height 400ms cubic-bezier(0.16, 1, 0.3, 1), opacity 400ms cubic-bezier(0.16, 1, 0.3, 1)"
335
- },
336
- children: renderIndicator ? renderIndicator(customState?.status || "idle", customState?.yOffset || 0, threshold) : /* @__PURE__ */ jsxs("div", { className: "shared:relative shared:flex shared:items-center shared:justify-center shared:w-full", children: [
337
- /* @__PURE__ */ jsxs("div", { ref: successRef, style: { opacity: 0, transform: "scale(0.95)" }, className: "shared:absolute shared:flex shared:items-center shared:justify-center shared:gap-2 shared:text-sm shared:text-foreground/70 shared:font-medium shared:py-1 shared:transition-all shared:duration-200", children: [
338
- /* @__PURE__ */ jsx("div", { className: "shared:w-5 shared:h-5 shared:rounded-full shared:bg-muted shared:flex shared:items-center shared:justify-center shared:text-foreground/70", children: /* @__PURE__ */ jsx(Check, { theme: "outline", size: "12", strokeWidth: 5 }) }),
339
- /* @__PURE__ */ jsx("span", { children: "Refresh succeed" })
340
- ] }),
341
- /* @__PURE__ */ jsxs("div", { ref: errorRef, style: { opacity: 0, transform: "scale(0.95)" }, className: "shared:absolute shared:flex shared:items-center shared:justify-center shared:gap-2 shared:text-sm shared:text-red-600 shared:dark:text-red-500 shared:font-medium shared:py-1 shared:transition-all shared:duration-200", children: [
342
- /* @__PURE__ */ jsx("div", { className: "shared:w-5 shared:h-5 shared:rounded-full shared:bg-red-100 shared:dark:bg-red-950/30 shared:flex shared:items-center shared:justify-center shared:text-red-600 shared:dark:text-red-500", children: /* @__PURE__ */ jsx(CloseSmall, { theme: "outline", size: "12", strokeWidth: 5 }) }),
343
- /* @__PURE__ */ jsx("span", { children: "Refresh failed" })
344
- ] }),
345
- /* @__PURE__ */ jsx("div", { ref: refreshingRef, style: { opacity: 0 }, className: "shared:absolute shared:flex shared:items-center shared:justify-center shared:py-1 shared:transition-opacity shared:duration-200", children: /* @__PURE__ */ jsx(Spinner, {}) }),
346
- /* @__PURE__ */ jsxs("div", { ref: readyRef, style: { opacity: 0 }, className: "shared:absolute shared:flex shared:items-center shared:justify-center shared:gap-2 shared:text-sm shared:text-primary shared:font-medium shared:py-1 shared:transition-opacity shared:duration-200", children: [
347
- /* @__PURE__ */ jsx("svg", { width: "24", height: "24", viewBox: "0 0 24 24", className: "shared:-rotate-90", children: /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: 10, className: "shared:text-primary", stroke: "currentColor", strokeWidth: 2.5, fill: "none" }) }),
348
- /* @__PURE__ */ jsx("span", { children: "Release to refresh" })
349
- ] }),
350
- /* @__PURE__ */ jsx("div", { ref: pullingRef, style: { opacity: 0 }, className: "shared:absolute shared:flex shared:items-center shared:justify-center shared:py-1 shared:transition-opacity shared:duration-200", children: /* @__PURE__ */ jsxs("div", { ref: pullingScaleRef, className: "shared:flex shared:items-center shared:justify-center shared:gap-2 shared:text-sm shared:text-muted-foreground shared:font-medium shared:transition-transform shared:duration-75", style: { transformOrigin: "center" }, children: [
351
- /* @__PURE__ */ jsxs("svg", { width: "24", height: "24", viewBox: "0 0 24 24", style: { transform: "rotate(-90deg)", transformOrigin: "center" }, children: [
352
- /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: 10, className: "shared:text-muted/30", stroke: "currentColor", strokeWidth: 2.5, fill: "none" }),
353
- /* @__PURE__ */ jsx("circle", { ref: circleProgressRef, cx: "12", cy: "12", r: 10, className: "shared:text-primary shared:transition-all shared:duration-75", stroke: "currentColor", strokeWidth: 2.5, fill: "none", strokeDasharray: 2 * Math.PI * 10, strokeLinecap: "round" })
331
+ return (
332
+ // No `data-vaul-no-drag` here: opting out would stop a drawer from being
333
+ // dragged by its content and hand the gesture to pull-to-refresh instead.
334
+ // Drawer ownership is decided in `startDrag` (see the overlay guards).
335
+ /* @__PURE__ */ jsxs("div", { className: `shared:relative shared:overflow-hidden shared:w-full shared:h-full shared:select-none shared:overscroll-contain ${className}`, ...macrosSlot("pull-to-refresh"), children: [
336
+ /* @__PURE__ */ jsx(
337
+ "div",
338
+ {
339
+ ref: indicatorRef,
340
+ className: "shared:absolute shared:top-0 shared:left-0 shared:right-0 shared:flex shared:items-center shared:justify-center shared:overflow-hidden shared:pointer-events-none",
341
+ style: {
342
+ height: "0px",
343
+ opacity: 0,
344
+ transition: "height 400ms cubic-bezier(0.16, 1, 0.3, 1), opacity 400ms cubic-bezier(0.16, 1, 0.3, 1)"
345
+ },
346
+ children: renderIndicator ? renderIndicator(customState?.status || "idle", customState?.yOffset || 0, threshold) : /* @__PURE__ */ jsxs("div", { className: "shared:relative shared:flex shared:items-center shared:justify-center shared:w-full", children: [
347
+ /* @__PURE__ */ jsxs("div", { ref: successRef, style: { opacity: 0, transform: "scale(0.95)" }, className: "shared:absolute shared:flex shared:items-center shared:justify-center shared:gap-2 shared:text-sm shared:text-foreground/70 shared:font-medium shared:py-1 shared:transition-all shared:duration-200", children: [
348
+ /* @__PURE__ */ jsx("div", { className: "shared:w-5 shared:h-5 shared:rounded-full shared:bg-muted shared:flex shared:items-center shared:justify-center shared:text-foreground/70", children: /* @__PURE__ */ jsx(Check, { theme: "outline", size: "12", strokeWidth: 5 }) }),
349
+ /* @__PURE__ */ jsx("span", { children: "Refresh succeed" })
354
350
  ] }),
355
- /* @__PURE__ */ jsx("span", { children: "Pull down " }),
356
- /* @__PURE__ */ jsx("span", { ref: percentTextRef, className: "shared:text-primary shared:font-bold", children: "0%" })
357
- ] }) })
358
- ] })
359
- }
360
- ),
361
- /* @__PURE__ */ jsx(
362
- "div",
363
- {
364
- ref: containerRef,
365
- ...macrosSlot("pull-to-refresh-content"),
366
- onTouchStart: handleTouchStart,
367
- onMouseDown: handleMouseDown,
368
- className: `shared:overflow-y-auto shared:w-full shared:h-full shared:scrollbar-thin shared:will-change-transform`,
369
- style: {
370
- transform: "translateY(0px) translateZ(0)",
371
- transition: "transform 400ms cubic-bezier(0.16, 1, 0.3, 1)"
372
- },
373
- children
374
- }
375
- )
376
- ] });
351
+ /* @__PURE__ */ jsxs("div", { ref: errorRef, style: { opacity: 0, transform: "scale(0.95)" }, className: "shared:absolute shared:flex shared:items-center shared:justify-center shared:gap-2 shared:text-sm shared:text-red-600 shared:dark:text-red-500 shared:font-medium shared:py-1 shared:transition-all shared:duration-200", children: [
352
+ /* @__PURE__ */ jsx("div", { className: "shared:w-5 shared:h-5 shared:rounded-full shared:bg-red-100 shared:dark:bg-red-950/30 shared:flex shared:items-center shared:justify-center shared:text-red-600 shared:dark:text-red-500", children: /* @__PURE__ */ jsx(CloseSmall, { theme: "outline", size: "12", strokeWidth: 5 }) }),
353
+ /* @__PURE__ */ jsx("span", { children: "Refresh failed" })
354
+ ] }),
355
+ /* @__PURE__ */ jsx("div", { ref: refreshingRef, style: { opacity: 0 }, className: "shared:absolute shared:flex shared:items-center shared:justify-center shared:py-1 shared:transition-opacity shared:duration-200", children: /* @__PURE__ */ jsx(Spinner, {}) }),
356
+ /* @__PURE__ */ jsxs("div", { ref: readyRef, style: { opacity: 0 }, className: "shared:absolute shared:flex shared:items-center shared:justify-center shared:gap-2 shared:text-sm shared:text-primary shared:font-medium shared:py-1 shared:transition-opacity shared:duration-200", children: [
357
+ /* @__PURE__ */ jsx("svg", { width: "24", height: "24", viewBox: "0 0 24 24", className: "shared:-rotate-90", children: /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: 10, className: "shared:text-primary", stroke: "currentColor", strokeWidth: 2.5, fill: "none" }) }),
358
+ /* @__PURE__ */ jsx("span", { children: "Release to refresh" })
359
+ ] }),
360
+ /* @__PURE__ */ jsx("div", { ref: pullingRef, style: { opacity: 0 }, className: "shared:absolute shared:flex shared:items-center shared:justify-center shared:py-1 shared:transition-opacity shared:duration-200", children: /* @__PURE__ */ jsxs("div", { ref: pullingScaleRef, className: "shared:flex shared:items-center shared:justify-center shared:gap-2 shared:text-sm shared:text-muted-foreground shared:font-medium shared:transition-transform shared:duration-75", style: { transformOrigin: "center" }, children: [
361
+ /* @__PURE__ */ jsxs("svg", { width: "24", height: "24", viewBox: "0 0 24 24", style: { transform: "rotate(-90deg)", transformOrigin: "center" }, children: [
362
+ /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: 10, className: "shared:text-muted/30", stroke: "currentColor", strokeWidth: 2.5, fill: "none" }),
363
+ /* @__PURE__ */ jsx("circle", { ref: circleProgressRef, cx: "12", cy: "12", r: 10, className: "shared:text-primary shared:transition-all shared:duration-75", stroke: "currentColor", strokeWidth: 2.5, fill: "none", strokeDasharray: 2 * Math.PI * 10, strokeLinecap: "round" })
364
+ ] }),
365
+ /* @__PURE__ */ jsx("span", { children: "Pull down " }),
366
+ /* @__PURE__ */ jsx("span", { ref: percentTextRef, className: "shared:text-primary shared:font-bold", children: "0%" })
367
+ ] }) })
368
+ ] })
369
+ }
370
+ ),
371
+ /* @__PURE__ */ jsx(
372
+ "div",
373
+ {
374
+ ref: containerRef,
375
+ ...macrosSlot("pull-to-refresh-content"),
376
+ onTouchStart: handleTouchStart,
377
+ onMouseDown: handleMouseDown,
378
+ className: `shared:overflow-y-auto shared:w-full shared:h-full shared:scrollbar-thin shared:will-change-transform`,
379
+ style: {
380
+ transform: "translateY(0px) translateZ(0)",
381
+ transition: "transform 400ms cubic-bezier(0.16, 1, 0.3, 1)"
382
+ },
383
+ children
384
+ }
385
+ )
386
+ ] })
387
+ );
377
388
  });
378
389
  export {
379
390
  PullToRefresh
@@ -16,7 +16,6 @@ import { macrosSlot } from "../../lib/macros.js";
16
16
  import { cn } from "../../lib/utils.js";
17
17
  import "../ui/popover.js";
18
18
  import { Drawer, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerTitle, DrawerTrigger } from "../ui/drawer.js";
19
- import "../ui/select.js";
20
19
  import "@icon-park/react";
21
20
  import "../ui/carousel.js";
22
21
  import "../ui/chart.js";
@@ -41,6 +40,7 @@ import "../ui/progress.js";
41
40
  import "../ui/radio-group.js";
42
41
  import "react-resizable-panels";
43
42
  import "../ui/scroll-area.js";
43
+ import "../ui/select.js";
44
44
  import "@radix-ui/react-separator";
45
45
  import { Sheet, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetTitle, SheetTrigger } from "../ui/sheet.js";
46
46
  import "../ui/sidebar.js";
@@ -1,7 +1,29 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { cn } from "../../lib/utils.js";
3
- function SafeArea({ children, className = "" }) {
4
- return /* @__PURE__ */ jsx("div", { className: cn(`shared:pt-(--safe-area-inset-top) shared:pb-(--safe-area-inset-bottom) shared:pl-(--safe-area-inset-left) shared:pr-(--safe-area-inset-right) shared:bg-white shared:min-h-screen shared:h-full`, className), children });
3
+ const INSET_ZERO = "0px";
4
+ const INSET_TOP = "var(--safe-area-inset-top, env(safe-area-inset-top, 0px))";
5
+ const INSET_RIGHT = "var(--safe-area-inset-right, env(safe-area-inset-right, 0px))";
6
+ const INSET_BOTTOM = "var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px))";
7
+ const INSET_LEFT = "var(--safe-area-inset-left, env(safe-area-inset-left, 0px))";
8
+ function SafeArea({
9
+ children,
10
+ className = "",
11
+ ignoreTop = false,
12
+ ignoreBottom = false
13
+ }) {
14
+ return /* @__PURE__ */ jsx(
15
+ "div",
16
+ {
17
+ className: cn("shared:min-h-screen shared:h-full shared:box-border", className),
18
+ style: {
19
+ paddingTop: ignoreTop ? INSET_ZERO : INSET_TOP,
20
+ paddingRight: INSET_RIGHT,
21
+ paddingBottom: ignoreBottom ? INSET_ZERO : INSET_BOTTOM,
22
+ paddingLeft: INSET_LEFT
23
+ },
24
+ children
25
+ }
26
+ );
5
27
  }
6
28
  export {
7
29
  SafeArea
@@ -7,7 +7,6 @@ import { cn } from "../../lib/utils.js";
7
7
  import { Button, buttonVariants } from "./button.js";
8
8
  import { Popover, PopoverTrigger, PopoverContent } from "./popover.js";
9
9
  import { Drawer, DrawerTrigger, DrawerContent, DrawerFooter, DrawerClose } from "./drawer.js";
10
- import "./select.js";
11
10
  import { useMediaQuery } from "../../hooks/use-mobile.js";
12
11
  import { useMobileBackDialog } from "../../hooks/use-mobile-back-dialog.js";
13
12
  import "@quan-erp/shared-frontend-core";
@@ -23,18 +22,86 @@ function Calendar({
23
22
  type = "raw",
24
23
  trigger,
25
24
  label,
25
+ onSelect,
26
26
  ...props
27
27
  }) {
28
28
  const defaultClassNames = getDefaultClassNames();
29
29
  const isMobile = useMediaQuery();
30
30
  const [open, setOpen] = React.useState(false);
31
31
  const isDrawer = type === "drawer" || type === "automatic" && isMobile;
32
+ const contentRef = React.useRef(null);
33
+ const triggerRef = React.useRef(null);
32
34
  const [internalMonth, setInternalMonth] = React.useState(props.defaultMonth || props.month || /* @__PURE__ */ new Date());
33
35
  useMobileBackDialog({
34
36
  open,
35
37
  enable: open && isDrawer,
36
38
  onOpenChange: setOpen
37
39
  });
40
+ React.useLayoutEffect(() => {
41
+ if (!open || isDrawer) return;
42
+ const pad = 8;
43
+ const gap = 6;
44
+ let applying = false;
45
+ let observed = null;
46
+ let obs;
47
+ function place() {
48
+ const el = contentRef.current;
49
+ const trigger2 = triggerRef.current;
50
+ if (!el || !trigger2 || !el.isConnected || applying) return;
51
+ const wrapper = el.closest("[data-radix-popper-content-wrapper]") || el;
52
+ const tr = trigger2.getBoundingClientRect();
53
+ const h = el.offsetHeight;
54
+ const w = el.offsetWidth;
55
+ const vh = window.innerHeight;
56
+ const vw = window.innerWidth;
57
+ let top = tr.bottom + gap;
58
+ if (top + h > vh - pad) top = tr.top - gap - h;
59
+ if (top < pad) top = pad;
60
+ if (top + h > vh - pad) top = Math.max(pad, vh - pad - h);
61
+ let left = tr.left;
62
+ if (left + w > vw - pad) left = Math.max(pad, vw - pad - w);
63
+ if (left < pad) left = pad;
64
+ applying = true;
65
+ wrapper.style.setProperty("position", "fixed", "important");
66
+ wrapper.style.setProperty("top", `${Math.round(top)}px`, "important");
67
+ wrapper.style.setProperty("left", `${Math.round(left)}px`, "important");
68
+ wrapper.style.setProperty("right", "auto", "important");
69
+ wrapper.style.setProperty("bottom", "auto", "important");
70
+ wrapper.style.setProperty("transform", "none", "important");
71
+ wrapper.style.setProperty("margin", "0", "important");
72
+ wrapper.style.setProperty("z-index", "200", "important");
73
+ applying = false;
74
+ if (observed !== wrapper) {
75
+ if (observed) obs.disconnect();
76
+ observed = wrapper;
77
+ obs.observe(wrapper, { attributes: true, attributeFilter: ["style"] });
78
+ }
79
+ }
80
+ obs = new MutationObserver(() => {
81
+ if (!applying) place();
82
+ });
83
+ place();
84
+ const rafs = [0, 1, 2].map(() => requestAnimationFrame(place));
85
+ const timers = [16, 50, 100, 200, 400].map((ms) => window.setTimeout(place, ms));
86
+ window.addEventListener("resize", place);
87
+ window.addEventListener("scroll", place, true);
88
+ return () => {
89
+ rafs.forEach((id) => cancelAnimationFrame(id));
90
+ timers.forEach((id) => window.clearTimeout(id));
91
+ obs.disconnect();
92
+ window.removeEventListener("resize", place);
93
+ window.removeEventListener("scroll", place, true);
94
+ };
95
+ }, [open, isDrawer]);
96
+ const handleSelect = React.useCallback(
97
+ (date, ...args) => {
98
+ onSelect?.(date, ...args);
99
+ if (props.mode === "single" && date && (type === "popover" || type === "automatic" || type === "drawer")) {
100
+ setOpen(false);
101
+ }
102
+ },
103
+ [onSelect, props.mode, type]
104
+ );
38
105
  React.useEffect(() => {
39
106
  if (props.month) {
40
107
  setInternalMonth(props.month);
@@ -106,8 +173,8 @@ function Calendar({
106
173
  const today = /* @__PURE__ */ new Date();
107
174
  setInternalMonth(today);
108
175
  props.onMonthChange?.(today);
109
- if (props.mode === "single" && props.onSelect) {
110
- props.onSelect(today, today, { selected: false }, {});
176
+ if (props.mode === "single" && onSelect) {
177
+ handleSelect(today, today, { selected: false }, {});
111
178
  }
112
179
  };
113
180
  const CalendarContent = /* @__PURE__ */ jsxs("div", { className: "shared:flex shared:flex-col shared:gap-2 shared:w-full shared:overflow-hidden shared:md:h-[26.5rem] shared:h-[31.5rem] shared:md:mt-0 shared:mt-5", children: [
@@ -329,7 +396,8 @@ function Calendar({
329
396
  },
330
397
  ...components
331
398
  },
332
- ...props
399
+ ...props,
400
+ onSelect: handleSelect
333
401
  }
334
402
  ),
335
403
  /* @__PURE__ */ jsx("div", { className: "shared:px-2 shared:pb-2 shared:mt-[-4px] shared:min-h-min shared:flex shared:justify-end", children: showMonthYearPicker ? /* @__PURE__ */ jsx(
@@ -361,10 +429,29 @@ function Calendar({
361
429
  ] })
362
430
  ] });
363
431
  }
364
- return /* @__PURE__ */ jsxs(Popover, { children: [
365
- /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: trigger }),
366
- /* @__PURE__ */ jsx(PopoverContent, { className: "shared:w-auto shared:p-0", align: "start", children: CalendarContent })
367
- ] });
432
+ return (
433
+ // modal={false}: works inside Dialog (pointer-events / focus trap won't swallow the panel)
434
+ /* @__PURE__ */ jsxs(Popover, { open, onOpenChange: setOpen, modal: false, children: [
435
+ /* @__PURE__ */ jsx("div", { ref: triggerRef, className: "shared:w-full shared:min-w-0", children: /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: trigger || /* @__PURE__ */ jsxs(Button, { type: "button", variant: "input", children: [
436
+ label,
437
+ /* @__PURE__ */ jsx(Calendar$1, { theme: "outline", size: "19", fill: "#000000" })
438
+ ] }) }) }),
439
+ /* @__PURE__ */ jsx(
440
+ PopoverContent,
441
+ {
442
+ ref: contentRef,
443
+ align: "start",
444
+ side: "bottom",
445
+ sideOffset: 6,
446
+ avoidCollisions: false,
447
+ className: "shared:z-[100] shared:w-auto shared:p-0",
448
+ onOpenAutoFocus: (e) => e.preventDefault(),
449
+ onCloseAutoFocus: (e) => e.preventDefault(),
450
+ children: CalendarContent
451
+ }
452
+ )
453
+ ] })
454
+ );
368
455
  }
369
456
  function CalendarDayButton({
370
457
  className,
@@ -40,10 +40,21 @@ function DialogOverlay({
40
40
  }
41
41
  );
42
42
  }
43
+ function isPortaledOverlayTarget(target) {
44
+ if (!(target instanceof Element)) return false;
45
+ return Boolean(
46
+ target.closest(
47
+ '[data-slot="popover-content"], [data-slot="select-content"], [data-slot="dropdown-menu-content"], [data-slot="combobox-content"]'
48
+ )
49
+ );
50
+ }
43
51
  function DialogContent({
44
52
  className,
45
53
  children,
46
54
  showCloseButton = true,
55
+ onPointerDownOutside,
56
+ onInteractOutside,
57
+ onFocusOutside,
47
58
  ...props
48
59
  }) {
49
60
  return /* @__PURE__ */ jsxs(DialogPortal, { "data-slot": "dialog-portal", children: [
@@ -57,6 +68,18 @@ function DialogContent({
57
68
  className
58
69
  ),
59
70
  ...props,
71
+ onPointerDownOutside: (e) => {
72
+ if (isPortaledOverlayTarget(e.target)) e.preventDefault();
73
+ onPointerDownOutside?.(e);
74
+ },
75
+ onInteractOutside: (e) => {
76
+ if (isPortaledOverlayTarget(e.target)) e.preventDefault();
77
+ onInteractOutside?.(e);
78
+ },
79
+ onFocusOutside: (e) => {
80
+ if (isPortaledOverlayTarget(e.target)) e.preventDefault();
81
+ onFocusOutside?.(e);
82
+ },
60
83
  children: [
61
84
  children,
62
85
  showCloseButton && /* @__PURE__ */ jsxs(
@@ -27,7 +27,7 @@ const DrawerOverlay = React.forwardRef(({ className, ...props }, ref) => /* @__P
27
27
  {
28
28
  ref,
29
29
  ...macrosSlot("drawer-overlay"),
30
- className: cn("shared:fixed shared:inset-0 shared:z-50 shared:bg-black/80", className),
30
+ className: cn("shared:fixed shared:inset-0 shared:z-50 shared:touch-none shared:overscroll-none shared:bg-black/80", className),
31
31
  ...props
32
32
  }
33
33
  ));
@@ -42,7 +42,7 @@ const DrawerContent = React.forwardRef(({ className, children, ...props }, ref)
42
42
  ref,
43
43
  ...macrosSlot("drawer-content"),
44
44
  className: cn(
45
- "shared:fixed shared:inset-x-0 shared:bottom-0 shared:z-50 shared:mt-24 shared:flex shared:h-auto shared:flex-col shared:rounded-t-3xl shared:border shared:bg-(--drawer-background)",
45
+ "shared:fixed shared:inset-x-0 shared:bottom-0 shared:z-50 shared:mt-24 shared:flex shared:h-auto shared:flex-col shared:overscroll-contain shared:rounded-t-3xl shared:border shared:bg-(--drawer-background)",
46
46
  className
47
47
  ),
48
48
  ...props,
@@ -38,11 +38,22 @@ function SheetOverlay({
38
38
  }
39
39
  );
40
40
  }
41
+ function isPortaledOverlayTarget(target) {
42
+ if (!(target instanceof Element)) return false;
43
+ return Boolean(
44
+ target.closest(
45
+ '[data-slot="popover-content"], [data-slot="select-content"], [data-slot="dropdown-menu-content"], [data-slot="combobox-content"]'
46
+ )
47
+ );
48
+ }
41
49
  function SheetContent({
42
50
  className,
43
51
  children,
44
52
  side = "right",
45
53
  showCloseButton = true,
54
+ onPointerDownOutside,
55
+ onInteractOutside,
56
+ onFocusOutside,
46
57
  ...props
47
58
  }) {
48
59
  return /* @__PURE__ */ jsxs(SheetPortal, { children: [
@@ -60,6 +71,18 @@ function SheetContent({
60
71
  className
61
72
  ),
62
73
  ...props,
74
+ onPointerDownOutside: (e) => {
75
+ if (isPortaledOverlayTarget(e.target)) e.preventDefault();
76
+ onPointerDownOutside?.(e);
77
+ },
78
+ onInteractOutside: (e) => {
79
+ if (isPortaledOverlayTarget(e.target)) e.preventDefault();
80
+ onInteractOutside?.(e);
81
+ },
82
+ onFocusOutside: (e) => {
83
+ if (isPortaledOverlayTarget(e.target)) e.preventDefault();
84
+ onFocusOutside?.(e);
85
+ },
63
86
  children: [
64
87
  children,
65
88
  showCloseButton && /* @__PURE__ */ jsxs(DialogPrimitive.Close, { ...macrosSlot("sheet-close"), className: "shared:p-2 shared:bg-muted shared:rounded-full shared:ring-offset-background shared:focus:ring-ring shared:data-[state=open]:bg-secondary shared:absolute shared:top-4 shared:right-4 shared:opacity-70 shared:transition-opacity shared:hover:opacity-100 shared:focus:ring-2 shared:focus:ring-offset-2 shared:focus:outline-hidden shared:disabled:pointer-events-none shared:cursor-pointer", children: [
@@ -1,11 +1,12 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import * as React from "react";
3
3
  import { cn } from "../../lib/utils.js";
4
- const Table = React.forwardRef(({ className, wrapper, parentContainer, ...props }, ref) => /* @__PURE__ */ jsx("div", { className: cn("shared:w-full shared:border shared:border-black/10 shared:rounded-xl shared:cupertino-corner shared:overflow-hidden", parentContainer), children: /* @__PURE__ */ jsx("div", { className: cn("shared:relative shared:w-full shared:overflow-auto", wrapper), children: /* @__PURE__ */ jsx(
4
+ const Table = React.forwardRef(({ className, wrapper, parentContainer, parentContainerStyle, warpperStyle, style, ...props }, ref) => /* @__PURE__ */ jsx("div", { className: cn("shared:w-full shared:border shared:border-black/10 shared:rounded-xl shared:cupertino-corner shared:overflow-hidden", parentContainer), style: parentContainerStyle, children: /* @__PURE__ */ jsx("div", { className: cn("shared:relative shared:w-full shared:overflow-auto", wrapper), style: warpperStyle, children: /* @__PURE__ */ jsx(
5
5
  "table",
6
6
  {
7
7
  ref,
8
8
  className: cn("shared:w-full shared:caption-bottom shared:text-sm", className),
9
+ style,
9
10
  ...props
10
11
  }
11
12
  ) }) }));
@@ -6,7 +6,9 @@ const SCREENS = {
6
6
  xl: 1280
7
7
  };
8
8
  function useMediaQuery(breakpoint = SCREENS.md) {
9
- const [isTriggered, setTrigger] = React.useState(void 0);
9
+ const [isTriggered, setTrigger] = React.useState(
10
+ () => typeof window === "undefined" ? false : window.matchMedia(`(max-width: ${breakpoint - 1}px)`).matches
11
+ );
10
12
  React.useEffect(() => {
11
13
  const mql = window.matchMedia(`(max-width: ${breakpoint - 1}px)`);
12
14
  const onChange = () => {
package/dist/es/index.js CHANGED
@@ -90,6 +90,7 @@ import { DataTableViewFallback } from "./components/custom/data-table/data-table
90
90
  import { DataTableViewOptions } from "./components/custom/data-table/data-table-view-options.js";
91
91
  import { buildColumnLayoutKey, loadViewPreferences, parseViewPreferences, saveViewPreferences, serializeViewPreferences, setColumnVisibleInState } from "./components/custom/data-table/data-table-view-preferences.storage.js";
92
92
  import { getDataTableViewPreferencesStorageKey, useDataTableViewPreferences } from "./components/custom/data-table/data-table-view-preferences.js";
93
+ import "@tanstack/react-table";
93
94
  import { DataTable } from "./components/custom/data-table/data-table.js";
94
95
  import { useDataTablePageSize } from "./components/custom/data-table/use-data-table-page-size.js";
95
96
  import { SCREENS, useMediaQuery, useMediaQueryMultiStep } from "./hooks/use-mobile.js";