@blimu/react 1.1.0 → 1.1.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.
- package/dist/_virtual/index.cjs +5 -1
- package/dist/_virtual/index.cjs.map +1 -1
- package/dist/_virtual/index.js +3 -3
- package/dist/_virtual/index2.cjs +4 -1
- package/dist/_virtual/index2.cjs.map +1 -1
- package/dist/_virtual/index2.js +2 -2
- package/dist/_virtual/use-sync-external-store-shim.development.cjs +4 -1
- package/dist/_virtual/use-sync-external-store-shim.development.cjs.map +1 -1
- package/dist/_virtual/use-sync-external-store-shim.development.js +2 -2
- package/dist/_virtual/use-sync-external-store-shim.production.cjs +4 -1
- package/dist/_virtual/use-sync-external-store-shim.production.cjs.map +1 -1
- package/dist/_virtual/use-sync-external-store-shim.production.js +2 -2
- package/dist/client/auth.service.cjs +249 -1
- package/dist/client/auth.service.cjs.map +1 -1
- package/dist/client/auth.service.js +194 -96
- package/dist/client/auth.service.js.map +1 -1
- package/dist/client/external-store.cjs +26 -1
- package/dist/client/external-store.cjs.map +1 -1
- package/dist/client/external-store.js +22 -8
- package/dist/client/external-store.js.map +1 -1
- package/dist/client/runtime-client.cjs +136 -1
- package/dist/client/runtime-client.cjs.map +1 -1
- package/dist/client/runtime-client.js +85 -51
- package/dist/client/runtime-client.js.map +1 -1
- package/dist/components/index.cjs +13 -0
- package/dist/components/index.cjs.map +1 -0
- package/dist/components/index.js +13 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/members-list.cjs +132 -1
- package/dist/components/members-list.cjs.map +1 -1
- package/dist/components/members-list.js +69 -64
- package/dist/components/members-list.js.map +1 -1
- package/dist/components/redirect-to-sign-in.cjs +34 -1
- package/dist/components/redirect-to-sign-in.cjs.map +1 -1
- package/dist/components/redirect-to-sign-in.js +28 -20
- package/dist/components/redirect-to-sign-in.js.map +1 -1
- package/dist/components/sign-in-button.cjs +36 -1
- package/dist/components/sign-in-button.cjs.map +1 -1
- package/dist/components/sign-in-button.js +25 -21
- package/dist/components/sign-in-button.js.map +1 -1
- package/dist/components/ui/avatar.cjs +42 -1
- package/dist/components/ui/avatar.cjs.map +1 -1
- package/dist/components/ui/avatar.js +23 -23
- package/dist/components/ui/avatar.js.map +1 -1
- package/dist/components/ui/dropdown-menu.cjs +148 -1
- package/dist/components/ui/dropdown-menu.cjs.map +1 -1
- package/dist/components/ui/dropdown-menu.js +83 -81
- package/dist/components/ui/dropdown-menu.js.map +1 -1
- package/dist/components/user-avatar.cjs +22 -1
- package/dist/components/user-avatar.cjs.map +1 -1
- package/dist/components/user-avatar.js +16 -16
- package/dist/components/user-avatar.js.map +1 -1
- package/dist/components/user-button/styles.cjs +39 -1
- package/dist/components/user-button/styles.cjs.map +1 -1
- package/dist/components/user-button/styles.js +6 -5
- package/dist/components/user-button/styles.js.map +1 -1
- package/dist/components/user-button/user-button.cjs +98 -1
- package/dist/components/user-button/user-button.cjs.map +1 -1
- package/dist/components/user-button/user-button.js +64 -58
- package/dist/components/user-button/user-button.js.map +1 -1
- package/dist/hooks/index.cjs +14 -0
- package/dist/hooks/index.cjs.map +1 -0
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +14 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/use-auth.cjs +44 -1
- package/dist/hooks/use-auth.cjs.map +1 -1
- package/dist/hooks/use-auth.d.ts +13 -15
- package/dist/hooks/use-auth.d.ts.map +1 -1
- package/dist/hooks/use-auth.js +30 -26
- package/dist/hooks/use-auth.js.map +1 -1
- package/dist/hooks/use-client.cjs +9 -1
- package/dist/hooks/use-client.cjs.map +1 -1
- package/dist/hooks/use-client.d.ts +1 -1
- package/dist/hooks/use-client.d.ts.map +1 -1
- package/dist/hooks/use-client.js +6 -5
- package/dist/hooks/use-client.js.map +1 -1
- package/dist/hooks/use-members.cjs +60 -1
- package/dist/hooks/use-members.cjs.map +1 -1
- package/dist/hooks/use-members.js +53 -41
- package/dist/hooks/use-members.js.map +1 -1
- package/dist/hooks/use-store.cjs +17 -1
- package/dist/hooks/use-store.cjs.map +1 -1
- package/dist/hooks/use-store.js +7 -7
- package/dist/hooks/use-store.js.map +1 -1
- package/dist/index.cjs +37 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +35 -35
- package/dist/lib/utils.cjs +8 -1
- package/dist/lib/utils.cjs.map +1 -1
- package/dist/lib/utils.js +5 -5
- package/dist/lib/utils.js.map +1 -1
- package/dist/lib/variants.cjs +46 -1
- package/dist/lib/variants.cjs.map +1 -1
- package/dist/lib/variants.js +6 -5
- package/dist/lib/variants.js.map +1 -1
- package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.cjs +721 -1
- package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.cjs.map +1 -1
- package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js +571 -377
- package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js.map +1 -1
- package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.cjs +625 -1
- package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.cjs.map +1 -1
- package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +539 -316
- package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js.map +1 -1
- package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.cjs +313 -1
- package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.cjs.map +1 -1
- package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +261 -172
- package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js.map +1 -1
- package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.cjs +154 -1
- package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.cjs.map +1 -1
- package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.cjs +173 -1
- package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.cjs.map +1 -1
- package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +144 -107
- package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js.map +1 -1
- package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +111 -87
- package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.js.map +1 -1
- package/dist/node_modules/@radix-ui/primitive/dist/index.cjs +11 -1
- package/dist/node_modules/@radix-ui/primitive/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/primitive/dist/index.js +7 -5
- package/dist/node_modules/@radix-ui/primitive/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-arrow/dist/index.cjs +42 -1
- package/dist/node_modules/@radix-ui/react-arrow/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/react-arrow/dist/index.js +17 -16
- package/dist/node_modules/@radix-ui/react-arrow/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-avatar/dist/index.cjs +140 -1
- package/dist/node_modules/@radix-ui/react-avatar/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/react-avatar/dist/index.js +105 -57
- package/dist/node_modules/@radix-ui/react-avatar/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-context/dist/index.cjs +80 -1
- package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-context/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-context/dist/index.js +49 -41
- package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-context/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-primitive/dist/index.cjs +56 -1
- package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-primitive/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-primitive/dist/index.js +17 -10
- package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-primitive/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-slot/dist/index.cjs +119 -1
- package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-slot/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-slot/dist/index.js +86 -42
- package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-slot/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-collection/dist/index.cjs +70 -1
- package/dist/node_modules/@radix-ui/react-collection/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/react-collection/dist/index.js +57 -37
- package/dist/node_modules/@radix-ui/react-collection/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.cjs +56 -1
- package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.js +29 -19
- package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-context/dist/index.cjs +79 -1
- package/dist/node_modules/@radix-ui/react-context/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/react-context/dist/index.js +48 -39
- package/dist/node_modules/@radix-ui/react-context/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-direction/dist/index.cjs +27 -1
- package/dist/node_modules/@radix-ui/react-direction/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/react-direction/dist/index.js +6 -6
- package/dist/node_modules/@radix-ui/react-direction/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.cjs +229 -1
- package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +182 -97
- package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-dropdown-menu/dist/index.cjs +296 -1
- package/dist/node_modules/@radix-ui/react-dropdown-menu/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/react-dropdown-menu/dist/index.js +232 -167
- package/dist/node_modules/@radix-ui/react-dropdown-menu/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.cjs +46 -1
- package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.js +23 -11
- package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.cjs +224 -1
- package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.js +169 -98
- package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-id/dist/index.cjs +31 -1
- package/dist/node_modules/@radix-ui/react-id/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/react-id/dist/index.js +11 -10
- package/dist/node_modules/@radix-ui/react-id/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-menu/dist/index.cjs +845 -1
- package/dist/node_modules/@radix-ui/react-menu/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/react-menu/dist/index.js +662 -442
- package/dist/node_modules/@radix-ui/react-menu/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-popper/dist/index.cjs +308 -1
- package/dist/node_modules/@radix-ui/react-popper/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/react-popper/dist/index.js +209 -137
- package/dist/node_modules/@radix-ui/react-popper/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-portal/dist/index.cjs +34 -1
- package/dist/node_modules/@radix-ui/react-portal/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/react-portal/dist/index.js +14 -12
- package/dist/node_modules/@radix-ui/react-portal/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-presence/dist/index.cjs +145 -1
- package/dist/node_modules/@radix-ui/react-presence/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/react-presence/dist/index.js +103 -45
- package/dist/node_modules/@radix-ui/react-presence/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-primitive/dist/index.cjs +61 -1
- package/dist/node_modules/@radix-ui/react-primitive/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/react-primitive/dist/index.js +21 -14
- package/dist/node_modules/@radix-ui/react-primitive/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.cjs +244 -1
- package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.js +179 -135
- package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-slot/dist/index.cjs +105 -1
- package/dist/node_modules/@radix-ui/react-slot/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/react-slot/dist/index.js +74 -35
- package/dist/node_modules/@radix-ui/react-slot/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.cjs +28 -1
- package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +8 -7
- package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.cjs +86 -1
- package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +57 -40
- package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.cjs +34 -1
- package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js +13 -10
- package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-use-is-hydrated/dist/index.cjs +15 -1
- package/dist/node_modules/@radix-ui/react-use-is-hydrated/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/react-use-is-hydrated/dist/index.js +8 -8
- package/dist/node_modules/@radix-ui/react-use-is-hydrated/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.cjs +23 -1
- package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +3 -3
- package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-use-size/dist/index.cjs +56 -1
- package/dist/node_modules/@radix-ui/react-use-size/dist/index.cjs.map +1 -1
- package/dist/node_modules/@radix-ui/react-use-size/dist/index.js +34 -22
- package/dist/node_modules/@radix-ui/react-use-size/dist/index.js.map +1 -1
- package/dist/node_modules/aria-hidden/dist/es2015/index.cjs +122 -1
- package/dist/node_modules/aria-hidden/dist/es2015/index.cjs.map +1 -1
- package/dist/node_modules/aria-hidden/dist/es2015/index.js +111 -41
- package/dist/node_modules/aria-hidden/dist/es2015/index.js.map +1 -1
- package/dist/node_modules/class-variance-authority/dist/index.cjs +45 -1
- package/dist/node_modules/class-variance-authority/dist/index.cjs.map +1 -1
- package/dist/node_modules/class-variance-authority/dist/index.js +40 -30
- package/dist/node_modules/class-variance-authority/dist/index.js.map +1 -1
- package/dist/node_modules/clsx/dist/clsx.cjs +17 -1
- package/dist/node_modules/clsx/dist/clsx.cjs.map +1 -1
- package/dist/node_modules/clsx/dist/clsx.js +13 -13
- package/dist/node_modules/clsx/dist/clsx.js.map +1 -1
- package/dist/node_modules/get-nonce/dist/es2015/index.cjs +9 -1
- package/dist/node_modules/get-nonce/dist/es2015/index.cjs.map +1 -1
- package/dist/node_modules/get-nonce/dist/es2015/index.js +5 -3
- package/dist/node_modules/get-nonce/dist/es2015/index.js.map +1 -1
- package/dist/node_modules/js-cookie/dist/js.cookie.cjs +98 -1
- package/dist/node_modules/js-cookie/dist/js.cookie.cjs.map +1 -1
- package/dist/node_modules/js-cookie/dist/js.cookie.js +69 -43
- package/dist/node_modules/js-cookie/dist/js.cookie.js.map +1 -1
- package/dist/node_modules/jwt-decode/build/esm/index.cjs +58 -1
- package/dist/node_modules/jwt-decode/build/esm/index.cjs.map +1 -1
- package/dist/node_modules/jwt-decode/build/esm/index.js +36 -30
- package/dist/node_modules/jwt-decode/build/esm/index.js.map +1 -1
- package/dist/node_modules/lucide-react/dist/esm/Icon.cjs +34 -1
- package/dist/node_modules/lucide-react/dist/esm/Icon.cjs.map +1 -1
- package/dist/node_modules/lucide-react/dist/esm/Icon.js +25 -25
- package/dist/node_modules/lucide-react/dist/esm/Icon.js.map +1 -1
- package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.cjs +21 -1
- package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.cjs.map +1 -1
- package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.js +16 -15
- package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.js.map +1 -1
- package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.cjs +13 -1
- package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.cjs.map +1 -1
- package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.js +2 -2
- package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.js.map +1 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/check.cjs +7 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/check.cjs.map +1 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/check.js +5 -4
- package/dist/node_modules/lucide-react/dist/esm/icons/check.js.map +1 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.cjs +7 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.cjs.map +1 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.js +5 -4
- package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.js.map +1 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/circle.cjs +7 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/circle.cjs.map +1 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/circle.js +5 -4
- package/dist/node_modules/lucide-react/dist/esm/icons/circle.js.map +1 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/log-out.cjs +11 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/log-out.cjs.map +1 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/log-out.js +6 -5
- package/dist/node_modules/lucide-react/dist/esm/icons/log-out.js.map +1 -1
- package/dist/node_modules/lucide-react/dist/esm/shared/src/utils.cjs +26 -1
- package/dist/node_modules/lucide-react/dist/esm/shared/src/utils.cjs.map +1 -1
- package/dist/node_modules/lucide-react/dist/esm/shared/src/utils.js +22 -14
- package/dist/node_modules/lucide-react/dist/esm/shared/src/utils.js.map +1 -1
- package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.cjs +27 -1
- package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.cjs.map +1 -1
- package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.js +8 -8
- package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.js.map +1 -1
- package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.cjs +197 -4
- package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.cjs.map +1 -1
- package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.js +163 -98
- package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.js.map +1 -1
- package/dist/node_modules/react-remove-scroll/dist/es2015/UI.cjs +55 -1
- package/dist/node_modules/react-remove-scroll/dist/es2015/UI.cjs.map +1 -1
- package/dist/node_modules/react-remove-scroll/dist/es2015/UI.js +31 -24
- package/dist/node_modules/react-remove-scroll/dist/es2015/UI.js.map +1 -1
- package/dist/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.cjs +19 -1
- package/dist/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.cjs.map +1 -1
- package/dist/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js +12 -9
- package/dist/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js.map +1 -1
- package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.cjs +102 -1
- package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.cjs.map +1 -1
- package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +85 -51
- package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.js.map +1 -1
- package/dist/node_modules/react-remove-scroll/dist/es2015/medium.cjs +5 -1
- package/dist/node_modules/react-remove-scroll/dist/es2015/medium.cjs.map +1 -1
- package/dist/node_modules/react-remove-scroll/dist/es2015/medium.js +3 -3
- package/dist/node_modules/react-remove-scroll/dist/es2015/medium.js.map +1 -1
- package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.cjs +6 -1
- package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.cjs.map +1 -1
- package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.js +5 -5
- package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.js.map +1 -1
- package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.cjs +62 -36
- package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.cjs.map +1 -1
- package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.js +41 -65
- package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.js.map +1 -1
- package/dist/node_modules/react-remove-scroll-bar/dist/es2015/constants.cjs +10 -1
- package/dist/node_modules/react-remove-scroll-bar/dist/es2015/constants.cjs.map +1 -1
- package/dist/node_modules/react-remove-scroll-bar/dist/es2015/constants.js +8 -5
- package/dist/node_modules/react-remove-scroll-bar/dist/es2015/constants.js.map +1 -1
- package/dist/node_modules/react-remove-scroll-bar/dist/es2015/utils.cjs +37 -1
- package/dist/node_modules/react-remove-scroll-bar/dist/es2015/utils.cjs.map +1 -1
- package/dist/node_modules/react-remove-scroll-bar/dist/es2015/utils.js +28 -16
- package/dist/node_modules/react-remove-scroll-bar/dist/es2015/utils.js.map +1 -1
- package/dist/node_modules/react-style-singleton/dist/es2015/component.cjs +13 -1
- package/dist/node_modules/react-style-singleton/dist/es2015/component.cjs.map +1 -1
- package/dist/node_modules/react-style-singleton/dist/es2015/component.js +9 -7
- package/dist/node_modules/react-style-singleton/dist/es2015/component.js.map +1 -1
- package/dist/node_modules/react-style-singleton/dist/es2015/hook.cjs +33 -1
- package/dist/node_modules/react-style-singleton/dist/es2015/hook.cjs.map +1 -1
- package/dist/node_modules/react-style-singleton/dist/es2015/hook.js +11 -10
- package/dist/node_modules/react-style-singleton/dist/es2015/hook.js.map +1 -1
- package/dist/node_modules/react-style-singleton/dist/es2015/singleton.cjs +48 -1
- package/dist/node_modules/react-style-singleton/dist/es2015/singleton.cjs.map +1 -1
- package/dist/node_modules/react-style-singleton/dist/es2015/singleton.js +35 -17
- package/dist/node_modules/react-style-singleton/dist/es2015/singleton.js.map +1 -1
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.cjs +3014 -1
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.cjs.map +1 -1
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +804 -555
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -1
- package/dist/node_modules/tailwindcss/dist/plugin.cjs +12 -1
- package/dist/node_modules/tailwindcss/dist/plugin.cjs.map +1 -1
- package/dist/node_modules/tailwindcss/dist/plugin.js +8 -8
- package/dist/node_modules/tailwindcss/dist/plugin.js.map +1 -1
- package/dist/node_modules/tslib/tslib.es6.cjs +38 -1
- package/dist/node_modules/tslib/tslib.es6.cjs.map +1 -1
- package/dist/node_modules/tslib/tslib.es6.js +33 -21
- package/dist/node_modules/tslib/tslib.es6.js.map +1 -1
- package/dist/node_modules/use-callback-ref/dist/es2015/assignRef.cjs +11 -1
- package/dist/node_modules/use-callback-ref/dist/es2015/assignRef.cjs.map +1 -1
- package/dist/node_modules/use-callback-ref/dist/es2015/assignRef.js +8 -3
- package/dist/node_modules/use-callback-ref/dist/es2015/assignRef.js.map +1 -1
- package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.cjs +52 -1
- package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.cjs.map +1 -1
- package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.js +28 -19
- package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.js.map +1 -1
- package/dist/node_modules/use-callback-ref/dist/es2015/useRef.cjs +29 -1
- package/dist/node_modules/use-callback-ref/dist/es2015/useRef.cjs.map +1 -1
- package/dist/node_modules/use-callback-ref/dist/es2015/useRef.js +15 -11
- package/dist/node_modules/use-callback-ref/dist/es2015/useRef.js.map +1 -1
- package/dist/node_modules/use-sidecar/dist/es2015/exports.cjs +38 -1
- package/dist/node_modules/use-sidecar/dist/es2015/exports.cjs.map +1 -1
- package/dist/node_modules/use-sidecar/dist/es2015/exports.js +15 -12
- package/dist/node_modules/use-sidecar/dist/es2015/exports.js.map +1 -1
- package/dist/node_modules/use-sidecar/dist/es2015/medium.cjs +88 -1
- package/dist/node_modules/use-sidecar/dist/es2015/medium.cjs.map +1 -1
- package/dist/node_modules/use-sidecar/dist/es2015/medium.js +64 -43
- package/dist/node_modules/use-sidecar/dist/es2015/medium.js.map +1 -1
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.cjs +68 -1
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.cjs.map +1 -1
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +49 -39
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js.map +1 -1
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.cjs +53 -1
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.cjs.map +1 -1
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js +39 -32
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js.map +1 -1
- package/dist/node_modules/use-sync-external-store/shim/index.cjs +17 -1
- package/dist/node_modules/use-sync-external-store/shim/index.cjs.map +1 -1
- package/dist/node_modules/use-sync-external-store/shim/index.js +14 -7
- package/dist/node_modules/use-sync-external-store/shim/index.js.map +1 -1
- package/dist/providers/auth/auth.context.cjs +5 -1
- package/dist/providers/auth/auth.context.cjs.map +1 -1
- package/dist/providers/auth/auth.context.js +3 -3
- package/dist/providers/auth/auth.context.js.map +1 -1
- package/dist/providers/auth/auth.hook.cjs +12 -1
- package/dist/providers/auth/auth.hook.cjs.map +1 -1
- package/dist/providers/auth/auth.hook.js +8 -7
- package/dist/providers/auth/auth.hook.js.map +1 -1
- package/dist/providers/auth/auth.provider.cjs +37 -1
- package/dist/providers/auth/auth.provider.cjs.map +1 -1
- package/dist/providers/auth/auth.provider.js +31 -22
- package/dist/providers/auth/auth.provider.js.map +1 -1
- package/dist/providers/blimu/blimu.context.cjs +5 -1
- package/dist/providers/blimu/blimu.context.cjs.map +1 -1
- package/dist/providers/blimu/blimu.context.js +3 -3
- package/dist/providers/blimu/blimu.context.js.map +1 -1
- package/dist/providers/blimu/blimu.hook.cjs +12 -1
- package/dist/providers/blimu/blimu.hook.cjs.map +1 -1
- package/dist/providers/blimu/blimu.hook.js +8 -7
- package/dist/providers/blimu/blimu.hook.js.map +1 -1
- package/dist/providers/blimu/blimu.provider.cjs +71 -1
- package/dist/providers/blimu/blimu.provider.cjs.map +1 -1
- package/dist/providers/blimu/blimu.provider.js +32 -27
- package/dist/providers/blimu/blimu.provider.js.map +1 -1
- package/dist/providers/index.cjs +13 -0
- package/dist/providers/index.cjs.map +1 -0
- package/dist/providers/index.js +13 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/theme/theme.context.cjs +5 -1
- package/dist/providers/theme/theme.context.cjs.map +1 -1
- package/dist/providers/theme/theme.context.js +3 -3
- package/dist/providers/theme/theme.context.js.map +1 -1
- package/dist/providers/theme/theme.hook.cjs +12 -1
- package/dist/providers/theme/theme.hook.cjs.map +1 -1
- package/dist/providers/theme/theme.hook.js +8 -7
- package/dist/providers/theme/theme.hook.js.map +1 -1
- package/dist/providers/theme/theme.provider.cjs +104 -1
- package/dist/providers/theme/theme.provider.cjs.map +1 -1
- package/dist/providers/theme/theme.provider.js +85 -48
- package/dist/providers/theme/theme.provider.js.map +1 -1
- package/dist/tailwind.cjs +200 -0
- package/dist/tailwind.cjs.map +1 -0
- package/dist/{tailwind.plugin.js → tailwind.js} +6 -6
- package/dist/tailwind.js.map +1 -0
- package/dist/types/index.cjs +11 -1
- package/dist/types/index.cjs.map +1 -1
- package/dist/types/index.js +8 -8
- package/dist/types/index.js.map +1 -1
- package/dist/utils/publishable-key.cjs +62 -1
- package/dist/utils/publishable-key.cjs.map +1 -1
- package/dist/utils/publishable-key.js +52 -27
- package/dist/utils/publishable-key.js.map +1 -1
- package/package.json +41 -42
- package/dist/components.cjs +0 -2
- package/dist/components.cjs.map +0 -1
- package/dist/components.js +0 -13
- package/dist/components.js.map +0 -1
- package/dist/hooks.cjs +0 -2
- package/dist/hooks.cjs.map +0 -1
- package/dist/hooks.js +0 -14
- package/dist/hooks.js.map +0 -1
- package/dist/providers.cjs +0 -2
- package/dist/providers.cjs.map +0 -1
- package/dist/providers.js +0 -13
- package/dist/providers.js.map +0 -1
- package/dist/tailwind.plugin.cjs +0 -2
- package/dist/tailwind.plugin.cjs.map +0 -1
- package/dist/tailwind.plugin.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-button.js","sources":["../../../src/components/user-button/user-button.tsx"],"sourcesContent":["import React from 'react';\nimport { Avatar, AvatarFallback } from '@/components/ui/avatar';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from '@/components/ui/dropdown-menu';\nimport { cn } from '@/lib/utils';\nimport { LogOut, Settings } from 'lucide-react';\n\nimport { useAuth, useUser } from '../../hooks/use-auth';\nimport type { BlimuComponentProps } from '../../types';\nimport {\n userButtonTriggerVariants,\n userButtonContentVariants,\n type UserButtonTriggerVariants,\n} from './styles';\n\nexport interface UserButtonProps extends BlimuComponentProps, UserButtonTriggerVariants {\n /** Callback when user clicks \"Manage account\" */\n onManageAccount?: () => void;\n /** Show user name in trigger button */\n showNameInTrigger?: boolean;\n /** Show user email in trigger button */\n showEmailInTrigger?: boolean;\n /** Avatar position when text is shown in trigger */\n avatarPos?: 'start' | 'end';\n}\n\nexport function UserButton({\n className,\n classes,\n onManageAccount,\n variant,\n size,\n showNameInTrigger = false,\n showEmailInTrigger = false,\n avatarPos = 'start',\n}: UserButtonProps = {}) {\n const { logout } = useAuth();\n const { user } = useUser();\n\n const displayName =\n user?.firstName && user?.lastName\n ? `${user.firstName} ${user.lastName}`\n : user?.firstName || user?.email?.split('@')[0] || 'User';\n\n const initials =\n displayName\n ?.split(' ')\n .map((n) => n[0])\n .join('')\n .toUpperCase()\n .slice(0, 2) || 'U';\n\n if (!user) {\n return null;\n }\n\n const showText = showNameInTrigger || showEmailInTrigger;\n\n const avatarElement = (\n <Avatar className={cn('w-8 h-8', classes?.avatar)}>\n <AvatarFallback\n className={cn(\n 'bg-blimu-muted text-blimu-muted-foreground text-sm font-medium',\n classes?.avatarFallback,\n )}\n >\n {initials}\n </AvatarFallback>\n </Avatar>\n );\n\n const textElement = showText && (\n <div className={cn('flex flex-col items-start', classes?.userInfo)}>\n {showNameInTrigger && (\n <span className={cn('text-sm leading-tight font-medium', classes?.userName)}>\n {displayName}\n </span>\n )}\n {showEmailInTrigger && (\n <span className={cn('text-xs leading-tight opacity-70', classes?.userEmail)}>\n {user.email}\n </span>\n )}\n </div>\n );\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <button\n className={cn(\n userButtonTriggerVariants({ variant, size }),\n 'flex items-center gap-2',\n className,\n classes?.trigger,\n )}\n >\n {avatarPos === 'start' ? (\n <>\n {avatarElement}\n {textElement}\n </>\n ) : (\n <>\n {textElement}\n {avatarElement}\n </>\n )}\n </button>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n className={cn(userButtonContentVariants(), 'w-64 p-0', classes?.popover)}\n align=\"end\"\n sideOffset={8}\n >\n <DropdownMenuLabel className=\"p-0 \">\n <div className=\"flex items-center gap-3 p-4\">\n <Avatar className=\"size-10\">\n <AvatarFallback className=\"bg-blimu-primary text-blimu-primary-foreground text-base font-medium\">\n {initials}\n </AvatarFallback>\n </Avatar>\n {displayName && (\n <div className=\"flex flex-col\">\n <span className=\"text-sm font-medium text-blimu-foreground\">{displayName}</span>\n <span className=\"text-xs text-blimu-muted-foreground\">{user.email}</span>\n </div>\n )}\n </div>\n </DropdownMenuLabel>\n\n <DropdownMenuSeparator className=\"m-0\" />\n <div className=\"py-1.5 space-y-2\">\n {/* <DropdownMenuItem\n onClick={onManageAccount}\n className={cn(\n 'flex items-center gap-3 text-sm cursor-pointer',\n classes?.manageAccountButton,\n )}\n >\n <Settings className=\"size-4 text-blimu-muted-foreground\" />\n <span>Manage account</span>\n </DropdownMenuItem> */}\n\n <DropdownMenuItem\n onClick={logout}\n className={cn('flex items-center gap-3 text-sm cursor-pointer', classes?.signOutButton)}\n >\n <LogOut className=\"w-4 h-4 text-blimu-muted-foreground\" />\n <span>Sign out</span>\n </DropdownMenuItem>\n </div>\n\n <DropdownMenuSeparator className=\"m-0\" />\n\n <div className=\"p-4 bg-blimu-muted/50\">\n <div className=\"flex justify-center items-center gap-2 text-xs text-blimu-muted-foreground\">\n <span>Secured by</span>\n <span className=\"font-semibold text-blimu-foreground\">Blimu</span>\n </div>\n </div>\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n"],"names":[
|
|
1
|
+
{"version":3,"file":"user-button.js","sources":["../../../src/components/user-button/user-button.tsx"],"sourcesContent":["import React from 'react';\nimport { Avatar, AvatarFallback } from '@/components/ui/avatar';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from '@/components/ui/dropdown-menu';\nimport { cn } from '@/lib/utils';\nimport { LogOut, Settings } from 'lucide-react';\n\nimport { useAuth, useUser } from '../../hooks/use-auth';\nimport type { BlimuComponentProps } from '../../types';\nimport {\n userButtonTriggerVariants,\n userButtonContentVariants,\n type UserButtonTriggerVariants,\n} from './styles';\n\nexport interface UserButtonProps extends BlimuComponentProps, UserButtonTriggerVariants {\n /** Callback when user clicks \"Manage account\" */\n onManageAccount?: () => void;\n /** Show user name in trigger button */\n showNameInTrigger?: boolean;\n /** Show user email in trigger button */\n showEmailInTrigger?: boolean;\n /** Avatar position when text is shown in trigger */\n avatarPos?: 'start' | 'end';\n}\n\nexport function UserButton({\n className,\n classes,\n onManageAccount,\n variant,\n size,\n showNameInTrigger = false,\n showEmailInTrigger = false,\n avatarPos = 'start',\n}: UserButtonProps = {}) {\n const { logout } = useAuth();\n const { user } = useUser();\n\n const displayName =\n user?.firstName && user?.lastName\n ? `${user.firstName} ${user.lastName}`\n : user?.firstName || user?.email?.split('@')[0] || 'User';\n\n const initials =\n displayName\n ?.split(' ')\n .map((n) => n[0])\n .join('')\n .toUpperCase()\n .slice(0, 2) || 'U';\n\n if (!user) {\n return null;\n }\n\n const showText = showNameInTrigger || showEmailInTrigger;\n\n const avatarElement = (\n <Avatar className={cn('w-8 h-8', classes?.avatar)}>\n <AvatarFallback\n className={cn(\n 'bg-blimu-muted text-blimu-muted-foreground text-sm font-medium',\n classes?.avatarFallback,\n )}\n >\n {initials}\n </AvatarFallback>\n </Avatar>\n );\n\n const textElement = showText && (\n <div className={cn('flex flex-col items-start', classes?.userInfo)}>\n {showNameInTrigger && (\n <span className={cn('text-sm leading-tight font-medium', classes?.userName)}>\n {displayName}\n </span>\n )}\n {showEmailInTrigger && (\n <span className={cn('text-xs leading-tight opacity-70', classes?.userEmail)}>\n {user.email}\n </span>\n )}\n </div>\n );\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <button\n className={cn(\n userButtonTriggerVariants({ variant, size }),\n 'flex items-center gap-2',\n className,\n classes?.trigger,\n )}\n >\n {avatarPos === 'start' ? (\n <>\n {avatarElement}\n {textElement}\n </>\n ) : (\n <>\n {textElement}\n {avatarElement}\n </>\n )}\n </button>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n className={cn(userButtonContentVariants(), 'w-64 p-0', classes?.popover)}\n align=\"end\"\n sideOffset={8}\n >\n <DropdownMenuLabel className=\"p-0 \">\n <div className=\"flex items-center gap-3 p-4\">\n <Avatar className=\"size-10\">\n <AvatarFallback className=\"bg-blimu-primary text-blimu-primary-foreground text-base font-medium\">\n {initials}\n </AvatarFallback>\n </Avatar>\n {displayName && (\n <div className=\"flex flex-col\">\n <span className=\"text-sm font-medium text-blimu-foreground\">{displayName}</span>\n <span className=\"text-xs text-blimu-muted-foreground\">{user.email}</span>\n </div>\n )}\n </div>\n </DropdownMenuLabel>\n\n <DropdownMenuSeparator className=\"m-0\" />\n <div className=\"py-1.5 space-y-2\">\n {/* <DropdownMenuItem\n onClick={onManageAccount}\n className={cn(\n 'flex items-center gap-3 text-sm cursor-pointer',\n classes?.manageAccountButton,\n )}\n >\n <Settings className=\"size-4 text-blimu-muted-foreground\" />\n <span>Manage account</span>\n </DropdownMenuItem> */}\n\n <DropdownMenuItem\n onClick={logout}\n className={cn('flex items-center gap-3 text-sm cursor-pointer', classes?.signOutButton)}\n >\n <LogOut className=\"w-4 h-4 text-blimu-muted-foreground\" />\n <span>Sign out</span>\n </DropdownMenuItem>\n </div>\n\n <DropdownMenuSeparator className=\"m-0\" />\n\n <div className=\"p-4 bg-blimu-muted/50\">\n <div className=\"flex justify-center items-center gap-2 text-xs text-blimu-muted-foreground\">\n <span>Secured by</span>\n <span className=\"font-semibold text-blimu-foreground\">Blimu</span>\n </div>\n </div>\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n"],"names":[],"mappings":";;;;;;;;AAgCO,SAAS,WAAW;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,oBAAoB;AAAA,EACpB,qBAAqB;AAAA,EACrB,YAAY;AACd,IAAqB,IAAI;AACvB,QAAM,EAAE,OAAA,IAAW,QAAA;AACnB,QAAM,EAAE,KAAA,IAAS,QAAA;AAEjB,QAAM,cACJ,MAAM,aAAa,MAAM,WACrB,GAAG,KAAK,SAAS,IAAI,KAAK,QAAQ,KAClC,MAAM,aAAa,MAAM,OAAO,MAAM,GAAG,EAAE,CAAC,KAAK;AAEvD,QAAM,WACJ,aACI,MAAM,GAAG,EACV,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,EACf,KAAK,EAAE,EACP,YAAA,EACA,MAAM,GAAG,CAAC,KAAK;AAEpB,MAAI,CAAC,MAAM;AACT,WAAO;AAAA,EACT;AAEA,QAAM,WAAW,qBAAqB;AAEtC,QAAM,oCACH,QAAA,EAAO,WAAW,GAAG,WAAW,SAAS,MAAM,GAC9C,UAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA,SAAS;AAAA,MAAA;AAAA,MAGV,UAAA;AAAA,IAAA;AAAA,EAAA,GAEL;AAGF,QAAM,cAAc,YAClB,qBAAC,OAAA,EAAI,WAAW,GAAG,6BAA6B,SAAS,QAAQ,GAC9D,UAAA;AAAA,IAAA,qBACC,oBAAC,UAAK,WAAW,GAAG,qCAAqC,SAAS,QAAQ,GACvE,UAAA,YAAA,CACH;AAAA,IAED,sBACC,oBAAC,QAAA,EAAK,WAAW,GAAG,oCAAoC,SAAS,SAAS,GACvE,UAAA,KAAK,MAAA,CACR;AAAA,EAAA,GAEJ;AAGF,8BACG,cAAA,EACC,UAAA;AAAA,IAAA,oBAAC,qBAAA,EAAoB,SAAO,MAC1B,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW;AAAA,UACT,0BAA0B,EAAE,SAAS,MAAM;AAAA,UAC3C;AAAA,UACA;AAAA,UACA,SAAS;AAAA,QAAA;AAAA,QAGV,UAAA,cAAc,UACb,qBAAA,UAAA,EACG,UAAA;AAAA,UAAA;AAAA,UACA;AAAA,QAAA,EAAA,CACH,IAEA,qBAAA,UAAA,EACG,UAAA;AAAA,UAAA;AAAA,UACA;AAAA,QAAA,EAAA,CACH;AAAA,MAAA;AAAA,IAAA,GAGN;AAAA,IACA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW,GAAG,0BAAA,GAA6B,YAAY,SAAS,OAAO;AAAA,QACvE,OAAM;AAAA,QACN,YAAY;AAAA,QAEZ,UAAA;AAAA,UAAA,oBAAC,qBAAkB,WAAU,QAC3B,UAAA,qBAAC,OAAA,EAAI,WAAU,+BACb,UAAA;AAAA,YAAA,oBAAC,QAAA,EAAO,WAAU,WAChB,UAAA,oBAAC,kBAAe,WAAU,wEACvB,oBACH,EAAA,CACF;AAAA,YACC,eACC,qBAAC,OAAA,EAAI,WAAU,iBACb,UAAA;AAAA,cAAA,oBAAC,QAAA,EAAK,WAAU,6CAA6C,UAAA,aAAY;AAAA,cACzE,oBAAC,QAAA,EAAK,WAAU,uCAAuC,eAAK,MAAA,CAAM;AAAA,YAAA,EAAA,CACpE;AAAA,UAAA,EAAA,CAEJ,EAAA,CACF;AAAA,UAEA,oBAAC,uBAAA,EAAsB,WAAU,MAAA,CAAM;AAAA,UACvC,oBAAC,OAAA,EAAI,WAAU,oBAYb,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,SAAS;AAAA,cACT,WAAW,GAAG,kDAAkD,SAAS,aAAa;AAAA,cAEtF,UAAA;AAAA,gBAAA,oBAAC,QAAA,EAAO,WAAU,sCAAA,CAAsC;AAAA,gBACxD,oBAAC,UAAK,UAAA,WAAA,CAAQ;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA,GAElB;AAAA,UAEA,oBAAC,uBAAA,EAAsB,WAAU,MAAA,CAAM;AAAA,8BAEtC,OAAA,EAAI,WAAU,yBACb,UAAA,qBAAC,OAAA,EAAI,WAAU,8EACb,UAAA;AAAA,YAAA,oBAAC,UAAK,UAAA,aAAA,CAAU;AAAA,YAChB,oBAAC,QAAA,EAAK,WAAU,uCAAsC,UAAA,QAAA,CAAK;AAAA,UAAA,EAAA,CAC7D,EAAA,CACF;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GACF;AAEJ;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const blimu_hook = require("../providers/blimu/blimu.hook.cjs");
|
|
4
|
+
const useAuth = require("./use-auth.cjs");
|
|
5
|
+
const useClient = require("./use-client.cjs");
|
|
6
|
+
const useStore = require("./use-store.cjs");
|
|
7
|
+
const useMembers = require("./use-members.cjs");
|
|
8
|
+
exports.useBlimu = blimu_hook.useBlimu;
|
|
9
|
+
exports.useAuth = useAuth.useAuth;
|
|
10
|
+
exports.useUser = useAuth.useUser;
|
|
11
|
+
exports.useClient = useClient.useClient;
|
|
12
|
+
exports.useStore = useStore.useStore;
|
|
13
|
+
exports.useMembers = useMembers.useMembers;
|
|
14
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { useBlimu } from '../providers/blimu/blimu.hook';
|
|
2
2
|
export { useAuth, useUser } from './use-auth';
|
|
3
|
+
export type { UseAuthReturn } from './use-auth';
|
|
3
4
|
export { useClient } from './use-client';
|
|
4
5
|
export { useStore } from './use-store';
|
|
5
6
|
export { useMembers } from './use-members';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC9C,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { useBlimu } from "../providers/blimu/blimu.hook.js";
|
|
2
|
+
import { useAuth, useUser } from "./use-auth.js";
|
|
3
|
+
import { useClient } from "./use-client.js";
|
|
4
|
+
import { useStore } from "./use-store.js";
|
|
5
|
+
import { useMembers } from "./use-members.js";
|
|
6
|
+
export {
|
|
7
|
+
useAuth,
|
|
8
|
+
useBlimu,
|
|
9
|
+
useClient,
|
|
10
|
+
useMembers,
|
|
11
|
+
useStore,
|
|
12
|
+
useUser
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
|
package/dist/hooks/use-auth.cjs
CHANGED
|
@@ -1,2 +1,45 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const React = require("react");
|
|
4
|
+
const auth_hook = require("../providers/auth/auth.hook.cjs");
|
|
5
|
+
const types_index = require("../types/index.cjs");
|
|
6
|
+
function useAuth() {
|
|
7
|
+
const context = auth_hook.useAuthContext();
|
|
8
|
+
const { state } = context;
|
|
9
|
+
const booleanState = React.useMemo(
|
|
10
|
+
() => ({
|
|
11
|
+
isIdle: types_index.AuthStateGuards.isIdle(state),
|
|
12
|
+
isLoading: types_index.AuthStateGuards.isLoading(state),
|
|
13
|
+
isAuthenticated: types_index.AuthStateGuards.isAuthenticated(state),
|
|
14
|
+
isUnauthenticated: types_index.AuthStateGuards.isUnauthenticated(state),
|
|
15
|
+
isReady: types_index.AuthStateGuards.isReady(state),
|
|
16
|
+
isError: types_index.AuthStateGuards.isError(state)
|
|
17
|
+
}),
|
|
18
|
+
[state]
|
|
19
|
+
);
|
|
20
|
+
return {
|
|
21
|
+
...context,
|
|
22
|
+
...booleanState
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
function useUser() {
|
|
26
|
+
const { state } = auth_hook.useAuthContext();
|
|
27
|
+
const user = types_index.AuthStateGuards.isAuthenticated(state) ? state.user : null;
|
|
28
|
+
const booleanState = React.useMemo(
|
|
29
|
+
() => ({
|
|
30
|
+
isIdle: types_index.AuthStateGuards.isIdle(state),
|
|
31
|
+
isLoading: types_index.AuthStateGuards.isLoading(state),
|
|
32
|
+
isAuthenticated: types_index.AuthStateGuards.isAuthenticated(state),
|
|
33
|
+
isUnauthenticated: types_index.AuthStateGuards.isUnauthenticated(state),
|
|
34
|
+
isError: types_index.AuthStateGuards.isError(state)
|
|
35
|
+
}),
|
|
36
|
+
[state]
|
|
37
|
+
);
|
|
38
|
+
return {
|
|
39
|
+
user,
|
|
40
|
+
...booleanState
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
exports.useAuth = useAuth;
|
|
44
|
+
exports.useUser = useUser;
|
|
2
45
|
//# sourceMappingURL=use-auth.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-auth.cjs","sources":["../../src/hooks/use-auth.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport { useAuthContext } from '../providers/auth/auth.hook';\nimport { AuthStateGuards } from '../types';\n\n/**\n * Hook for accessing authentication state and actions\n *\n * Provides a type-safe interface to authentication state with discriminated union states\n * and convenient boolean properties for common checks.\n *\n * @example Using boolean properties\n * ```tsx\n * function MyComponent() {\n * const { isAuthenticated, isLoading, login, logout } = useAuth();\n *\n * if (isLoading) {\n * return <Spinner />;\n * }\n *\n * if (isAuthenticated) {\n * return (\n * <div>\n * <p>Welcome!</p>\n * <button onClick={logout}>Logout</button>\n * </div>\n * );\n * }\n *\n * return <LoginForm onLogin={login} />;\n * }\n * ```\n *\n * @example Using discriminated union state for advanced cases\n * ```tsx\n * function AuthStatus() {\n * const { state, isError } = useAuth();\n *\n * if (isError && state.status === 'error') {\n * return <div>Error: {state.error}</div>;\n * }\n *\n * return <div>Status: {state.status}</div>;\n * }\n * ```\n */\nexport function useAuth() {\n const context = useAuthContext();\n const { state } = context;\n\n const booleanState = useMemo(\n () => ({\n isIdle: AuthStateGuards.isIdle(state),\n isLoading: AuthStateGuards.isLoading(state),\n isAuthenticated: AuthStateGuards.isAuthenticated(state),\n isUnauthenticated: AuthStateGuards.isUnauthenticated(state),\n isReady: AuthStateGuards.isReady(state),\n isError: AuthStateGuards.isError(state),\n }),\n [state],\n );\n\n return {\n ...context,\n ...booleanState,\n };\n}\n\n/**\n * Hook for getting current user information with auth state\n *\n * Returns the user object if authenticated (null otherwise) along with boolean state properties.\n *\n * @example\n * ```tsx\n * function UserProfile() {\n * const { user, isAuthenticated, isLoading } = useUser();\n *\n * if (isLoading) {\n * return <Spinner />;\n * }\n *\n * if (!isAuthenticated || !user) {\n * return <div>Not authenticated</div>;\n * }\n *\n * return (\n * <div>\n * <h1>{user.firstName} {user.lastName}</h1>\n * <p>{user.email}</p>\n * </div>\n * );\n * }\n * ```\n */\nexport function useUser() {\n const { state } = useAuthContext();\n\n const user = AuthStateGuards.isAuthenticated(state) ? state.user : null;\n\n const booleanState = useMemo(\n () => ({\n isIdle: AuthStateGuards.isIdle(state),\n isLoading: AuthStateGuards.isLoading(state),\n isAuthenticated: AuthStateGuards.isAuthenticated(state),\n isUnauthenticated: AuthStateGuards.isUnauthenticated(state),\n isError: AuthStateGuards.isError(state),\n }),\n [state],\n );\n\n return {\n user,\n ...booleanState,\n };\n}\n"],"names":["
|
|
1
|
+
{"version":3,"file":"use-auth.cjs","sources":["../../src/hooks/use-auth.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport { useAuthContext } from '../providers/auth/auth.hook';\nimport { AuthStateGuards, type AuthContextValue } from '../types';\n\n/**\n * Return type for useAuth hook\n */\nexport type UseAuthReturn = AuthContextValue & {\n isIdle: boolean;\n isLoading: boolean;\n isAuthenticated: boolean;\n isUnauthenticated: boolean;\n isReady: boolean;\n isError: boolean;\n};\n\n/**\n * Hook for accessing authentication state and actions\n *\n * Provides a type-safe interface to authentication state with discriminated union states\n * and convenient boolean properties for common checks.\n *\n * @example Using boolean properties\n * ```tsx\n * function MyComponent() {\n * const { isAuthenticated, isLoading, login, logout } = useAuth();\n *\n * if (isLoading) {\n * return <Spinner />;\n * }\n *\n * if (isAuthenticated) {\n * return (\n * <div>\n * <p>Welcome!</p>\n * <button onClick={logout}>Logout</button>\n * </div>\n * );\n * }\n *\n * return <LoginForm onLogin={login} />;\n * }\n * ```\n *\n * @example Using discriminated union state for advanced cases\n * ```tsx\n * function AuthStatus() {\n * const { state, isError } = useAuth();\n *\n * if (isError && state.status === 'error') {\n * return <div>Error: {state.error}</div>;\n * }\n *\n * return <div>Status: {state.status}</div>;\n * }\n * ```\n */\nexport function useAuth(): UseAuthReturn {\n const context = useAuthContext();\n const { state } = context;\n\n const booleanState = useMemo(\n () => ({\n isIdle: AuthStateGuards.isIdle(state),\n isLoading: AuthStateGuards.isLoading(state),\n isAuthenticated: AuthStateGuards.isAuthenticated(state),\n isUnauthenticated: AuthStateGuards.isUnauthenticated(state),\n isReady: AuthStateGuards.isReady(state),\n isError: AuthStateGuards.isError(state),\n }),\n [state],\n );\n\n return {\n ...context,\n ...booleanState,\n };\n}\n\n/**\n * Hook for getting current user information with auth state\n *\n * Returns the user object if authenticated (null otherwise) along with boolean state properties.\n *\n * @example\n * ```tsx\n * function UserProfile() {\n * const { user, isAuthenticated, isLoading } = useUser();\n *\n * if (isLoading) {\n * return <Spinner />;\n * }\n *\n * if (!isAuthenticated || !user) {\n * return <div>Not authenticated</div>;\n * }\n *\n * return (\n * <div>\n * <h1>{user.firstName} {user.lastName}</h1>\n * <p>{user.email}</p>\n * </div>\n * );\n * }\n * ```\n */\nexport function useUser() {\n const { state } = useAuthContext();\n\n const user = AuthStateGuards.isAuthenticated(state) ? state.user : null;\n\n const booleanState = useMemo(\n () => ({\n isIdle: AuthStateGuards.isIdle(state),\n isLoading: AuthStateGuards.isLoading(state),\n isAuthenticated: AuthStateGuards.isAuthenticated(state),\n isUnauthenticated: AuthStateGuards.isUnauthenticated(state),\n isError: AuthStateGuards.isError(state),\n }),\n [state],\n );\n\n return {\n user,\n ...booleanState,\n };\n}\n"],"names":["useAuthContext","useMemo","AuthStateGuards"],"mappings":";;;;;AA0DO,SAAS,UAAyB;AACvC,QAAM,UAAUA,UAAAA,eAAA;AAChB,QAAM,EAAE,UAAU;AAElB,QAAM,eAAeC,MAAAA;AAAAA,IACnB,OAAO;AAAA,MACL,QAAQC,YAAAA,gBAAgB,OAAO,KAAK;AAAA,MACpC,WAAWA,YAAAA,gBAAgB,UAAU,KAAK;AAAA,MAC1C,iBAAiBA,YAAAA,gBAAgB,gBAAgB,KAAK;AAAA,MACtD,mBAAmBA,YAAAA,gBAAgB,kBAAkB,KAAK;AAAA,MAC1D,SAASA,YAAAA,gBAAgB,QAAQ,KAAK;AAAA,MACtC,SAASA,YAAAA,gBAAgB,QAAQ,KAAK;AAAA,IAAA;AAAA,IAExC,CAAC,KAAK;AAAA,EAAA;AAGR,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,EAAA;AAEP;AA6BO,SAAS,UAAU;AACxB,QAAM,EAAE,MAAA,IAAUF,yBAAA;AAElB,QAAM,OAAOE,YAAAA,gBAAgB,gBAAgB,KAAK,IAAI,MAAM,OAAO;AAEnE,QAAM,eAAeD,MAAAA;AAAAA,IACnB,OAAO;AAAA,MACL,QAAQC,YAAAA,gBAAgB,OAAO,KAAK;AAAA,MACpC,WAAWA,YAAAA,gBAAgB,UAAU,KAAK;AAAA,MAC1C,iBAAiBA,YAAAA,gBAAgB,gBAAgB,KAAK;AAAA,MACtD,mBAAmBA,YAAAA,gBAAgB,kBAAkB,KAAK;AAAA,MAC1D,SAASA,YAAAA,gBAAgB,QAAQ,KAAK;AAAA,IAAA;AAAA,IAExC,CAAC,KAAK;AAAA,EAAA;AAGR,SAAO;AAAA,IACL;AAAA,IACA,GAAG;AAAA,EAAA;AAEP;;;"}
|
package/dist/hooks/use-auth.d.ts
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
import { type AuthContextValue } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Return type for useAuth hook
|
|
4
|
+
*/
|
|
5
|
+
export type UseAuthReturn = AuthContextValue & {
|
|
6
|
+
isIdle: boolean;
|
|
7
|
+
isLoading: boolean;
|
|
8
|
+
isAuthenticated: boolean;
|
|
9
|
+
isUnauthenticated: boolean;
|
|
10
|
+
isReady: boolean;
|
|
11
|
+
isError: boolean;
|
|
12
|
+
};
|
|
1
13
|
/**
|
|
2
14
|
* Hook for accessing authentication state and actions
|
|
3
15
|
*
|
|
@@ -39,21 +51,7 @@
|
|
|
39
51
|
* }
|
|
40
52
|
* ```
|
|
41
53
|
*/
|
|
42
|
-
export declare function useAuth():
|
|
43
|
-
isIdle: boolean;
|
|
44
|
-
isLoading: boolean;
|
|
45
|
-
isAuthenticated: boolean;
|
|
46
|
-
isUnauthenticated: boolean;
|
|
47
|
-
isReady: boolean;
|
|
48
|
-
isError: boolean;
|
|
49
|
-
state: import("..").AuthState;
|
|
50
|
-
login: (returnUrl?: string) => void;
|
|
51
|
-
logout: () => Promise<void>;
|
|
52
|
-
getToken: (options: {
|
|
53
|
-
template: "web";
|
|
54
|
-
}) => Promise<string | null>;
|
|
55
|
-
getAuthState: () => import("..").AuthState;
|
|
56
|
-
};
|
|
54
|
+
export declare function useAuth(): UseAuthReturn;
|
|
57
55
|
/**
|
|
58
56
|
* Hook for getting current user information with auth state
|
|
59
57
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-auth.d.ts","sourceRoot":"","sources":["../../src/hooks/use-auth.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-auth.d.ts","sourceRoot":"","sources":["../../src/hooks/use-auth.ts"],"names":[],"mappings":"AAGA,OAAO,EAAmB,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,gBAAgB,GAAG;IAC7C,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;IACzB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,OAAO,IAAI,aAAa,CAoBvC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,OAAO;;;;;;;EAoBtB"}
|
package/dist/hooks/use-auth.js
CHANGED
|
@@ -1,41 +1,45 @@
|
|
|
1
|
-
import { useMemo
|
|
2
|
-
import { useAuthContext
|
|
3
|
-
import { AuthStateGuards
|
|
4
|
-
function
|
|
5
|
-
const
|
|
1
|
+
import { useMemo } from "react";
|
|
2
|
+
import { useAuthContext } from "../providers/auth/auth.hook.js";
|
|
3
|
+
import { AuthStateGuards } from "../types/index.js";
|
|
4
|
+
function useAuth() {
|
|
5
|
+
const context = useAuthContext();
|
|
6
|
+
const { state } = context;
|
|
7
|
+
const booleanState = useMemo(
|
|
6
8
|
() => ({
|
|
7
|
-
isIdle:
|
|
8
|
-
isLoading:
|
|
9
|
-
isAuthenticated:
|
|
10
|
-
isUnauthenticated:
|
|
11
|
-
isReady:
|
|
12
|
-
isError:
|
|
9
|
+
isIdle: AuthStateGuards.isIdle(state),
|
|
10
|
+
isLoading: AuthStateGuards.isLoading(state),
|
|
11
|
+
isAuthenticated: AuthStateGuards.isAuthenticated(state),
|
|
12
|
+
isUnauthenticated: AuthStateGuards.isUnauthenticated(state),
|
|
13
|
+
isReady: AuthStateGuards.isReady(state),
|
|
14
|
+
isError: AuthStateGuards.isError(state)
|
|
13
15
|
}),
|
|
14
|
-
[
|
|
16
|
+
[state]
|
|
15
17
|
);
|
|
16
18
|
return {
|
|
17
|
-
...
|
|
18
|
-
...
|
|
19
|
+
...context,
|
|
20
|
+
...booleanState
|
|
19
21
|
};
|
|
20
22
|
}
|
|
21
|
-
function
|
|
22
|
-
const { state
|
|
23
|
+
function useUser() {
|
|
24
|
+
const { state } = useAuthContext();
|
|
25
|
+
const user = AuthStateGuards.isAuthenticated(state) ? state.user : null;
|
|
26
|
+
const booleanState = useMemo(
|
|
23
27
|
() => ({
|
|
24
|
-
isIdle:
|
|
25
|
-
isLoading:
|
|
26
|
-
isAuthenticated:
|
|
27
|
-
isUnauthenticated:
|
|
28
|
-
isError:
|
|
28
|
+
isIdle: AuthStateGuards.isIdle(state),
|
|
29
|
+
isLoading: AuthStateGuards.isLoading(state),
|
|
30
|
+
isAuthenticated: AuthStateGuards.isAuthenticated(state),
|
|
31
|
+
isUnauthenticated: AuthStateGuards.isUnauthenticated(state),
|
|
32
|
+
isError: AuthStateGuards.isError(state)
|
|
29
33
|
}),
|
|
30
|
-
[
|
|
34
|
+
[state]
|
|
31
35
|
);
|
|
32
36
|
return {
|
|
33
|
-
user
|
|
34
|
-
...
|
|
37
|
+
user,
|
|
38
|
+
...booleanState
|
|
35
39
|
};
|
|
36
40
|
}
|
|
37
41
|
export {
|
|
38
|
-
|
|
39
|
-
|
|
42
|
+
useAuth,
|
|
43
|
+
useUser
|
|
40
44
|
};
|
|
41
45
|
//# sourceMappingURL=use-auth.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-auth.js","sources":["../../src/hooks/use-auth.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport { useAuthContext } from '../providers/auth/auth.hook';\nimport { AuthStateGuards } from '../types';\n\n/**\n * Hook for accessing authentication state and actions\n *\n * Provides a type-safe interface to authentication state with discriminated union states\n * and convenient boolean properties for common checks.\n *\n * @example Using boolean properties\n * ```tsx\n * function MyComponent() {\n * const { isAuthenticated, isLoading, login, logout } = useAuth();\n *\n * if (isLoading) {\n * return <Spinner />;\n * }\n *\n * if (isAuthenticated) {\n * return (\n * <div>\n * <p>Welcome!</p>\n * <button onClick={logout}>Logout</button>\n * </div>\n * );\n * }\n *\n * return <LoginForm onLogin={login} />;\n * }\n * ```\n *\n * @example Using discriminated union state for advanced cases\n * ```tsx\n * function AuthStatus() {\n * const { state, isError } = useAuth();\n *\n * if (isError && state.status === 'error') {\n * return <div>Error: {state.error}</div>;\n * }\n *\n * return <div>Status: {state.status}</div>;\n * }\n * ```\n */\nexport function useAuth() {\n const context = useAuthContext();\n const { state } = context;\n\n const booleanState = useMemo(\n () => ({\n isIdle: AuthStateGuards.isIdle(state),\n isLoading: AuthStateGuards.isLoading(state),\n isAuthenticated: AuthStateGuards.isAuthenticated(state),\n isUnauthenticated: AuthStateGuards.isUnauthenticated(state),\n isReady: AuthStateGuards.isReady(state),\n isError: AuthStateGuards.isError(state),\n }),\n [state],\n );\n\n return {\n ...context,\n ...booleanState,\n };\n}\n\n/**\n * Hook for getting current user information with auth state\n *\n * Returns the user object if authenticated (null otherwise) along with boolean state properties.\n *\n * @example\n * ```tsx\n * function UserProfile() {\n * const { user, isAuthenticated, isLoading } = useUser();\n *\n * if (isLoading) {\n * return <Spinner />;\n * }\n *\n * if (!isAuthenticated || !user) {\n * return <div>Not authenticated</div>;\n * }\n *\n * return (\n * <div>\n * <h1>{user.firstName} {user.lastName}</h1>\n * <p>{user.email}</p>\n * </div>\n * );\n * }\n * ```\n */\nexport function useUser() {\n const { state } = useAuthContext();\n\n const user = AuthStateGuards.isAuthenticated(state) ? state.user : null;\n\n const booleanState = useMemo(\n () => ({\n isIdle: AuthStateGuards.isIdle(state),\n isLoading: AuthStateGuards.isLoading(state),\n isAuthenticated: AuthStateGuards.isAuthenticated(state),\n isUnauthenticated: AuthStateGuards.isUnauthenticated(state),\n isError: AuthStateGuards.isError(state),\n }),\n [state],\n );\n\n return {\n user,\n ...booleanState,\n };\n}\n"],"names":[
|
|
1
|
+
{"version":3,"file":"use-auth.js","sources":["../../src/hooks/use-auth.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport { useAuthContext } from '../providers/auth/auth.hook';\nimport { AuthStateGuards, type AuthContextValue } from '../types';\n\n/**\n * Return type for useAuth hook\n */\nexport type UseAuthReturn = AuthContextValue & {\n isIdle: boolean;\n isLoading: boolean;\n isAuthenticated: boolean;\n isUnauthenticated: boolean;\n isReady: boolean;\n isError: boolean;\n};\n\n/**\n * Hook for accessing authentication state and actions\n *\n * Provides a type-safe interface to authentication state with discriminated union states\n * and convenient boolean properties for common checks.\n *\n * @example Using boolean properties\n * ```tsx\n * function MyComponent() {\n * const { isAuthenticated, isLoading, login, logout } = useAuth();\n *\n * if (isLoading) {\n * return <Spinner />;\n * }\n *\n * if (isAuthenticated) {\n * return (\n * <div>\n * <p>Welcome!</p>\n * <button onClick={logout}>Logout</button>\n * </div>\n * );\n * }\n *\n * return <LoginForm onLogin={login} />;\n * }\n * ```\n *\n * @example Using discriminated union state for advanced cases\n * ```tsx\n * function AuthStatus() {\n * const { state, isError } = useAuth();\n *\n * if (isError && state.status === 'error') {\n * return <div>Error: {state.error}</div>;\n * }\n *\n * return <div>Status: {state.status}</div>;\n * }\n * ```\n */\nexport function useAuth(): UseAuthReturn {\n const context = useAuthContext();\n const { state } = context;\n\n const booleanState = useMemo(\n () => ({\n isIdle: AuthStateGuards.isIdle(state),\n isLoading: AuthStateGuards.isLoading(state),\n isAuthenticated: AuthStateGuards.isAuthenticated(state),\n isUnauthenticated: AuthStateGuards.isUnauthenticated(state),\n isReady: AuthStateGuards.isReady(state),\n isError: AuthStateGuards.isError(state),\n }),\n [state],\n );\n\n return {\n ...context,\n ...booleanState,\n };\n}\n\n/**\n * Hook for getting current user information with auth state\n *\n * Returns the user object if authenticated (null otherwise) along with boolean state properties.\n *\n * @example\n * ```tsx\n * function UserProfile() {\n * const { user, isAuthenticated, isLoading } = useUser();\n *\n * if (isLoading) {\n * return <Spinner />;\n * }\n *\n * if (!isAuthenticated || !user) {\n * return <div>Not authenticated</div>;\n * }\n *\n * return (\n * <div>\n * <h1>{user.firstName} {user.lastName}</h1>\n * <p>{user.email}</p>\n * </div>\n * );\n * }\n * ```\n */\nexport function useUser() {\n const { state } = useAuthContext();\n\n const user = AuthStateGuards.isAuthenticated(state) ? state.user : null;\n\n const booleanState = useMemo(\n () => ({\n isIdle: AuthStateGuards.isIdle(state),\n isLoading: AuthStateGuards.isLoading(state),\n isAuthenticated: AuthStateGuards.isAuthenticated(state),\n isUnauthenticated: AuthStateGuards.isUnauthenticated(state),\n isError: AuthStateGuards.isError(state),\n }),\n [state],\n );\n\n return {\n user,\n ...booleanState,\n };\n}\n"],"names":[],"mappings":";;;AA0DO,SAAS,UAAyB;AACvC,QAAM,UAAU,eAAA;AAChB,QAAM,EAAE,UAAU;AAElB,QAAM,eAAe;AAAA,IACnB,OAAO;AAAA,MACL,QAAQ,gBAAgB,OAAO,KAAK;AAAA,MACpC,WAAW,gBAAgB,UAAU,KAAK;AAAA,MAC1C,iBAAiB,gBAAgB,gBAAgB,KAAK;AAAA,MACtD,mBAAmB,gBAAgB,kBAAkB,KAAK;AAAA,MAC1D,SAAS,gBAAgB,QAAQ,KAAK;AAAA,MACtC,SAAS,gBAAgB,QAAQ,KAAK;AAAA,IAAA;AAAA,IAExC,CAAC,KAAK;AAAA,EAAA;AAGR,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,EAAA;AAEP;AA6BO,SAAS,UAAU;AACxB,QAAM,EAAE,MAAA,IAAU,eAAA;AAElB,QAAM,OAAO,gBAAgB,gBAAgB,KAAK,IAAI,MAAM,OAAO;AAEnE,QAAM,eAAe;AAAA,IACnB,OAAO;AAAA,MACL,QAAQ,gBAAgB,OAAO,KAAK;AAAA,MACpC,WAAW,gBAAgB,UAAU,KAAK;AAAA,MAC1C,iBAAiB,gBAAgB,gBAAgB,KAAK;AAAA,MACtD,mBAAmB,gBAAgB,kBAAkB,KAAK;AAAA,MAC1D,SAAS,gBAAgB,QAAQ,KAAK;AAAA,IAAA;AAAA,IAExC,CAAC,KAAK;AAAA,EAAA;AAGR,SAAO;AAAA,IACL;AAAA,IACA,GAAG;AAAA,EAAA;AAEP;"}
|
|
@@ -1,2 +1,10 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const blimu_hook = require("../providers/blimu/blimu.hook.cjs");
|
|
4
|
+
function useClient() {
|
|
5
|
+
const { client } = blimu_hook.useBlimu();
|
|
6
|
+
const blimuClient = client.getClient();
|
|
7
|
+
return blimuClient;
|
|
8
|
+
}
|
|
9
|
+
exports.useClient = useClient;
|
|
2
10
|
//# sourceMappingURL=use-client.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-client.cjs","sources":["../../src/hooks/use-client.ts"],"sourcesContent":["import { useBlimu } from '../providers/blimu/blimu.hook';\n\n/**\n * Hook for accessing the Blimu API client instance\n *\n * Returns the underlying Blimu client that can be used to make direct API calls\n * to the Blimu runtime API. The client is pre-configured with authentication\n * headers and the publishable key.\n *\n * @returns The Blimu API client instance\n *\n * @example\n * ```tsx\n * function MyComponent() {\n * const client = useClient();\n *\n *\n * const handleListEntitlements = async () => {\n * const result = await client.entitlements.listForTenant({\n * tenantResourceId: 'org_123',\n * });\n * };\n *\n * return <button onClick={handleListEntitlements}>List Entitlements</button>;\n * }\n * ```\n */\nexport function useClient() {\n const { client } = useBlimu();\n const blimuClient = client.getClient();\n return blimuClient;\n}\n"],"names":["
|
|
1
|
+
{"version":3,"file":"use-client.cjs","sources":["../../src/hooks/use-client.ts"],"sourcesContent":["import { useBlimu } from '../providers/blimu/blimu.hook';\n\n/**\n * Hook for accessing the Blimu API client instance\n *\n * Returns the underlying Blimu client that can be used to make direct API calls\n * to the Blimu runtime API. The client is pre-configured with authentication\n * headers and the publishable key.\n *\n * @returns The Blimu API client instance\n *\n * @example\n * ```tsx\n * function MyComponent() {\n * const client = useClient();\n *\n *\n * const handleListEntitlements = async () => {\n * const result = await client.entitlements.listForTenant({\n * tenantResourceId: 'org_123',\n * });\n * };\n *\n * return <button onClick={handleListEntitlements}>List Entitlements</button>;\n * }\n * ```\n */\nexport function useClient() {\n const { client } = useBlimu();\n const blimuClient = client.getClient();\n return blimuClient;\n}\n"],"names":["useBlimu"],"mappings":";;;AA2BO,SAAS,YAAY;AAC1B,QAAM,EAAE,OAAA,IAAWA,oBAAA;AACnB,QAAM,cAAc,OAAO,UAAA;AAC3B,SAAO;AACT;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-client.d.ts","sourceRoot":"","sources":["../../src/hooks/use-client.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,SAAS,
|
|
1
|
+
{"version":3,"file":"use-client.d.ts","sourceRoot":"","sources":["../../src/hooks/use-client.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,SAAS,kCAIxB"}
|
package/dist/hooks/use-client.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { useBlimu
|
|
2
|
-
function
|
|
3
|
-
const { client
|
|
4
|
-
|
|
1
|
+
import { useBlimu } from "../providers/blimu/blimu.hook.js";
|
|
2
|
+
function useClient() {
|
|
3
|
+
const { client } = useBlimu();
|
|
4
|
+
const blimuClient = client.getClient();
|
|
5
|
+
return blimuClient;
|
|
5
6
|
}
|
|
6
7
|
export {
|
|
7
|
-
|
|
8
|
+
useClient
|
|
8
9
|
};
|
|
9
10
|
//# sourceMappingURL=use-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-client.js","sources":["../../src/hooks/use-client.ts"],"sourcesContent":["import { useBlimu } from '../providers/blimu/blimu.hook';\n\n/**\n * Hook for accessing the Blimu API client instance\n *\n * Returns the underlying Blimu client that can be used to make direct API calls\n * to the Blimu runtime API. The client is pre-configured with authentication\n * headers and the publishable key.\n *\n * @returns The Blimu API client instance\n *\n * @example\n * ```tsx\n * function MyComponent() {\n * const client = useClient();\n *\n *\n * const handleListEntitlements = async () => {\n * const result = await client.entitlements.listForTenant({\n * tenantResourceId: 'org_123',\n * });\n * };\n *\n * return <button onClick={handleListEntitlements}>List Entitlements</button>;\n * }\n * ```\n */\nexport function useClient() {\n const { client } = useBlimu();\n const blimuClient = client.getClient();\n return blimuClient;\n}\n"],"names":[
|
|
1
|
+
{"version":3,"file":"use-client.js","sources":["../../src/hooks/use-client.ts"],"sourcesContent":["import { useBlimu } from '../providers/blimu/blimu.hook';\n\n/**\n * Hook for accessing the Blimu API client instance\n *\n * Returns the underlying Blimu client that can be used to make direct API calls\n * to the Blimu runtime API. The client is pre-configured with authentication\n * headers and the publishable key.\n *\n * @returns The Blimu API client instance\n *\n * @example\n * ```tsx\n * function MyComponent() {\n * const client = useClient();\n *\n *\n * const handleListEntitlements = async () => {\n * const result = await client.entitlements.listForTenant({\n * tenantResourceId: 'org_123',\n * });\n * };\n *\n * return <button onClick={handleListEntitlements}>List Entitlements</button>;\n * }\n * ```\n */\nexport function useClient() {\n const { client } = useBlimu();\n const blimuClient = client.getClient();\n return blimuClient;\n}\n"],"names":[],"mappings":";AA2BO,SAAS,YAAY;AAC1B,QAAM,EAAE,OAAA,IAAW,SAAA;AACnB,QAAM,cAAc,OAAO,UAAA;AAC3B,SAAO;AACT;"}
|
|
@@ -1,2 +1,61 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const React = require("react");
|
|
4
|
+
const blimu_hook = require("../providers/blimu/blimu.hook.cjs");
|
|
5
|
+
function useMembers({
|
|
6
|
+
resourceType,
|
|
7
|
+
resourceId,
|
|
8
|
+
page = 1,
|
|
9
|
+
limit = 20,
|
|
10
|
+
search = "",
|
|
11
|
+
enabled = true
|
|
12
|
+
}) {
|
|
13
|
+
const { client } = blimu_hook.useBlimu();
|
|
14
|
+
const [members, setMembers] = React.useState([]);
|
|
15
|
+
const [total, setTotal] = React.useState(0);
|
|
16
|
+
const [isLoading, setIsLoading] = React.useState(false);
|
|
17
|
+
const [error, setError] = React.useState(null);
|
|
18
|
+
const fetchMembers = React.useCallback(async () => {
|
|
19
|
+
if (!enabled || !resourceType || !resourceId) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
setIsLoading(true);
|
|
23
|
+
setError(null);
|
|
24
|
+
try {
|
|
25
|
+
const runtimeClient = client.getClient();
|
|
26
|
+
const response = {
|
|
27
|
+
items: [],
|
|
28
|
+
total: 0,
|
|
29
|
+
page,
|
|
30
|
+
limit
|
|
31
|
+
};
|
|
32
|
+
setMembers(response.items);
|
|
33
|
+
setTotal(response.total);
|
|
34
|
+
} catch (err) {
|
|
35
|
+
const error2 = err instanceof Error ? err : new Error("Failed to fetch members");
|
|
36
|
+
setError(error2);
|
|
37
|
+
setMembers([]);
|
|
38
|
+
setTotal(0);
|
|
39
|
+
} finally {
|
|
40
|
+
setIsLoading(false);
|
|
41
|
+
}
|
|
42
|
+
}, [client, resourceType, resourceId, page, limit, search, enabled]);
|
|
43
|
+
React.useEffect(() => {
|
|
44
|
+
fetchMembers();
|
|
45
|
+
}, [fetchMembers]);
|
|
46
|
+
const hasNextPage = total > page * limit;
|
|
47
|
+
const hasPreviousPage = page > 1;
|
|
48
|
+
return {
|
|
49
|
+
members,
|
|
50
|
+
total,
|
|
51
|
+
page,
|
|
52
|
+
limit,
|
|
53
|
+
isLoading,
|
|
54
|
+
error,
|
|
55
|
+
refetch: fetchMembers,
|
|
56
|
+
hasNextPage,
|
|
57
|
+
hasPreviousPage
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
exports.useMembers = useMembers;
|
|
2
61
|
//# sourceMappingURL=use-members.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-members.cjs","sources":["../../src/hooks/use-members.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\n\nimport { useBlimu } from '../providers';\n\nexport interface ResourceMember {\n userId: string;\n role: string;\n inherited: boolean;\n user: {\n id: string;\n email: string;\n firstName: string | null;\n lastName: string | null;\n avatarUrl: string | null;\n emailVerified: boolean;\n createdAt: string;\n updatedAt: string;\n lastLoginAt: string | null;\n };\n}\n\nexport interface UseMembersOptions {\n resourceType: string;\n resourceId: string;\n page?: number;\n limit?: number;\n search?: string;\n enabled?: boolean;\n}\n\nexport interface UseMembersResult {\n members: ResourceMember[];\n total: number;\n page: number;\n limit: number;\n isLoading: boolean;\n error: Error | null;\n refetch: () => Promise<void>;\n hasNextPage: boolean;\n hasPreviousPage: boolean;\n}\n\n/**\n * Hook to fetch and manage members list for a resource\n *\n * @example\n * ```tsx\n * const { members, isLoading, error } = useMembers({\n * resourceType: 'organization',\n * resourceId: 'org_123',\n * page: 1,\n * limit: 20,\n * });\n * ```\n */\nexport function useMembers({\n resourceType,\n resourceId,\n page = 1,\n limit = 20,\n search = '',\n enabled = true,\n}: UseMembersOptions): UseMembersResult {\n const { client } = useBlimu();\n const [members, setMembers] = useState<ResourceMember[]>([]);\n const [total, setTotal] = useState(0);\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n const fetchMembers = useCallback(async () => {\n if (!enabled || !resourceType || !resourceId) {\n return;\n }\n\n setIsLoading(true);\n setError(null);\n\n try {\n // TODO: Implement when resourceMembers API is available in runtime client\n // For now, this is a placeholder that will need to be implemented\n // when the runtime client exposes the resourceMembers service\n const runtimeClient = client.getClient();\n \n // This will need to be implemented when the API is available\n // const response = await runtimeClient.resourceMembers.list(resourceType, resourceId, {\n // page,\n // limit,\n // search,\n // });\n \n // Placeholder response\n const response = {\n items: [],\n total: 0,\n page,\n limit,\n };\n\n setMembers(response.items);\n setTotal(response.total);\n } catch (err) {\n const error = err instanceof Error ? err : new Error('Failed to fetch members');\n setError(error);\n setMembers([]);\n setTotal(0);\n } finally {\n setIsLoading(false);\n }\n }, [client, resourceType, resourceId, page, limit, search, enabled]);\n\n useEffect(() => {\n fetchMembers();\n }, [fetchMembers]);\n\n const hasNextPage = total > page * limit;\n const hasPreviousPage = page > 1;\n\n return {\n members,\n total,\n page,\n limit,\n isLoading,\n error,\n refetch: fetchMembers,\n hasNextPage,\n hasPreviousPage,\n };\n}\n"],"names":["
|
|
1
|
+
{"version":3,"file":"use-members.cjs","sources":["../../src/hooks/use-members.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\n\nimport { useBlimu } from '../providers';\n\nexport interface ResourceMember {\n userId: string;\n role: string;\n inherited: boolean;\n user: {\n id: string;\n email: string;\n firstName: string | null;\n lastName: string | null;\n avatarUrl: string | null;\n emailVerified: boolean;\n createdAt: string;\n updatedAt: string;\n lastLoginAt: string | null;\n };\n}\n\nexport interface UseMembersOptions {\n resourceType: string;\n resourceId: string;\n page?: number;\n limit?: number;\n search?: string;\n enabled?: boolean;\n}\n\nexport interface UseMembersResult {\n members: ResourceMember[];\n total: number;\n page: number;\n limit: number;\n isLoading: boolean;\n error: Error | null;\n refetch: () => Promise<void>;\n hasNextPage: boolean;\n hasPreviousPage: boolean;\n}\n\n/**\n * Hook to fetch and manage members list for a resource\n *\n * @example\n * ```tsx\n * const { members, isLoading, error } = useMembers({\n * resourceType: 'organization',\n * resourceId: 'org_123',\n * page: 1,\n * limit: 20,\n * });\n * ```\n */\nexport function useMembers({\n resourceType,\n resourceId,\n page = 1,\n limit = 20,\n search = '',\n enabled = true,\n}: UseMembersOptions): UseMembersResult {\n const { client } = useBlimu();\n const [members, setMembers] = useState<ResourceMember[]>([]);\n const [total, setTotal] = useState(0);\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n const fetchMembers = useCallback(async () => {\n if (!enabled || !resourceType || !resourceId) {\n return;\n }\n\n setIsLoading(true);\n setError(null);\n\n try {\n // TODO: Implement when resourceMembers API is available in runtime client\n // For now, this is a placeholder that will need to be implemented\n // when the runtime client exposes the resourceMembers service\n const runtimeClient = client.getClient();\n \n // This will need to be implemented when the API is available\n // const response = await runtimeClient.resourceMembers.list(resourceType, resourceId, {\n // page,\n // limit,\n // search,\n // });\n \n // Placeholder response\n const response = {\n items: [],\n total: 0,\n page,\n limit,\n };\n\n setMembers(response.items);\n setTotal(response.total);\n } catch (err) {\n const error = err instanceof Error ? err : new Error('Failed to fetch members');\n setError(error);\n setMembers([]);\n setTotal(0);\n } finally {\n setIsLoading(false);\n }\n }, [client, resourceType, resourceId, page, limit, search, enabled]);\n\n useEffect(() => {\n fetchMembers();\n }, [fetchMembers]);\n\n const hasNextPage = total > page * limit;\n const hasPreviousPage = page > 1;\n\n return {\n members,\n total,\n page,\n limit,\n isLoading,\n error,\n refetch: fetchMembers,\n hasNextPage,\n hasPreviousPage,\n };\n}\n"],"names":["useBlimu","useState","useCallback","error","useEffect"],"mappings":";;;;AAuDO,SAAS,WAAW;AAAA,EACzB;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,UAAU;AACZ,GAAwC;AACtC,QAAM,EAAE,OAAA,IAAWA,oBAAA;AACnB,QAAM,CAAC,SAAS,UAAU,IAAIC,MAAAA,SAA2B,CAAA,CAAE;AAC3D,QAAM,CAAC,OAAO,QAAQ,IAAIA,MAAAA,SAAS,CAAC;AACpC,QAAM,CAAC,WAAW,YAAY,IAAIA,MAAAA,SAAS,KAAK;AAChD,QAAM,CAAC,OAAO,QAAQ,IAAIA,MAAAA,SAAuB,IAAI;AAErD,QAAM,eAAeC,MAAAA,YAAY,YAAY;AAC3C,QAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,YAAY;AAC5C;AAAA,IACF;AAEA,iBAAa,IAAI;AACjB,aAAS,IAAI;AAEb,QAAI;AAIF,YAAM,gBAAgB,OAAO,UAAA;AAU7B,YAAM,WAAW;AAAA,QACf,OAAO,CAAA;AAAA,QACP,OAAO;AAAA,QACP;AAAA,QACA;AAAA,MAAA;AAGF,iBAAW,SAAS,KAAK;AACzB,eAAS,SAAS,KAAK;AAAA,IACzB,SAAS,KAAK;AACZ,YAAMC,SAAQ,eAAe,QAAQ,MAAM,IAAI,MAAM,yBAAyB;AAC9E,eAASA,MAAK;AACd,iBAAW,CAAA,CAAE;AACb,eAAS,CAAC;AAAA,IACZ,UAAA;AACE,mBAAa,KAAK;AAAA,IACpB;AAAA,EACF,GAAG,CAAC,QAAQ,cAAc,YAAY,MAAM,OAAO,QAAQ,OAAO,CAAC;AAEnEC,QAAAA,UAAU,MAAM;AACd,iBAAA;AAAA,EACF,GAAG,CAAC,YAAY,CAAC;AAEjB,QAAM,cAAc,QAAQ,OAAO;AACnC,QAAM,kBAAkB,OAAO;AAE/B,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA;AAAA,EAAA;AAEJ;;"}
|
|
@@ -1,49 +1,61 @@
|
|
|
1
|
-
import { useState
|
|
2
|
-
import { useBlimu
|
|
3
|
-
function
|
|
4
|
-
resourceType
|
|
5
|
-
resourceId
|
|
6
|
-
page
|
|
7
|
-
limit
|
|
8
|
-
search
|
|
9
|
-
enabled
|
|
1
|
+
import { useState, useCallback, useEffect } from "react";
|
|
2
|
+
import { useBlimu } from "../providers/blimu/blimu.hook.js";
|
|
3
|
+
function useMembers({
|
|
4
|
+
resourceType,
|
|
5
|
+
resourceId,
|
|
6
|
+
page = 1,
|
|
7
|
+
limit = 20,
|
|
8
|
+
search = "",
|
|
9
|
+
enabled = true
|
|
10
10
|
}) {
|
|
11
|
-
const { client
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
limit: e
|
|
20
|
-
};
|
|
21
|
-
u(s.items), m(s.total);
|
|
22
|
-
} catch (n) {
|
|
23
|
-
const s = n instanceof Error ? n : new Error("Failed to fetch members");
|
|
24
|
-
b(s), u([]), m(0);
|
|
25
|
-
} finally {
|
|
26
|
-
h(!1);
|
|
27
|
-
}
|
|
11
|
+
const { client } = useBlimu();
|
|
12
|
+
const [members, setMembers] = useState([]);
|
|
13
|
+
const [total, setTotal] = useState(0);
|
|
14
|
+
const [isLoading, setIsLoading] = useState(false);
|
|
15
|
+
const [error, setError] = useState(null);
|
|
16
|
+
const fetchMembers = useCallback(async () => {
|
|
17
|
+
if (!enabled || !resourceType || !resourceId) {
|
|
18
|
+
return;
|
|
28
19
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
20
|
+
setIsLoading(true);
|
|
21
|
+
setError(null);
|
|
22
|
+
try {
|
|
23
|
+
const runtimeClient = client.getClient();
|
|
24
|
+
const response = {
|
|
25
|
+
items: [],
|
|
26
|
+
total: 0,
|
|
27
|
+
page,
|
|
28
|
+
limit
|
|
29
|
+
};
|
|
30
|
+
setMembers(response.items);
|
|
31
|
+
setTotal(response.total);
|
|
32
|
+
} catch (err) {
|
|
33
|
+
const error2 = err instanceof Error ? err : new Error("Failed to fetch members");
|
|
34
|
+
setError(error2);
|
|
35
|
+
setMembers([]);
|
|
36
|
+
setTotal(0);
|
|
37
|
+
} finally {
|
|
38
|
+
setIsLoading(false);
|
|
39
|
+
}
|
|
40
|
+
}, [client, resourceType, resourceId, page, limit, search, enabled]);
|
|
41
|
+
useEffect(() => {
|
|
42
|
+
fetchMembers();
|
|
43
|
+
}, [fetchMembers]);
|
|
44
|
+
const hasNextPage = total > page * limit;
|
|
45
|
+
const hasPreviousPage = page > 1;
|
|
34
46
|
return {
|
|
35
|
-
members
|
|
36
|
-
total
|
|
37
|
-
page
|
|
38
|
-
limit
|
|
39
|
-
isLoading
|
|
40
|
-
error
|
|
41
|
-
refetch:
|
|
42
|
-
hasNextPage
|
|
43
|
-
hasPreviousPage
|
|
47
|
+
members,
|
|
48
|
+
total,
|
|
49
|
+
page,
|
|
50
|
+
limit,
|
|
51
|
+
isLoading,
|
|
52
|
+
error,
|
|
53
|
+
refetch: fetchMembers,
|
|
54
|
+
hasNextPage,
|
|
55
|
+
hasPreviousPage
|
|
44
56
|
};
|
|
45
57
|
}
|
|
46
58
|
export {
|
|
47
|
-
|
|
59
|
+
useMembers
|
|
48
60
|
};
|
|
49
61
|
//# sourceMappingURL=use-members.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-members.js","sources":["../../src/hooks/use-members.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\n\nimport { useBlimu } from '../providers';\n\nexport interface ResourceMember {\n userId: string;\n role: string;\n inherited: boolean;\n user: {\n id: string;\n email: string;\n firstName: string | null;\n lastName: string | null;\n avatarUrl: string | null;\n emailVerified: boolean;\n createdAt: string;\n updatedAt: string;\n lastLoginAt: string | null;\n };\n}\n\nexport interface UseMembersOptions {\n resourceType: string;\n resourceId: string;\n page?: number;\n limit?: number;\n search?: string;\n enabled?: boolean;\n}\n\nexport interface UseMembersResult {\n members: ResourceMember[];\n total: number;\n page: number;\n limit: number;\n isLoading: boolean;\n error: Error | null;\n refetch: () => Promise<void>;\n hasNextPage: boolean;\n hasPreviousPage: boolean;\n}\n\n/**\n * Hook to fetch and manage members list for a resource\n *\n * @example\n * ```tsx\n * const { members, isLoading, error } = useMembers({\n * resourceType: 'organization',\n * resourceId: 'org_123',\n * page: 1,\n * limit: 20,\n * });\n * ```\n */\nexport function useMembers({\n resourceType,\n resourceId,\n page = 1,\n limit = 20,\n search = '',\n enabled = true,\n}: UseMembersOptions): UseMembersResult {\n const { client } = useBlimu();\n const [members, setMembers] = useState<ResourceMember[]>([]);\n const [total, setTotal] = useState(0);\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n const fetchMembers = useCallback(async () => {\n if (!enabled || !resourceType || !resourceId) {\n return;\n }\n\n setIsLoading(true);\n setError(null);\n\n try {\n // TODO: Implement when resourceMembers API is available in runtime client\n // For now, this is a placeholder that will need to be implemented\n // when the runtime client exposes the resourceMembers service\n const runtimeClient = client.getClient();\n \n // This will need to be implemented when the API is available\n // const response = await runtimeClient.resourceMembers.list(resourceType, resourceId, {\n // page,\n // limit,\n // search,\n // });\n \n // Placeholder response\n const response = {\n items: [],\n total: 0,\n page,\n limit,\n };\n\n setMembers(response.items);\n setTotal(response.total);\n } catch (err) {\n const error = err instanceof Error ? err : new Error('Failed to fetch members');\n setError(error);\n setMembers([]);\n setTotal(0);\n } finally {\n setIsLoading(false);\n }\n }, [client, resourceType, resourceId, page, limit, search, enabled]);\n\n useEffect(() => {\n fetchMembers();\n }, [fetchMembers]);\n\n const hasNextPage = total > page * limit;\n const hasPreviousPage = page > 1;\n\n return {\n members,\n total,\n page,\n limit,\n isLoading,\n error,\n refetch: fetchMembers,\n hasNextPage,\n hasPreviousPage,\n };\n}\n"],"names":["
|
|
1
|
+
{"version":3,"file":"use-members.js","sources":["../../src/hooks/use-members.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\n\nimport { useBlimu } from '../providers';\n\nexport interface ResourceMember {\n userId: string;\n role: string;\n inherited: boolean;\n user: {\n id: string;\n email: string;\n firstName: string | null;\n lastName: string | null;\n avatarUrl: string | null;\n emailVerified: boolean;\n createdAt: string;\n updatedAt: string;\n lastLoginAt: string | null;\n };\n}\n\nexport interface UseMembersOptions {\n resourceType: string;\n resourceId: string;\n page?: number;\n limit?: number;\n search?: string;\n enabled?: boolean;\n}\n\nexport interface UseMembersResult {\n members: ResourceMember[];\n total: number;\n page: number;\n limit: number;\n isLoading: boolean;\n error: Error | null;\n refetch: () => Promise<void>;\n hasNextPage: boolean;\n hasPreviousPage: boolean;\n}\n\n/**\n * Hook to fetch and manage members list for a resource\n *\n * @example\n * ```tsx\n * const { members, isLoading, error } = useMembers({\n * resourceType: 'organization',\n * resourceId: 'org_123',\n * page: 1,\n * limit: 20,\n * });\n * ```\n */\nexport function useMembers({\n resourceType,\n resourceId,\n page = 1,\n limit = 20,\n search = '',\n enabled = true,\n}: UseMembersOptions): UseMembersResult {\n const { client } = useBlimu();\n const [members, setMembers] = useState<ResourceMember[]>([]);\n const [total, setTotal] = useState(0);\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n const fetchMembers = useCallback(async () => {\n if (!enabled || !resourceType || !resourceId) {\n return;\n }\n\n setIsLoading(true);\n setError(null);\n\n try {\n // TODO: Implement when resourceMembers API is available in runtime client\n // For now, this is a placeholder that will need to be implemented\n // when the runtime client exposes the resourceMembers service\n const runtimeClient = client.getClient();\n \n // This will need to be implemented when the API is available\n // const response = await runtimeClient.resourceMembers.list(resourceType, resourceId, {\n // page,\n // limit,\n // search,\n // });\n \n // Placeholder response\n const response = {\n items: [],\n total: 0,\n page,\n limit,\n };\n\n setMembers(response.items);\n setTotal(response.total);\n } catch (err) {\n const error = err instanceof Error ? err : new Error('Failed to fetch members');\n setError(error);\n setMembers([]);\n setTotal(0);\n } finally {\n setIsLoading(false);\n }\n }, [client, resourceType, resourceId, page, limit, search, enabled]);\n\n useEffect(() => {\n fetchMembers();\n }, [fetchMembers]);\n\n const hasNextPage = total > page * limit;\n const hasPreviousPage = page > 1;\n\n return {\n members,\n total,\n page,\n limit,\n isLoading,\n error,\n refetch: fetchMembers,\n hasNextPage,\n hasPreviousPage,\n };\n}\n"],"names":["error"],"mappings":";;AAuDO,SAAS,WAAW;AAAA,EACzB;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,UAAU;AACZ,GAAwC;AACtC,QAAM,EAAE,OAAA,IAAW,SAAA;AACnB,QAAM,CAAC,SAAS,UAAU,IAAI,SAA2B,CAAA,CAAE;AAC3D,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAS,CAAC;AACpC,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,KAAK;AAChD,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAuB,IAAI;AAErD,QAAM,eAAe,YAAY,YAAY;AAC3C,QAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,YAAY;AAC5C;AAAA,IACF;AAEA,iBAAa,IAAI;AACjB,aAAS,IAAI;AAEb,QAAI;AAIF,YAAM,gBAAgB,OAAO,UAAA;AAU7B,YAAM,WAAW;AAAA,QACf,OAAO,CAAA;AAAA,QACP,OAAO;AAAA,QACP;AAAA,QACA;AAAA,MAAA;AAGF,iBAAW,SAAS,KAAK;AACzB,eAAS,SAAS,KAAK;AAAA,IACzB,SAAS,KAAK;AACZ,YAAMA,SAAQ,eAAe,QAAQ,MAAM,IAAI,MAAM,yBAAyB;AAC9E,eAASA,MAAK;AACd,iBAAW,CAAA,CAAE;AACb,eAAS,CAAC;AAAA,IACZ,UAAA;AACE,mBAAa,KAAK;AAAA,IACpB;AAAA,EACF,GAAG,CAAC,QAAQ,cAAc,YAAY,MAAM,OAAO,QAAQ,OAAO,CAAC;AAEnE,YAAU,MAAM;AACd,iBAAA;AAAA,EACF,GAAG,CAAC,YAAY,CAAC;AAEjB,QAAM,cAAc,QAAQ,OAAO;AACnC,QAAM,kBAAkB,OAAO;AAE/B,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA;AAAA,EAAA;AAEJ;"}
|