web-mojo 2.2.68 → 2.2.70

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 (153) hide show
  1. package/CHANGELOG.md +25 -9
  2. package/dist/admin.cjs.js +1 -1
  3. package/dist/admin.cjs.js.map +1 -1
  4. package/dist/admin.es.js +1 -1
  5. package/dist/admin.es.js.map +1 -1
  6. package/dist/auth.cjs.js +1 -1
  7. package/dist/auth.es.js +1 -1
  8. package/dist/charts.cjs.js +1 -1
  9. package/dist/charts.cjs.js.map +1 -1
  10. package/dist/charts.es.js +1 -1
  11. package/dist/charts.es.js.map +1 -1
  12. package/dist/chunks/ChatView-DH42WXgV.js +2 -0
  13. package/dist/chunks/ChatView-DH42WXgV.js.map +1 -0
  14. package/dist/chunks/ChatView-_8eQTETQ.js +2 -0
  15. package/dist/chunks/ChatView-_8eQTETQ.js.map +1 -0
  16. package/dist/chunks/Collection-BUv4E9op.js +2 -0
  17. package/dist/chunks/Collection-BUv4E9op.js.map +1 -0
  18. package/dist/chunks/Collection-r1ACzUeh.js +2 -0
  19. package/dist/chunks/Collection-r1ACzUeh.js.map +1 -0
  20. package/dist/chunks/ContextMenu-BFxliZ03.js +2 -0
  21. package/dist/chunks/{ContextMenu-8vTiZZQV.js.map → ContextMenu-BFxliZ03.js.map} +1 -1
  22. package/dist/chunks/ContextMenu-BwJJ4QJE.js +2 -0
  23. package/dist/chunks/{ContextMenu-DBw0WMTO.js.map → ContextMenu-BwJJ4QJE.js.map} +1 -1
  24. package/dist/chunks/DataView-DMpNXerv.js +2 -0
  25. package/dist/chunks/{DataView-DyJKgOn3.js.map → DataView-DMpNXerv.js.map} +1 -1
  26. package/dist/chunks/DataView-_CACqzRt.js +2 -0
  27. package/dist/chunks/{DataView-BEovBggn.js.map → DataView-_CACqzRt.js.map} +1 -1
  28. package/dist/chunks/Dialog-BVCCpLPw.js +3 -0
  29. package/dist/chunks/Dialog-BVCCpLPw.js.map +1 -0
  30. package/dist/chunks/Dialog-BYiynSW-.js +3 -0
  31. package/dist/chunks/Dialog-BYiynSW-.js.map +1 -0
  32. package/dist/chunks/FormView-Dw7HDwzy.js +3 -0
  33. package/dist/chunks/{FormView-Q_lFA0nr.js.map → FormView-Dw7HDwzy.js.map} +1 -1
  34. package/dist/chunks/FormView-OgrZ7x0z.js +3 -0
  35. package/dist/chunks/{FormView-EoB_ZdIB.js.map → FormView-OgrZ7x0z.js.map} +1 -1
  36. package/dist/chunks/ListView-2M4I8KHF.js +2 -0
  37. package/dist/chunks/{ListView-CMZpwyyC.js.map → ListView-2M4I8KHF.js.map} +1 -1
  38. package/dist/chunks/ListView-B0QbqSPv.js +2 -0
  39. package/dist/chunks/{ListView-BLFFK_Ir.js.map → ListView-B0QbqSPv.js.map} +1 -1
  40. package/dist/chunks/MetricsCountryMapView-DDdDJQFA.js +2 -0
  41. package/dist/chunks/{MetricsCountryMapView-B0kWK-Js.js.map → MetricsCountryMapView-DDdDJQFA.js.map} +1 -1
  42. package/dist/chunks/MetricsCountryMapView-DIlezla0.js +2 -0
  43. package/dist/chunks/{MetricsCountryMapView-DuBKO7gz.js.map → MetricsCountryMapView-DIlezla0.js.map} +1 -1
  44. package/dist/chunks/MetricsMiniChartWidget-Dt2V0eXP.js +2 -0
  45. package/dist/chunks/{MetricsMiniChartWidget-ukn-NRMR.js.map → MetricsMiniChartWidget-Dt2V0eXP.js.map} +1 -1
  46. package/dist/chunks/MetricsMiniChartWidget-_N4kzNY_.js +2 -0
  47. package/dist/chunks/{MetricsMiniChartWidget-lzq4lSTF.js.map → MetricsMiniChartWidget-_N4kzNY_.js.map} +1 -1
  48. package/dist/chunks/PDFViewer-BruR1RFn.js +2 -0
  49. package/dist/chunks/{PDFViewer-sFoyopz3.js.map → PDFViewer-BruR1RFn.js.map} +1 -1
  50. package/dist/chunks/PDFViewer-CyGFVcvX.js +2 -0
  51. package/dist/chunks/{PDFViewer-iOqYpg-6.js.map → PDFViewer-CyGFVcvX.js.map} +1 -1
  52. package/dist/chunks/TableView-CxYpxZvr.js +2 -0
  53. package/dist/chunks/TableView-CxYpxZvr.js.map +1 -0
  54. package/dist/chunks/TableView-DemRVhnX.js +2 -0
  55. package/dist/chunks/TableView-DemRVhnX.js.map +1 -0
  56. package/dist/chunks/TokenManager-BFaxNsXO.js +2 -0
  57. package/dist/chunks/{TokenManager-DKzxBt6g.js.map → TokenManager-BFaxNsXO.js.map} +1 -1
  58. package/dist/chunks/TokenManager-IlBEFXqZ.js +2 -0
  59. package/dist/chunks/{TokenManager-ChNOca0K.js.map → TokenManager-IlBEFXqZ.js.map} +1 -1
  60. package/dist/chunks/UserProfileView-9vkfCPsp.js +2 -0
  61. package/dist/chunks/UserProfileView-9vkfCPsp.js.map +1 -0
  62. package/dist/chunks/UserProfileView-tcBT6XcE.js +2 -0
  63. package/dist/chunks/UserProfileView-tcBT6XcE.js.map +1 -0
  64. package/dist/chunks/WebApp-BFR1zozS.js +2 -0
  65. package/dist/chunks/{WebApp-B0m6JCjO.js.map → WebApp-BFR1zozS.js.map} +1 -1
  66. package/dist/chunks/WebApp-C82womPC.js +2 -0
  67. package/dist/chunks/{WebApp-Bsic6FPo.js.map → WebApp-C82womPC.js.map} +1 -1
  68. package/dist/chunks/WebSocketClient-Ibi7mLQu.js +2 -0
  69. package/dist/chunks/{WebSocketClient-Bh0Mmtje.js.map → WebSocketClient-Ibi7mLQu.js.map} +1 -1
  70. package/dist/chunks/WebSocketClient-QaCUN3EQ.js +2 -0
  71. package/dist/chunks/{WebSocketClient-CLgYPxWX.js.map → WebSocketClient-QaCUN3EQ.js.map} +1 -1
  72. package/dist/chunks/index-BaPQHxbL.js +2 -0
  73. package/dist/chunks/index-BaPQHxbL.js.map +1 -0
  74. package/dist/chunks/index-BdfwxVMZ.js +2 -0
  75. package/dist/chunks/index-BdfwxVMZ.js.map +1 -0
  76. package/dist/chunks/{version-i7K_82Qy.js → version-C2yYRyPn.js} +2 -2
  77. package/dist/chunks/{version-i7K_82Qy.js.map → version-C2yYRyPn.js.map} +1 -1
  78. package/dist/chunks/{version-BmVUtM_7.js → version-CaiqhdME.js} +2 -2
  79. package/dist/chunks/{version-BmVUtM_7.js.map → version-CaiqhdME.js.map} +1 -1
  80. package/dist/css/web-mojo.css +1 -1
  81. package/dist/docit.cjs.js +1 -1
  82. package/dist/docit.cjs.js.map +1 -1
  83. package/dist/docit.es.js +1 -1
  84. package/dist/docit.es.js.map +1 -1
  85. package/dist/index.cjs.js +1 -1
  86. package/dist/index.cjs.js.map +1 -1
  87. package/dist/index.es.js +1 -1
  88. package/dist/index.es.js.map +1 -1
  89. package/dist/lightbox.cjs.js +1 -1
  90. package/dist/lightbox.cjs.js.map +1 -1
  91. package/dist/lightbox.es.js +1 -1
  92. package/dist/lightbox.es.js.map +1 -1
  93. package/dist/map.cjs.js +1 -1
  94. package/dist/map.cjs.js.map +1 -1
  95. package/dist/map.es.js +1 -1
  96. package/dist/map.es.js.map +1 -1
  97. package/dist/timeline.cjs.js +1 -1
  98. package/dist/timeline.cjs.js.map +1 -1
  99. package/dist/timeline.es.js +1 -1
  100. package/dist/timeline.es.js.map +1 -1
  101. package/dist/user-profile.cjs.js +2 -0
  102. package/dist/user-profile.cjs.js.map +1 -0
  103. package/dist/user-profile.es.js +2 -0
  104. package/dist/user-profile.es.js.map +1 -0
  105. package/dist/web-mojo.lite.iife.js +5436 -5433
  106. package/dist/web-mojo.lite.iife.js.map +1 -1
  107. package/dist/web-mojo.lite.iife.min.js +76 -76
  108. package/dist/web-mojo.lite.iife.min.js.map +1 -1
  109. package/package.json +5 -1
  110. package/dist/chunks/ChatView-Cfe0ZGvr.js +0 -2
  111. package/dist/chunks/ChatView-Cfe0ZGvr.js.map +0 -1
  112. package/dist/chunks/ChatView-DuQVFrCY.js +0 -2
  113. package/dist/chunks/ChatView-DuQVFrCY.js.map +0 -1
  114. package/dist/chunks/Collection-BWKmydl5.js +0 -2
  115. package/dist/chunks/Collection-BWKmydl5.js.map +0 -1
  116. package/dist/chunks/Collection-CmjTsmrP.js +0 -2
  117. package/dist/chunks/Collection-CmjTsmrP.js.map +0 -1
  118. package/dist/chunks/ContextMenu-8vTiZZQV.js +0 -2
  119. package/dist/chunks/ContextMenu-DBw0WMTO.js +0 -2
  120. package/dist/chunks/DataView-BEovBggn.js +0 -2
  121. package/dist/chunks/DataView-DyJKgOn3.js +0 -2
  122. package/dist/chunks/Dialog-DW7PHzUc.js +0 -2
  123. package/dist/chunks/Dialog-DW7PHzUc.js.map +0 -1
  124. package/dist/chunks/Dialog-jfBsXy5X.js +0 -2
  125. package/dist/chunks/Dialog-jfBsXy5X.js.map +0 -1
  126. package/dist/chunks/Files-C-ChBvr5.js +0 -2
  127. package/dist/chunks/Files-C-ChBvr5.js.map +0 -1
  128. package/dist/chunks/Files-DNbHDy43.js +0 -2
  129. package/dist/chunks/Files-DNbHDy43.js.map +0 -1
  130. package/dist/chunks/FormView-EoB_ZdIB.js +0 -3
  131. package/dist/chunks/FormView-Q_lFA0nr.js +0 -3
  132. package/dist/chunks/ListView-BLFFK_Ir.js +0 -2
  133. package/dist/chunks/ListView-CMZpwyyC.js +0 -2
  134. package/dist/chunks/MetricsCountryMapView-B0kWK-Js.js +0 -2
  135. package/dist/chunks/MetricsCountryMapView-DuBKO7gz.js +0 -2
  136. package/dist/chunks/MetricsMiniChartWidget-lzq4lSTF.js +0 -2
  137. package/dist/chunks/MetricsMiniChartWidget-ukn-NRMR.js +0 -2
  138. package/dist/chunks/PDFViewer-iOqYpg-6.js +0 -2
  139. package/dist/chunks/PDFViewer-sFoyopz3.js +0 -2
  140. package/dist/chunks/Rest-B1eUyLX5.js +0 -2
  141. package/dist/chunks/Rest-B1eUyLX5.js.map +0 -1
  142. package/dist/chunks/Rest-BJ3Mvx1L.js +0 -2
  143. package/dist/chunks/Rest-BJ3Mvx1L.js.map +0 -1
  144. package/dist/chunks/TokenManager-ChNOca0K.js +0 -2
  145. package/dist/chunks/TokenManager-DKzxBt6g.js +0 -2
  146. package/dist/chunks/User-BnlvMG5J.js +0 -3
  147. package/dist/chunks/User-BnlvMG5J.js.map +0 -1
  148. package/dist/chunks/User-DSqcOwPL.js +0 -3
  149. package/dist/chunks/User-DSqcOwPL.js.map +0 -1
  150. package/dist/chunks/WebApp-B0m6JCjO.js +0 -2
  151. package/dist/chunks/WebApp-Bsic6FPo.js +0 -2
  152. package/dist/chunks/WebSocketClient-Bh0Mmtje.js +0 -2
  153. package/dist/chunks/WebSocketClient-CLgYPxWX.js +0 -2
package/CHANGELOG.md CHANGED
@@ -3,12 +3,28 @@
3
3
  ## Unreleased
4
4
 
5
5
  ### Added
6
- - **UserProfileView** — Rich multi-section user profile shown in a fullscreen Dialog, replacing the previous `Dialog.showModelForm()` profile editor in `PortalApp.showProfile()`
7
- - **Profile** section: avatar upload, editable display name and timezone, email/phone verification status with verify actions, account status, permissions peek
8
- - **Security** section: compact card dashboard linking to detail dialogs for password change, passkeys (WebAuthn registration, edit, delete), active sessions (with revoke), devices, and activity log
9
- - **Groups** section: group membership list with role badges fetched from MemberList
10
- - **Permissions** section: read-only role bar and flat permission tag cloud from `User.PERMISSIONS`
11
- - **PasskeySetupView** — Post-login passkey prompt with create/skip/"don't ask again" for encouraging WebAuthn adoption
12
- - `PortalApp.showPasskeySetup()`Shows the passkey setup prompt (respects localStorage dismissal)
13
- - New `src/core/views/user/` directory with barrel exports via `index.js`
14
- - Exported `UserProfileView` and `PasskeySetupView` from `src/index.js`
6
+ - **User Profile Extension** (`web-mojo/user-profile`) Moved all user profile views from `src/core/views/user/` into a standalone extension at `src/extensions/user-profile/`. Available as `import { ... } from 'web-mojo/user-profile'` or via `@ext/user-profile/index.js` internally.
7
+ - **ProfilePersonalSection** Editable first/last name, display name, DOB (with verified/unverified badge), timezone, and address (stored in `user.metadata`)
8
+ - **ProfileConnectedSection** Lists OAuth provider connections (Google, GitHub, Microsoft, etc.) with unlink capability and lockout guard
9
+ - **ProfileSecurityEventsSection** TableView of auth events (logins, failed attempts, password changes) with color-coded severity badges and custom `SecurityEventRow`
10
+ - **ProfileNotificationsSection** Per-kind, per-channel toggle grid for notification preferences (in-app, email, push)
11
+ - **ProfileApiKeysSection** — Generate, list, copy, and delete personal API keys with IP restriction and expiration options; token shown once with copy-to-clipboard
12
+ - **Recovery Codes** in ProfileSecuritySection View masked codes, regenerate with TOTP verification, copy-all support
13
+ - **Revoke All Sessions** in ProfileSecuritySection — Password-confirmed session revocation with automatic token refresh
14
+ - **Passkey model centralization** — `Passkey.register(friendlyName)` and `Passkey.suggestName()` static methods on the Passkey model, shared by both `PasskeySetupView` and `ProfileSecuritySection`
15
+ - **Rich passkey dialogs** — Passkey registration uses polished dialogs for name input (with auto-suggested device name), success confirmation, and error display instead of toasts
16
+ - **UserProfileView nav** updated to 11 sections across 3 groups: Profile, Personal, Security, Connected | Sessions, Devices, Security Events | Notifications, API Keys, Groups, Permissions
17
+
18
+ ### Changed
19
+ - **ProfileSessionsSection** — Rewritten with TableView (paginated, size 10) and custom `SessionRow` with rich two-line column templates: browser + device on top, location + IP + threat flags below
20
+ - **ProfileDevicesSection** — Rewritten with TableView (paginated, size 10) and custom `DeviceRow` with rich two-line column templates: device name + model on top, browser + OS + IP below
21
+ - **ProfileOverviewSection** — Removed personal fields (moved to Personal section), removed username edit (read-only), added account deactivation, relaxed phone number format placeholder
22
+ - **PortalApp** — Dynamic imports updated from `@core/views/user/index.js` to `@ext/user-profile/index.js`; removed duplicate `onActionChangePassword` handler that caused double dialog
23
+ - `src/core/views/user/index.js` now re-exports from extension for backward compatibility (marked `@deprecated`)
24
+
25
+ ### Fixed
26
+ - **Passkey registration flow** — Name is now collected before the WebAuthn API call (was previously asking after OS biometric prompt)
27
+ - **Passkey REST calls** — Added `dataOnly: true` to prevent double-wrapped response (`resp.data.data`) causing "Failed to start" errors
28
+ - **Double password dialog** — Removed duplicate `onActionChangePassword` from `UserProfileView` that conflicted with `ProfileSecuritySection`'s handler
29
+ - **Phone number format** — Changed placeholder from E.164 format (`+14155550123`) to friendly format (`(415) 555-0123`) since backend normalizes
30
+ - **MetricsChart gear dropdown** — Chart type toggle now returns `true` from action handlers for EventDelegate auto-close; chart type moved back to SeriesChart's built-in switcher