@mohasinac/appkit 2.7.22 → 2.7.24

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 (51) hide show
  1. package/dist/client.d.ts +4 -0
  2. package/dist/client.js +3 -0
  3. package/dist/features/auth/consent-otp.js +8 -8
  4. package/dist/features/auth/permissions/constants.d.ts +1 -1
  5. package/dist/features/auth/permissions/constants.js +2 -0
  6. package/dist/features/before-after/messages/en.json +7 -7
  7. package/dist/features/collections/messages/en.json +9 -9
  8. package/dist/features/consultation/messages/en.json +24 -24
  9. package/dist/features/contact/email.js +179 -179
  10. package/dist/features/corporate/messages/en.json +25 -25
  11. package/dist/features/loyalty/messages/en.json +18 -18
  12. package/dist/features/media/messages/en.json +63 -63
  13. package/dist/features/pre-orders/messages/en.json +12 -12
  14. package/dist/features/site-settings/components/ActionPermissionsManager.d.ts +7 -0
  15. package/dist/features/site-settings/components/ActionPermissionsManager.js +99 -0
  16. package/dist/features/site-settings/components/NavPermissionsManager.d.ts +18 -0
  17. package/dist/features/site-settings/components/NavPermissionsManager.js +33 -0
  18. package/dist/features/whatsapp-bot/messages/en.json +6 -6
  19. package/dist/index.d.ts +4 -0
  20. package/dist/index.js +3 -0
  21. package/dist/next/routing/route-map.d.ts +4 -0
  22. package/dist/next/routing/route-map.js +2 -0
  23. package/dist/styles.css +21 -21
  24. package/dist/tailwind-utilities.css +1 -1
  25. package/dist/tokens/tokens.css +436 -436
  26. package/dist/ui/components/ActiveFilterChips.style.css +66 -66
  27. package/dist/ui/components/AvatarDisplay.style.css +46 -46
  28. package/dist/ui/components/BackgroundRenderer.style.css +31 -31
  29. package/dist/ui/components/Breadcrumb.style.css +60 -60
  30. package/dist/ui/components/CountdownDisplay.style.css +4 -4
  31. package/dist/ui/components/Div.style.css +6 -6
  32. package/dist/ui/components/EmptyState.style.css +28 -28
  33. package/dist/ui/components/FlowDiagram.style.css +77 -77
  34. package/dist/ui/components/FormGrid.style.css +32 -32
  35. package/dist/ui/components/ImageGallery.style.css +163 -163
  36. package/dist/ui/components/ImageLightbox.style.css +58 -58
  37. package/dist/ui/components/ItemRow.style.css +33 -33
  38. package/dist/ui/components/Layout.style.css +229 -229
  39. package/dist/ui/components/Menu.style.css +6 -6
  40. package/dist/ui/components/NavigationLoader.style.css +19 -19
  41. package/dist/ui/components/ResponsiveView.style.css +69 -69
  42. package/dist/ui/components/RoleBadge.style.css +7 -7
  43. package/dist/ui/components/SectionTabs.style.css +164 -164
  44. package/dist/ui/components/Semantic.style.css +14 -14
  45. package/dist/ui/components/SkipToMain.style.css +34 -34
  46. package/dist/ui/components/SortDropdown.style.css +12 -12
  47. package/dist/ui/components/StatusBadge.style.css +5 -5
  48. package/dist/ui/components/UnsavedChangesModal.style.css +33 -33
  49. package/dist/ui/components/ViewToggle.style.css +50 -50
  50. package/dist/ui/components/index.style.css +78 -78
  51. package/package.json +1 -1
@@ -1,66 +1,66 @@
1
- .appkit-active-filter-chips__chip {
2
- display: inline-flex;
3
- align-items: center;
4
- gap: 0.25rem;
5
- padding: 0.25rem 0.25rem 0.25rem 0.5rem;
6
- border: 1px solid var(--appkit-color-border);
7
- border-radius: 0.5rem;
8
- background: var(--appkit-color-zinc-50);
9
- color: var(--appkit-color-zinc-800);
10
- font-size: 0.75rem;
11
- font-weight: 500;
12
- }
13
-
14
- .dark .appkit-active-filter-chips__chip {
15
- border-color: var(--appkit-color-border);
16
- background: var(--appkit-color-slate-800);
17
- color: var(--appkit-color-slate-200);
18
- }
19
-
20
- .appkit-active-filter-chips__chip-label {
21
- margin-right: 0.125rem;
22
- color: var(--appkit-color-zinc-500);
23
- }
24
-
25
- .dark .appkit-active-filter-chips__chip-label {
26
- color: var(--appkit-color-slate-400);
27
- }
28
-
29
- .appkit-active-filter-chips__chip-remove {
30
- margin-left: 0.25rem;
31
- width: 1rem;
32
- height: 1rem;
33
- display: inline-flex;
34
- align-items: center;
35
- justify-content: center;
36
- border-radius: 9999px;
37
- transition: background-color 0.2s ease;
38
- }
39
-
40
- .appkit-active-filter-chips__chip-remove:hover {
41
- background: var(--appkit-color-zinc-300);
42
- }
43
-
44
- .dark .appkit-active-filter-chips__chip-remove:hover {
45
- background: var(--appkit-color-slate-600);
46
- }
47
-
48
- .appkit-active-filter-chips__chip-remove-icon {
49
- width: 0.625rem;
50
- height: 0.625rem;
51
- }
52
-
53
- .appkit-active-filter-chips__clear {
54
- padding: 0.5rem;
55
- font-size: 0.75rem;
56
- font-weight: 500;
57
- color: var(--appkit-color-secondary-600);
58
- }
59
-
60
- .appkit-active-filter-chips__clear:hover {
61
- text-decoration: underline;
62
- }
63
-
64
- .dark .appkit-active-filter-chips__clear {
65
- color: var(--appkit-color-primary-400);
66
- }
1
+ .appkit-active-filter-chips__chip {
2
+ display: inline-flex;
3
+ align-items: center;
4
+ gap: 0.25rem;
5
+ padding: 0.25rem 0.25rem 0.25rem 0.5rem;
6
+ border: 1px solid var(--appkit-color-border);
7
+ border-radius: 0.5rem;
8
+ background: var(--appkit-color-zinc-50);
9
+ color: var(--appkit-color-zinc-800);
10
+ font-size: 0.75rem;
11
+ font-weight: 500;
12
+ }
13
+
14
+ .dark .appkit-active-filter-chips__chip {
15
+ border-color: var(--appkit-color-border);
16
+ background: var(--appkit-color-slate-800);
17
+ color: var(--appkit-color-slate-200);
18
+ }
19
+
20
+ .appkit-active-filter-chips__chip-label {
21
+ margin-right: 0.125rem;
22
+ color: var(--appkit-color-zinc-500);
23
+ }
24
+
25
+ .dark .appkit-active-filter-chips__chip-label {
26
+ color: var(--appkit-color-slate-400);
27
+ }
28
+
29
+ .appkit-active-filter-chips__chip-remove {
30
+ margin-left: 0.25rem;
31
+ width: 1rem;
32
+ height: 1rem;
33
+ display: inline-flex;
34
+ align-items: center;
35
+ justify-content: center;
36
+ border-radius: 9999px;
37
+ transition: background-color 0.2s ease;
38
+ }
39
+
40
+ .appkit-active-filter-chips__chip-remove:hover {
41
+ background: var(--appkit-color-zinc-300);
42
+ }
43
+
44
+ .dark .appkit-active-filter-chips__chip-remove:hover {
45
+ background: var(--appkit-color-slate-600);
46
+ }
47
+
48
+ .appkit-active-filter-chips__chip-remove-icon {
49
+ width: 0.625rem;
50
+ height: 0.625rem;
51
+ }
52
+
53
+ .appkit-active-filter-chips__clear {
54
+ padding: 0.5rem;
55
+ font-size: 0.75rem;
56
+ font-weight: 500;
57
+ color: var(--appkit-color-secondary-600);
58
+ }
59
+
60
+ .appkit-active-filter-chips__clear:hover {
61
+ text-decoration: underline;
62
+ }
63
+
64
+ .dark .appkit-active-filter-chips__clear {
65
+ color: var(--appkit-color-primary-400);
66
+ }
@@ -1,46 +1,46 @@
1
- /* AvatarDisplay — avatar with crop/zoom or initials fallback */
2
-
3
- .appkit-avatar-display {
4
- display: flex;
5
- align-items: center;
6
- justify-content: center;
7
- overflow: hidden;
8
- border-radius: 9999px;
9
- }
10
-
11
- /* Sizes */
12
- .appkit-avatar-display--sm { height: 2rem; width: 2rem; }
13
- .appkit-avatar-display--md { height: 3rem; width: 3rem; }
14
- .appkit-avatar-display--lg { height: 4rem; width: 4rem; }
15
- .appkit-avatar-display--xl { height: 6rem; width: 6rem; }
16
- .appkit-avatar-display--2xl { height: 8rem; width: 8rem; }
17
-
18
- /* Initials fallback */
19
- .appkit-avatar-display--initials {
20
- background: linear-gradient(to bottom right, #3b82f6, #4f46e5);
21
- }
22
-
23
- .appkit-avatar-display__initials {
24
- user-select: none;
25
- font-weight: 600;
26
- color: var(--appkit-color-text-on-primary);
27
- }
28
-
29
- /* Image variant */
30
- .appkit-avatar-display--image {
31
- position: relative;
32
- background-color: var(--appkit-color-zinc-100);
33
- }
34
-
35
- :is(.dark) .appkit-avatar-display--image {
36
- background-color: var(--appkit-color-slate-800);
37
- }
38
-
39
- .appkit-avatar-display__image {
40
- position: absolute;
41
- height: 100%;
42
- width: 100%;
43
- transform: translate(-50%, -50%);
44
- background-position: center;
45
- background-repeat: no-repeat;
46
- }
1
+ /* AvatarDisplay — avatar with crop/zoom or initials fallback */
2
+
3
+ .appkit-avatar-display {
4
+ display: flex;
5
+ align-items: center;
6
+ justify-content: center;
7
+ overflow: hidden;
8
+ border-radius: 9999px;
9
+ }
10
+
11
+ /* Sizes */
12
+ .appkit-avatar-display--sm { height: 2rem; width: 2rem; }
13
+ .appkit-avatar-display--md { height: 3rem; width: 3rem; }
14
+ .appkit-avatar-display--lg { height: 4rem; width: 4rem; }
15
+ .appkit-avatar-display--xl { height: 6rem; width: 6rem; }
16
+ .appkit-avatar-display--2xl { height: 8rem; width: 8rem; }
17
+
18
+ /* Initials fallback */
19
+ .appkit-avatar-display--initials {
20
+ background: linear-gradient(to bottom right, #3b82f6, #4f46e5);
21
+ }
22
+
23
+ .appkit-avatar-display__initials {
24
+ user-select: none;
25
+ font-weight: 600;
26
+ color: var(--appkit-color-text-on-primary);
27
+ }
28
+
29
+ /* Image variant */
30
+ .appkit-avatar-display--image {
31
+ position: relative;
32
+ background-color: var(--appkit-color-zinc-100);
33
+ }
34
+
35
+ :is(.dark) .appkit-avatar-display--image {
36
+ background-color: var(--appkit-color-slate-800);
37
+ }
38
+
39
+ .appkit-avatar-display__image {
40
+ position: absolute;
41
+ height: 100%;
42
+ width: 100%;
43
+ transform: translate(-50%, -50%);
44
+ background-position: center;
45
+ background-repeat: no-repeat;
46
+ }
@@ -1,31 +1,31 @@
1
- /* BackgroundRenderer — fullscreen background layer with video/overlay support */
2
-
3
- .appkit-bg-renderer {
4
- position: fixed;
5
- inset: 0;
6
- z-index: -10;
7
- transition: all 0.5s ease;
8
- }
9
-
10
- .appkit-bg-renderer__video {
11
- width: 100%;
12
- height: 100%;
13
- object-fit: cover;
14
- transition: opacity 0.5s ease;
15
- }
16
-
17
- .appkit-bg-renderer__video--loading {
18
- opacity: 0;
19
- }
20
-
21
- .appkit-bg-renderer__video--loaded {
22
- opacity: 1;
23
- }
24
-
25
- .appkit-bg-renderer__overlay {
26
- position: fixed;
27
- inset: 0;
28
- z-index: -5;
29
- transition: all 0.5s ease;
30
- pointer-events: none;
31
- }
1
+ /* BackgroundRenderer — fullscreen background layer with video/overlay support */
2
+
3
+ .appkit-bg-renderer {
4
+ position: fixed;
5
+ inset: 0;
6
+ z-index: -10;
7
+ transition: all 0.5s ease;
8
+ }
9
+
10
+ .appkit-bg-renderer__video {
11
+ width: 100%;
12
+ height: 100%;
13
+ object-fit: cover;
14
+ transition: opacity 0.5s ease;
15
+ }
16
+
17
+ .appkit-bg-renderer__video--loading {
18
+ opacity: 0;
19
+ }
20
+
21
+ .appkit-bg-renderer__video--loaded {
22
+ opacity: 1;
23
+ }
24
+
25
+ .appkit-bg-renderer__overlay {
26
+ position: fixed;
27
+ inset: 0;
28
+ z-index: -5;
29
+ transition: all 0.5s ease;
30
+ pointer-events: none;
31
+ }
@@ -1,60 +1,60 @@
1
- .appkit-breadcrumb__list {
2
- display: flex;
3
- flex-wrap: wrap;
4
- align-items: center;
5
- gap: 0.25rem;
6
- font-size: 0.875rem;
7
- color: var(--appkit-color-zinc-500);
8
- }
9
-
10
- .dark .appkit-breadcrumb__list {
11
- color: var(--appkit-color-text-faint);
12
- }
13
-
14
- .appkit-breadcrumb__item {
15
- display: inline-flex;
16
- align-items: center;
17
- gap: 0.25rem;
18
- }
19
-
20
- .appkit-breadcrumb__separator {
21
- width: 0.875rem;
22
- height: 0.875rem;
23
- flex-shrink: 0;
24
- color: var(--appkit-color-text-faint);
25
- }
26
-
27
- .dark .appkit-breadcrumb__separator {
28
- color: var(--appkit-color-zinc-500);
29
- }
30
-
31
- .appkit-breadcrumb__text {
32
- color: var(--appkit-color-zinc-500);
33
- }
34
-
35
- .dark .appkit-breadcrumb__text {
36
- color: var(--appkit-color-text-faint);
37
- }
38
-
39
- .appkit-breadcrumb__current {
40
- font-weight: 500;
41
- color: var(--appkit-color-text);
42
- }
43
-
44
- .dark .appkit-breadcrumb__current {
45
- color: var(--appkit-color-text);
46
- }
47
-
48
- .appkit-breadcrumb__link {
49
- color: inherit;
50
- text-decoration: none;
51
- transition: color 0.2s ease;
52
- }
53
-
54
- .appkit-breadcrumb__link:hover {
55
- color: var(--appkit-color-secondary-600);
56
- }
57
-
58
- .dark .appkit-breadcrumb__link:hover {
59
- color: var(--appkit-color-primary-400);
60
- }
1
+ .appkit-breadcrumb__list {
2
+ display: flex;
3
+ flex-wrap: wrap;
4
+ align-items: center;
5
+ gap: 0.25rem;
6
+ font-size: 0.875rem;
7
+ color: var(--appkit-color-zinc-500);
8
+ }
9
+
10
+ .dark .appkit-breadcrumb__list {
11
+ color: var(--appkit-color-text-faint);
12
+ }
13
+
14
+ .appkit-breadcrumb__item {
15
+ display: inline-flex;
16
+ align-items: center;
17
+ gap: 0.25rem;
18
+ }
19
+
20
+ .appkit-breadcrumb__separator {
21
+ width: 0.875rem;
22
+ height: 0.875rem;
23
+ flex-shrink: 0;
24
+ color: var(--appkit-color-text-faint);
25
+ }
26
+
27
+ .dark .appkit-breadcrumb__separator {
28
+ color: var(--appkit-color-zinc-500);
29
+ }
30
+
31
+ .appkit-breadcrumb__text {
32
+ color: var(--appkit-color-zinc-500);
33
+ }
34
+
35
+ .dark .appkit-breadcrumb__text {
36
+ color: var(--appkit-color-text-faint);
37
+ }
38
+
39
+ .appkit-breadcrumb__current {
40
+ font-weight: 500;
41
+ color: var(--appkit-color-text);
42
+ }
43
+
44
+ .dark .appkit-breadcrumb__current {
45
+ color: var(--appkit-color-text);
46
+ }
47
+
48
+ .appkit-breadcrumb__link {
49
+ color: inherit;
50
+ text-decoration: none;
51
+ transition: color 0.2s ease;
52
+ }
53
+
54
+ .appkit-breadcrumb__link:hover {
55
+ color: var(--appkit-color-secondary-600);
56
+ }
57
+
58
+ .dark .appkit-breadcrumb__link:hover {
59
+ color: var(--appkit-color-primary-400);
60
+ }
@@ -1,4 +1,4 @@
1
- .appkit-countdown {
2
- font-variant-numeric: tabular-nums;
3
- letter-spacing: 0.01em;
4
- }
1
+ .appkit-countdown {
2
+ font-variant-numeric: tabular-nums;
3
+ letter-spacing: 0.01em;
4
+ }
@@ -1,6 +1,6 @@
1
- /* Div — general-purpose layout container wrapper */
2
- /* Pure passthrough — no default styles. Exists for style contract compliance. */
3
-
4
- .appkit-div {
5
- /* Consumer themes may add base styles here */
6
- }
1
+ /* Div — general-purpose layout container wrapper */
2
+ /* Pure passthrough — no default styles. Exists for style contract compliance. */
3
+
4
+ .appkit-div {
5
+ /* Consumer themes may add base styles here */
6
+ }
@@ -1,28 +1,28 @@
1
- /* EmptyState — centered feedback panel with icon, title, description, action */
2
-
3
- .appkit-empty-state {
4
- text-align: center;
5
- display: flex;
6
- flex-direction: column;
7
- align-items: center;
8
- justify-content: center;
9
- gap: 0.75rem;
10
- min-height: 220px;
11
- }
12
-
13
- .appkit-empty-state__icon {
14
- color: var(--appkit-color-text-faint);
15
- }
16
-
17
- .appkit-empty-state__description {
18
- max-width: 48ch;
19
- }
20
-
21
- .appkit-empty-state__action {
22
- padding-top: 0.25rem;
23
- }
24
-
25
- /* Dark mode */
26
- .dark .appkit-empty-state__icon {
27
- color: var(--appkit-color-slate-500);
28
- }
1
+ /* EmptyState — centered feedback panel with icon, title, description, action */
2
+
3
+ .appkit-empty-state {
4
+ text-align: center;
5
+ display: flex;
6
+ flex-direction: column;
7
+ align-items: center;
8
+ justify-content: center;
9
+ gap: 0.75rem;
10
+ min-height: 220px;
11
+ }
12
+
13
+ .appkit-empty-state__icon {
14
+ color: var(--appkit-color-text-faint);
15
+ }
16
+
17
+ .appkit-empty-state__description {
18
+ max-width: 48ch;
19
+ }
20
+
21
+ .appkit-empty-state__action {
22
+ padding-top: 0.25rem;
23
+ }
24
+
25
+ /* Dark mode */
26
+ .dark .appkit-empty-state__icon {
27
+ color: var(--appkit-color-slate-500);
28
+ }
@@ -1,77 +1,77 @@
1
- /* FlowDiagram — step chain with connectors, badges, and optional note strip */
2
-
3
- .appkit-flow-diagram {
4
- border-radius: 1rem;
5
- border: 1px solid;
6
- overflow: hidden;
7
- }
8
-
9
- .appkit-flow-diagram__header {
10
- padding: 0.75rem 1.25rem;
11
- border-bottom: 1px solid;
12
- }
13
-
14
- .appkit-flow-diagram__body {
15
- padding: 1.25rem;
16
- }
17
-
18
- .appkit-flow-diagram__chain {
19
- display: flex;
20
- align-items: flex-start;
21
- gap: 0.375rem;
22
- margin-bottom: 1rem;
23
- }
24
-
25
- .appkit-flow-diagram__chain--scroll {
26
- overflow-x: auto;
27
- padding-bottom: 0.75rem;
28
- scroll-behavior: smooth;
29
- }
30
-
31
- .appkit-flow-diagram__chain--centered {
32
- justify-content: center;
33
- }
34
-
35
- .appkit-flow-diagram__step {
36
- flex-shrink: 0;
37
- display: flex;
38
- flex-direction: column;
39
- align-items: center;
40
- text-align: center;
41
- gap: 0.25rem;
42
- }
43
-
44
- .appkit-flow-diagram__circle {
45
- width: 3rem;
46
- height: 3rem;
47
- border-radius: 9999px;
48
- display: flex;
49
- align-items: center;
50
- justify-content: center;
51
- font-size: 1.25rem;
52
- }
53
-
54
- .appkit-flow-diagram__connector {
55
- flex-shrink: 0;
56
- align-self: flex-start;
57
- height: 0.125rem;
58
- width: 1.25rem;
59
- margin-top: 1.5rem;
60
- }
61
-
62
- .appkit-flow-diagram__badge {
63
- font-size: var(--appkit-text-2xs);
64
- font-weight: 700;
65
- padding: 0.125rem 0.375rem;
66
- border-radius: 9999px;
67
- }
68
-
69
- .appkit-flow-diagram__note {
70
- margin-top: 0.75rem;
71
- padding-top: 0.75rem;
72
- border-top: 1px dashed var(--appkit-color-slate-200);
73
- }
74
-
75
- :is(.dark) .appkit-flow-diagram__note {
76
- border-top-color: var(--appkit-color-border);
77
- }
1
+ /* FlowDiagram — step chain with connectors, badges, and optional note strip */
2
+
3
+ .appkit-flow-diagram {
4
+ border-radius: 1rem;
5
+ border: 1px solid;
6
+ overflow: hidden;
7
+ }
8
+
9
+ .appkit-flow-diagram__header {
10
+ padding: 0.75rem 1.25rem;
11
+ border-bottom: 1px solid;
12
+ }
13
+
14
+ .appkit-flow-diagram__body {
15
+ padding: 1.25rem;
16
+ }
17
+
18
+ .appkit-flow-diagram__chain {
19
+ display: flex;
20
+ align-items: flex-start;
21
+ gap: 0.375rem;
22
+ margin-bottom: 1rem;
23
+ }
24
+
25
+ .appkit-flow-diagram__chain--scroll {
26
+ overflow-x: auto;
27
+ padding-bottom: 0.75rem;
28
+ scroll-behavior: smooth;
29
+ }
30
+
31
+ .appkit-flow-diagram__chain--centered {
32
+ justify-content: center;
33
+ }
34
+
35
+ .appkit-flow-diagram__step {
36
+ flex-shrink: 0;
37
+ display: flex;
38
+ flex-direction: column;
39
+ align-items: center;
40
+ text-align: center;
41
+ gap: 0.25rem;
42
+ }
43
+
44
+ .appkit-flow-diagram__circle {
45
+ width: 3rem;
46
+ height: 3rem;
47
+ border-radius: 9999px;
48
+ display: flex;
49
+ align-items: center;
50
+ justify-content: center;
51
+ font-size: 1.25rem;
52
+ }
53
+
54
+ .appkit-flow-diagram__connector {
55
+ flex-shrink: 0;
56
+ align-self: flex-start;
57
+ height: 0.125rem;
58
+ width: 1.25rem;
59
+ margin-top: 1.5rem;
60
+ }
61
+
62
+ .appkit-flow-diagram__badge {
63
+ font-size: var(--appkit-text-2xs);
64
+ font-weight: 700;
65
+ padding: 0.125rem 0.375rem;
66
+ border-radius: 9999px;
67
+ }
68
+
69
+ .appkit-flow-diagram__note {
70
+ margin-top: 0.75rem;
71
+ padding-top: 0.75rem;
72
+ border-top: 1px dashed var(--appkit-color-slate-200);
73
+ }
74
+
75
+ :is(.dark) .appkit-flow-diagram__note {
76
+ border-top-color: var(--appkit-color-border);
77
+ }