@ziyarago/ui 0.6.1 → 0.7.0
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/CHANGELOG.md +6 -0
- package/README.md +4 -4
- package/dist/llms-full.txt +102 -2
- package/dist/llms.txt +9 -3
- package/dist/manifest.json +931 -1
- package/package.json +2 -2
- package/src/core/pages.js +7 -1
- package/src/meta/groups.js +1 -1
- package/src/meta/pages.js +76 -0
- package/src/meta/templates.json +747 -1
- package/src/react/index.js +6 -0
- package/src/vue/index.js +1 -1
- package/types/react.d.ts +329 -0
- package/types/vue-global.d.ts +6 -0
- package/types/vue.d.ts +219 -0
package/dist/manifest.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ziyarago/ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"homepage": "https://ziyara.vip",
|
|
5
5
|
"imports": {
|
|
6
6
|
"vue": "import { UiButton } from '@ziyarago/ui/vue'",
|
|
@@ -275,6 +275,12 @@
|
|
|
275
275
|
"PageAccount",
|
|
276
276
|
"PagePricing",
|
|
277
277
|
"PageFaq",
|
|
278
|
+
"PageAnalytics",
|
|
279
|
+
"PageNotifications",
|
|
280
|
+
"PageInbox",
|
|
281
|
+
"PageCheckout",
|
|
282
|
+
"PageOnboarding",
|
|
283
|
+
"PageLanding",
|
|
278
284
|
"PageAuth",
|
|
279
285
|
"PageStatus"
|
|
280
286
|
]
|
|
@@ -2648,6 +2654,734 @@
|
|
|
2648
2654
|
"use": "<UiAccordion :items=\"faq\" />"
|
|
2649
2655
|
}
|
|
2650
2656
|
]
|
|
2657
|
+
},
|
|
2658
|
+
{
|
|
2659
|
+
"id": "landing",
|
|
2660
|
+
"label": "Landing",
|
|
2661
|
+
"component": "UiPageLanding",
|
|
2662
|
+
"description": "Marketing page: hero, logos, feature grid, social proof, pricing teaser, final call to action and footer.",
|
|
2663
|
+
"shell": false,
|
|
2664
|
+
"slots": [
|
|
2665
|
+
{
|
|
2666
|
+
"id": "hero",
|
|
2667
|
+
"title": "Hero",
|
|
2668
|
+
"desc": "Headline, subtitle and two buttons on a gradient card.",
|
|
2669
|
+
"accepts": [
|
|
2670
|
+
"HeroBanner",
|
|
2671
|
+
"Card",
|
|
2672
|
+
"Button"
|
|
2673
|
+
],
|
|
2674
|
+
"props": [
|
|
2675
|
+
{
|
|
2676
|
+
"name": "title",
|
|
2677
|
+
"type": "string",
|
|
2678
|
+
"desc": "H1 and a short supporting line"
|
|
2679
|
+
}
|
|
2680
|
+
],
|
|
2681
|
+
"use": "<UiHeroBanner title=\"Plan your Umrah\" cta=\"Get started\" />"
|
|
2682
|
+
},
|
|
2683
|
+
{
|
|
2684
|
+
"id": "logos",
|
|
2685
|
+
"title": "Logo strip",
|
|
2686
|
+
"desc": "Row of partner names under the hero.",
|
|
2687
|
+
"accepts": [
|
|
2688
|
+
"Chip",
|
|
2689
|
+
"Text"
|
|
2690
|
+
],
|
|
2691
|
+
"props": [
|
|
2692
|
+
{
|
|
2693
|
+
"name": "items",
|
|
2694
|
+
"type": "string[]",
|
|
2695
|
+
"desc": "Partner names"
|
|
2696
|
+
}
|
|
2697
|
+
],
|
|
2698
|
+
"use": "<UiChip pill>Hilton</UiChip>"
|
|
2699
|
+
},
|
|
2700
|
+
{
|
|
2701
|
+
"id": "features",
|
|
2702
|
+
"title": "Features",
|
|
2703
|
+
"desc": "Grid of icon, title and text cards.",
|
|
2704
|
+
"accepts": [
|
|
2705
|
+
"Card",
|
|
2706
|
+
"IconTile"
|
|
2707
|
+
],
|
|
2708
|
+
"props": [
|
|
2709
|
+
{
|
|
2710
|
+
"name": "items",
|
|
2711
|
+
"type": "{icon,title,text}[]",
|
|
2712
|
+
"desc": "Three to six features"
|
|
2713
|
+
}
|
|
2714
|
+
],
|
|
2715
|
+
"use": "<UiCard title=\"Offline guides\">…</UiCard>"
|
|
2716
|
+
},
|
|
2717
|
+
{
|
|
2718
|
+
"id": "proof",
|
|
2719
|
+
"title": "Social proof",
|
|
2720
|
+
"desc": "Stats strip and customer quotes.",
|
|
2721
|
+
"accepts": [
|
|
2722
|
+
"StatStrip",
|
|
2723
|
+
"Card",
|
|
2724
|
+
"Avatar"
|
|
2725
|
+
],
|
|
2726
|
+
"props": [
|
|
2727
|
+
{
|
|
2728
|
+
"name": "items",
|
|
2729
|
+
"type": "{value,label}[]",
|
|
2730
|
+
"desc": "Headline numbers"
|
|
2731
|
+
}
|
|
2732
|
+
],
|
|
2733
|
+
"use": "<UiStatStrip :items=\"stats\" />"
|
|
2734
|
+
},
|
|
2735
|
+
{
|
|
2736
|
+
"id": "pricing",
|
|
2737
|
+
"title": "Pricing teaser",
|
|
2738
|
+
"desc": "Two or three plans with a link to the full pricing page.",
|
|
2739
|
+
"accepts": [
|
|
2740
|
+
"PricingCard",
|
|
2741
|
+
"Button"
|
|
2742
|
+
],
|
|
2743
|
+
"props": [
|
|
2744
|
+
{
|
|
2745
|
+
"name": "plans",
|
|
2746
|
+
"type": "Plan[]",
|
|
2747
|
+
"desc": "Name, price, features"
|
|
2748
|
+
}
|
|
2749
|
+
],
|
|
2750
|
+
"use": "<UiPricingCard name=\"Plus\" price=\"$4.99\" />"
|
|
2751
|
+
},
|
|
2752
|
+
{
|
|
2753
|
+
"id": "cta",
|
|
2754
|
+
"title": "Call to action",
|
|
2755
|
+
"desc": "Closing block with one primary button.",
|
|
2756
|
+
"accepts": [
|
|
2757
|
+
"Card",
|
|
2758
|
+
"Button"
|
|
2759
|
+
],
|
|
2760
|
+
"props": [
|
|
2761
|
+
{
|
|
2762
|
+
"name": "cta",
|
|
2763
|
+
"type": "string",
|
|
2764
|
+
"desc": "Button label"
|
|
2765
|
+
}
|
|
2766
|
+
],
|
|
2767
|
+
"use": "<UiCard variant=\"gradient\">…</UiCard>"
|
|
2768
|
+
},
|
|
2769
|
+
{
|
|
2770
|
+
"id": "footer",
|
|
2771
|
+
"title": "Footer",
|
|
2772
|
+
"desc": "Copyright and links.",
|
|
2773
|
+
"accepts": [
|
|
2774
|
+
"Footer"
|
|
2775
|
+
],
|
|
2776
|
+
"props": [
|
|
2777
|
+
{
|
|
2778
|
+
"name": "links",
|
|
2779
|
+
"type": "{label,href}[]",
|
|
2780
|
+
"desc": ""
|
|
2781
|
+
}
|
|
2782
|
+
],
|
|
2783
|
+
"use": "<UiFooter copyright=\"© 2026\" :links=\"links\" />"
|
|
2784
|
+
}
|
|
2785
|
+
]
|
|
2786
|
+
},
|
|
2787
|
+
{
|
|
2788
|
+
"id": "onboarding",
|
|
2789
|
+
"label": "Onboarding",
|
|
2790
|
+
"component": "UiPageOnboarding",
|
|
2791
|
+
"description": "First-run setup: progress, step content, checklist and side tips.",
|
|
2792
|
+
"shell": true,
|
|
2793
|
+
"slots": [
|
|
2794
|
+
{
|
|
2795
|
+
"id": "header",
|
|
2796
|
+
"title": "Page heading",
|
|
2797
|
+
"desc": "Breadcrumbs, heading, caption and action buttons on the right.",
|
|
2798
|
+
"accepts": [
|
|
2799
|
+
"PageHeader",
|
|
2800
|
+
"Breadcrumbs",
|
|
2801
|
+
"Button",
|
|
2802
|
+
"SegmentedControl"
|
|
2803
|
+
],
|
|
2804
|
+
"props": [
|
|
2805
|
+
{
|
|
2806
|
+
"name": "title",
|
|
2807
|
+
"type": "string",
|
|
2808
|
+
"desc": "H1, up to 60 characters"
|
|
2809
|
+
},
|
|
2810
|
+
{
|
|
2811
|
+
"name": "subtitle",
|
|
2812
|
+
"type": "string?",
|
|
2813
|
+
"desc": "Gray caption below the heading"
|
|
2814
|
+
},
|
|
2815
|
+
{
|
|
2816
|
+
"name": "crumbs",
|
|
2817
|
+
"type": "{label,href?}[]",
|
|
2818
|
+
"desc": "Breadcrumbs"
|
|
2819
|
+
},
|
|
2820
|
+
{
|
|
2821
|
+
"name": "actions",
|
|
2822
|
+
"type": "VNode",
|
|
2823
|
+
"desc": "Buttons on the right; wrap below on a narrow screen"
|
|
2824
|
+
}
|
|
2825
|
+
],
|
|
2826
|
+
"use": "<UiPageHeader title=\"Dashboard\" :crumbs=\"crumbs\">\n <template #actions><UiButton variant=\"primary\">Export</UiButton></template>\n</UiPageHeader>"
|
|
2827
|
+
},
|
|
2828
|
+
{
|
|
2829
|
+
"id": "progress",
|
|
2830
|
+
"title": "Progress",
|
|
2831
|
+
"desc": "Stepper and overall completion bar.",
|
|
2832
|
+
"accepts": [
|
|
2833
|
+
"Stepper",
|
|
2834
|
+
"Progress"
|
|
2835
|
+
],
|
|
2836
|
+
"props": [
|
|
2837
|
+
{
|
|
2838
|
+
"name": "current",
|
|
2839
|
+
"type": "number",
|
|
2840
|
+
"desc": "Index of the active step"
|
|
2841
|
+
}
|
|
2842
|
+
],
|
|
2843
|
+
"use": "<UiStepper :steps=\"steps\" :current=\"1\" />"
|
|
2844
|
+
},
|
|
2845
|
+
{
|
|
2846
|
+
"id": "steps",
|
|
2847
|
+
"title": "Step content",
|
|
2848
|
+
"desc": "Form or choice for the active step.",
|
|
2849
|
+
"accepts": [
|
|
2850
|
+
"Card",
|
|
2851
|
+
"TextField",
|
|
2852
|
+
"OptionCards",
|
|
2853
|
+
"Button"
|
|
2854
|
+
],
|
|
2855
|
+
"props": [
|
|
2856
|
+
{
|
|
2857
|
+
"name": "step",
|
|
2858
|
+
"type": "number",
|
|
2859
|
+
"desc": "Active step"
|
|
2860
|
+
}
|
|
2861
|
+
],
|
|
2862
|
+
"use": "<UiCard title=\"Your company\">…</UiCard>"
|
|
2863
|
+
},
|
|
2864
|
+
{
|
|
2865
|
+
"id": "checklist",
|
|
2866
|
+
"title": "Checklist",
|
|
2867
|
+
"desc": "Tasks to finish setup with done marks.",
|
|
2868
|
+
"accepts": [
|
|
2869
|
+
"Card",
|
|
2870
|
+
"Checkbox",
|
|
2871
|
+
"Progress"
|
|
2872
|
+
],
|
|
2873
|
+
"props": [
|
|
2874
|
+
{
|
|
2875
|
+
"name": "items",
|
|
2876
|
+
"type": "{id,label,done}[]",
|
|
2877
|
+
"desc": ""
|
|
2878
|
+
}
|
|
2879
|
+
],
|
|
2880
|
+
"use": "<UiCheckbox v-model=\"done\" label=\"Add a hotel\" />"
|
|
2881
|
+
},
|
|
2882
|
+
{
|
|
2883
|
+
"id": "tips",
|
|
2884
|
+
"title": "Tips",
|
|
2885
|
+
"desc": "Side cards with help and a contact link.",
|
|
2886
|
+
"accepts": [
|
|
2887
|
+
"Card",
|
|
2888
|
+
"IconTile",
|
|
2889
|
+
"Button"
|
|
2890
|
+
],
|
|
2891
|
+
"props": [
|
|
2892
|
+
{
|
|
2893
|
+
"name": "tips",
|
|
2894
|
+
"type": "{icon,title,text}[]",
|
|
2895
|
+
"desc": ""
|
|
2896
|
+
}
|
|
2897
|
+
],
|
|
2898
|
+
"use": "<UiCard title=\"Need help?\">…</UiCard>"
|
|
2899
|
+
}
|
|
2900
|
+
]
|
|
2901
|
+
},
|
|
2902
|
+
{
|
|
2903
|
+
"id": "checkout",
|
|
2904
|
+
"label": "Checkout",
|
|
2905
|
+
"component": "UiPageCheckout",
|
|
2906
|
+
"description": "Checkout: steps, cart items, address, payment method and an order summary.",
|
|
2907
|
+
"shell": true,
|
|
2908
|
+
"slots": [
|
|
2909
|
+
{
|
|
2910
|
+
"id": "header",
|
|
2911
|
+
"title": "Page heading",
|
|
2912
|
+
"desc": "Breadcrumbs, heading, caption and action buttons on the right.",
|
|
2913
|
+
"accepts": [
|
|
2914
|
+
"PageHeader",
|
|
2915
|
+
"Breadcrumbs",
|
|
2916
|
+
"Button",
|
|
2917
|
+
"SegmentedControl"
|
|
2918
|
+
],
|
|
2919
|
+
"props": [
|
|
2920
|
+
{
|
|
2921
|
+
"name": "title",
|
|
2922
|
+
"type": "string",
|
|
2923
|
+
"desc": "H1, up to 60 characters"
|
|
2924
|
+
},
|
|
2925
|
+
{
|
|
2926
|
+
"name": "subtitle",
|
|
2927
|
+
"type": "string?",
|
|
2928
|
+
"desc": "Gray caption below the heading"
|
|
2929
|
+
},
|
|
2930
|
+
{
|
|
2931
|
+
"name": "crumbs",
|
|
2932
|
+
"type": "{label,href?}[]",
|
|
2933
|
+
"desc": "Breadcrumbs"
|
|
2934
|
+
},
|
|
2935
|
+
{
|
|
2936
|
+
"name": "actions",
|
|
2937
|
+
"type": "VNode",
|
|
2938
|
+
"desc": "Buttons on the right; wrap below on a narrow screen"
|
|
2939
|
+
}
|
|
2940
|
+
],
|
|
2941
|
+
"use": "<UiPageHeader title=\"Dashboard\" :crumbs=\"crumbs\">\n <template #actions><UiButton variant=\"primary\">Export</UiButton></template>\n</UiPageHeader>"
|
|
2942
|
+
},
|
|
2943
|
+
{
|
|
2944
|
+
"id": "steps",
|
|
2945
|
+
"title": "Steps",
|
|
2946
|
+
"desc": "Cart, details, payment, done.",
|
|
2947
|
+
"accepts": [
|
|
2948
|
+
"Stepper"
|
|
2949
|
+
],
|
|
2950
|
+
"props": [
|
|
2951
|
+
{
|
|
2952
|
+
"name": "current",
|
|
2953
|
+
"type": "number",
|
|
2954
|
+
"desc": ""
|
|
2955
|
+
}
|
|
2956
|
+
],
|
|
2957
|
+
"use": "<UiStepper :steps=\"steps\" :current=\"1\" />"
|
|
2958
|
+
},
|
|
2959
|
+
{
|
|
2960
|
+
"id": "items",
|
|
2961
|
+
"title": "Cart items",
|
|
2962
|
+
"desc": "Lines with quantity and price.",
|
|
2963
|
+
"accepts": [
|
|
2964
|
+
"Card",
|
|
2965
|
+
"NumberInput",
|
|
2966
|
+
"IconButton"
|
|
2967
|
+
],
|
|
2968
|
+
"props": [
|
|
2969
|
+
{
|
|
2970
|
+
"name": "items",
|
|
2971
|
+
"type": "{title,qty,price}[]",
|
|
2972
|
+
"desc": ""
|
|
2973
|
+
}
|
|
2974
|
+
],
|
|
2975
|
+
"use": "<UiCard title=\"Your cart\">…</UiCard>"
|
|
2976
|
+
},
|
|
2977
|
+
{
|
|
2978
|
+
"id": "address",
|
|
2979
|
+
"title": "Address",
|
|
2980
|
+
"desc": "Contact and delivery fields.",
|
|
2981
|
+
"accepts": [
|
|
2982
|
+
"Card",
|
|
2983
|
+
"TextField",
|
|
2984
|
+
"Select"
|
|
2985
|
+
],
|
|
2986
|
+
"props": [
|
|
2987
|
+
{
|
|
2988
|
+
"name": "address",
|
|
2989
|
+
"type": "object",
|
|
2990
|
+
"desc": ""
|
|
2991
|
+
}
|
|
2992
|
+
],
|
|
2993
|
+
"use": "<UiCard title=\"Address\">…</UiCard>"
|
|
2994
|
+
},
|
|
2995
|
+
{
|
|
2996
|
+
"id": "payment",
|
|
2997
|
+
"title": "Payment",
|
|
2998
|
+
"desc": "Payment method choice and card fields.",
|
|
2999
|
+
"accepts": [
|
|
3000
|
+
"OptionCards",
|
|
3001
|
+
"TextField"
|
|
3002
|
+
],
|
|
3003
|
+
"props": [
|
|
3004
|
+
{
|
|
3005
|
+
"name": "method",
|
|
3006
|
+
"type": "string",
|
|
3007
|
+
"desc": ""
|
|
3008
|
+
}
|
|
3009
|
+
],
|
|
3010
|
+
"use": "<UiOptionCards v-model=\"method\" :options=\"methods\" />"
|
|
3011
|
+
},
|
|
3012
|
+
{
|
|
3013
|
+
"id": "summary",
|
|
3014
|
+
"title": "Order summary",
|
|
3015
|
+
"desc": "Totals, promo code and the pay button.",
|
|
3016
|
+
"accepts": [
|
|
3017
|
+
"Card",
|
|
3018
|
+
"Descriptions",
|
|
3019
|
+
"Button"
|
|
3020
|
+
],
|
|
3021
|
+
"props": [
|
|
3022
|
+
{
|
|
3023
|
+
"name": "total",
|
|
3024
|
+
"type": "string",
|
|
3025
|
+
"desc": ""
|
|
3026
|
+
}
|
|
3027
|
+
],
|
|
3028
|
+
"use": "<UiCard title=\"Summary\">…</UiCard>"
|
|
3029
|
+
}
|
|
3030
|
+
]
|
|
3031
|
+
},
|
|
3032
|
+
{
|
|
3033
|
+
"id": "inbox",
|
|
3034
|
+
"label": "Inbox",
|
|
3035
|
+
"component": "UiPageInbox",
|
|
3036
|
+
"description": "Conversation list, message thread with composer and a customer panel; stacks on mobile.",
|
|
3037
|
+
"shell": true,
|
|
3038
|
+
"slots": [
|
|
3039
|
+
{
|
|
3040
|
+
"id": "header",
|
|
3041
|
+
"title": "Page heading",
|
|
3042
|
+
"desc": "Breadcrumbs, heading, caption and action buttons on the right.",
|
|
3043
|
+
"accepts": [
|
|
3044
|
+
"PageHeader",
|
|
3045
|
+
"Breadcrumbs",
|
|
3046
|
+
"Button",
|
|
3047
|
+
"SegmentedControl"
|
|
3048
|
+
],
|
|
3049
|
+
"props": [
|
|
3050
|
+
{
|
|
3051
|
+
"name": "title",
|
|
3052
|
+
"type": "string",
|
|
3053
|
+
"desc": "H1, up to 60 characters"
|
|
3054
|
+
},
|
|
3055
|
+
{
|
|
3056
|
+
"name": "subtitle",
|
|
3057
|
+
"type": "string?",
|
|
3058
|
+
"desc": "Gray caption below the heading"
|
|
3059
|
+
},
|
|
3060
|
+
{
|
|
3061
|
+
"name": "crumbs",
|
|
3062
|
+
"type": "{label,href?}[]",
|
|
3063
|
+
"desc": "Breadcrumbs"
|
|
3064
|
+
},
|
|
3065
|
+
{
|
|
3066
|
+
"name": "actions",
|
|
3067
|
+
"type": "VNode",
|
|
3068
|
+
"desc": "Buttons on the right; wrap below on a narrow screen"
|
|
3069
|
+
}
|
|
3070
|
+
],
|
|
3071
|
+
"use": "<UiPageHeader title=\"Dashboard\" :crumbs=\"crumbs\">\n <template #actions><UiButton variant=\"primary\">Export</UiButton></template>\n</UiPageHeader>"
|
|
3072
|
+
},
|
|
3073
|
+
{
|
|
3074
|
+
"id": "filters",
|
|
3075
|
+
"title": "Filters",
|
|
3076
|
+
"desc": "Search and folder chips above the list.",
|
|
3077
|
+
"accepts": [
|
|
3078
|
+
"SearchInput",
|
|
3079
|
+
"FilterChips"
|
|
3080
|
+
],
|
|
3081
|
+
"props": [
|
|
3082
|
+
{
|
|
3083
|
+
"name": "query",
|
|
3084
|
+
"type": "string",
|
|
3085
|
+
"desc": ""
|
|
3086
|
+
}
|
|
3087
|
+
],
|
|
3088
|
+
"use": "<UiSearchInput v-model=\"q\" />"
|
|
3089
|
+
},
|
|
3090
|
+
{
|
|
3091
|
+
"id": "list",
|
|
3092
|
+
"title": "Conversations",
|
|
3093
|
+
"desc": "List of conversations with unread marks.",
|
|
3094
|
+
"accepts": [
|
|
3095
|
+
"Card",
|
|
3096
|
+
"Avatar",
|
|
3097
|
+
"Badge"
|
|
3098
|
+
],
|
|
3099
|
+
"props": [
|
|
3100
|
+
{
|
|
3101
|
+
"name": "items",
|
|
3102
|
+
"type": "{id,name,preview,time,unread}[]",
|
|
3103
|
+
"desc": ""
|
|
3104
|
+
}
|
|
3105
|
+
],
|
|
3106
|
+
"use": "<UiCard>…</UiCard>"
|
|
3107
|
+
},
|
|
3108
|
+
{
|
|
3109
|
+
"id": "thread",
|
|
3110
|
+
"title": "Thread",
|
|
3111
|
+
"desc": "Messages of the open conversation.",
|
|
3112
|
+
"accepts": [
|
|
3113
|
+
"Card",
|
|
3114
|
+
"Avatar"
|
|
3115
|
+
],
|
|
3116
|
+
"props": [
|
|
3117
|
+
{
|
|
3118
|
+
"name": "messages",
|
|
3119
|
+
"type": "{from,text,time}[]",
|
|
3120
|
+
"desc": ""
|
|
3121
|
+
}
|
|
3122
|
+
],
|
|
3123
|
+
"use": "<UiCard title=\"Aziz Karimov\">…</UiCard>"
|
|
3124
|
+
},
|
|
3125
|
+
{
|
|
3126
|
+
"id": "composer",
|
|
3127
|
+
"title": "Composer",
|
|
3128
|
+
"desc": "Reply field and send button.",
|
|
3129
|
+
"accepts": [
|
|
3130
|
+
"Textarea",
|
|
3131
|
+
"Button"
|
|
3132
|
+
],
|
|
3133
|
+
"props": [
|
|
3134
|
+
{
|
|
3135
|
+
"name": "value",
|
|
3136
|
+
"type": "string",
|
|
3137
|
+
"desc": ""
|
|
3138
|
+
}
|
|
3139
|
+
],
|
|
3140
|
+
"use": "<UiTextarea v-model=\"reply\" />"
|
|
3141
|
+
},
|
|
3142
|
+
{
|
|
3143
|
+
"id": "customer",
|
|
3144
|
+
"title": "Customer",
|
|
3145
|
+
"desc": "Contact details and tags of the person.",
|
|
3146
|
+
"accepts": [
|
|
3147
|
+
"ContactPanel",
|
|
3148
|
+
"Descriptions",
|
|
3149
|
+
"Tag"
|
|
3150
|
+
],
|
|
3151
|
+
"props": [
|
|
3152
|
+
{
|
|
3153
|
+
"name": "name",
|
|
3154
|
+
"type": "string",
|
|
3155
|
+
"desc": ""
|
|
3156
|
+
}
|
|
3157
|
+
],
|
|
3158
|
+
"use": "<UiContactPanel name=\"Aziz Karimov\" />"
|
|
3159
|
+
}
|
|
3160
|
+
]
|
|
3161
|
+
},
|
|
3162
|
+
{
|
|
3163
|
+
"id": "notifications",
|
|
3164
|
+
"label": "Notifications",
|
|
3165
|
+
"component": "UiPageNotifications",
|
|
3166
|
+
"description": "Activity feed grouped by day with filters, mark all as read and an empty state.",
|
|
3167
|
+
"shell": true,
|
|
3168
|
+
"slots": [
|
|
3169
|
+
{
|
|
3170
|
+
"id": "header",
|
|
3171
|
+
"title": "Page heading",
|
|
3172
|
+
"desc": "Breadcrumbs, heading, caption and action buttons on the right.",
|
|
3173
|
+
"accepts": [
|
|
3174
|
+
"PageHeader",
|
|
3175
|
+
"Breadcrumbs",
|
|
3176
|
+
"Button",
|
|
3177
|
+
"SegmentedControl"
|
|
3178
|
+
],
|
|
3179
|
+
"props": [
|
|
3180
|
+
{
|
|
3181
|
+
"name": "title",
|
|
3182
|
+
"type": "string",
|
|
3183
|
+
"desc": "H1, up to 60 characters"
|
|
3184
|
+
},
|
|
3185
|
+
{
|
|
3186
|
+
"name": "subtitle",
|
|
3187
|
+
"type": "string?",
|
|
3188
|
+
"desc": "Gray caption below the heading"
|
|
3189
|
+
},
|
|
3190
|
+
{
|
|
3191
|
+
"name": "crumbs",
|
|
3192
|
+
"type": "{label,href?}[]",
|
|
3193
|
+
"desc": "Breadcrumbs"
|
|
3194
|
+
},
|
|
3195
|
+
{
|
|
3196
|
+
"name": "actions",
|
|
3197
|
+
"type": "VNode",
|
|
3198
|
+
"desc": "Buttons on the right; wrap below on a narrow screen"
|
|
3199
|
+
}
|
|
3200
|
+
],
|
|
3201
|
+
"use": "<UiPageHeader title=\"Dashboard\" :crumbs=\"crumbs\">\n <template #actions><UiButton variant=\"primary\">Export</UiButton></template>\n</UiPageHeader>"
|
|
3202
|
+
},
|
|
3203
|
+
{
|
|
3204
|
+
"id": "filters",
|
|
3205
|
+
"title": "Filters",
|
|
3206
|
+
"desc": "Filter chips: all, unread, mentions.",
|
|
3207
|
+
"accepts": [
|
|
3208
|
+
"FilterChips",
|
|
3209
|
+
"SegmentedControl"
|
|
3210
|
+
],
|
|
3211
|
+
"props": [
|
|
3212
|
+
{
|
|
3213
|
+
"name": "value",
|
|
3214
|
+
"type": "string",
|
|
3215
|
+
"desc": ""
|
|
3216
|
+
}
|
|
3217
|
+
],
|
|
3218
|
+
"use": "<UiFilterChips v-model=\"f\" :items=\"filters\" />"
|
|
3219
|
+
},
|
|
3220
|
+
{
|
|
3221
|
+
"id": "feed",
|
|
3222
|
+
"title": "Feed",
|
|
3223
|
+
"desc": "Day groups with notification rows.",
|
|
3224
|
+
"accepts": [
|
|
3225
|
+
"Card",
|
|
3226
|
+
"IconTile",
|
|
3227
|
+
"Badge",
|
|
3228
|
+
"Divider"
|
|
3229
|
+
],
|
|
3230
|
+
"props": [
|
|
3231
|
+
{
|
|
3232
|
+
"name": "groups",
|
|
3233
|
+
"type": "{day,items}[]",
|
|
3234
|
+
"desc": ""
|
|
3235
|
+
}
|
|
3236
|
+
],
|
|
3237
|
+
"use": "<UiCard title=\"Today\">…</UiCard>"
|
|
3238
|
+
},
|
|
3239
|
+
{
|
|
3240
|
+
"id": "empty",
|
|
3241
|
+
"title": "Empty state",
|
|
3242
|
+
"desc": "Shown when nothing matches or all is read.",
|
|
3243
|
+
"accepts": [
|
|
3244
|
+
"EmptyState"
|
|
3245
|
+
],
|
|
3246
|
+
"props": [
|
|
3247
|
+
{
|
|
3248
|
+
"name": "title",
|
|
3249
|
+
"type": "string",
|
|
3250
|
+
"desc": ""
|
|
3251
|
+
}
|
|
3252
|
+
],
|
|
3253
|
+
"use": "<UiEmptyState icon=\"bell-off\" title=\"All caught up\" />"
|
|
3254
|
+
}
|
|
3255
|
+
]
|
|
3256
|
+
},
|
|
3257
|
+
{
|
|
3258
|
+
"id": "analytics",
|
|
3259
|
+
"label": "Analytics",
|
|
3260
|
+
"component": "UiPageAnalytics",
|
|
3261
|
+
"description": "Reports: period picker, KPI strip, charts, breakdown and a data table with export.",
|
|
3262
|
+
"shell": true,
|
|
3263
|
+
"slots": [
|
|
3264
|
+
{
|
|
3265
|
+
"id": "header",
|
|
3266
|
+
"title": "Page heading",
|
|
3267
|
+
"desc": "Breadcrumbs, heading, caption and action buttons on the right.",
|
|
3268
|
+
"accepts": [
|
|
3269
|
+
"PageHeader",
|
|
3270
|
+
"Breadcrumbs",
|
|
3271
|
+
"Button",
|
|
3272
|
+
"SegmentedControl"
|
|
3273
|
+
],
|
|
3274
|
+
"props": [
|
|
3275
|
+
{
|
|
3276
|
+
"name": "title",
|
|
3277
|
+
"type": "string",
|
|
3278
|
+
"desc": "H1, up to 60 characters"
|
|
3279
|
+
},
|
|
3280
|
+
{
|
|
3281
|
+
"name": "subtitle",
|
|
3282
|
+
"type": "string?",
|
|
3283
|
+
"desc": "Gray caption below the heading"
|
|
3284
|
+
},
|
|
3285
|
+
{
|
|
3286
|
+
"name": "crumbs",
|
|
3287
|
+
"type": "{label,href?}[]",
|
|
3288
|
+
"desc": "Breadcrumbs"
|
|
3289
|
+
},
|
|
3290
|
+
{
|
|
3291
|
+
"name": "actions",
|
|
3292
|
+
"type": "VNode",
|
|
3293
|
+
"desc": "Buttons on the right; wrap below on a narrow screen"
|
|
3294
|
+
}
|
|
3295
|
+
],
|
|
3296
|
+
"use": "<UiPageHeader title=\"Dashboard\" :crumbs=\"crumbs\">\n <template #actions><UiButton variant=\"primary\">Export</UiButton></template>\n</UiPageHeader>"
|
|
3297
|
+
},
|
|
3298
|
+
{
|
|
3299
|
+
"id": "period",
|
|
3300
|
+
"title": "Period",
|
|
3301
|
+
"desc": "Range presets and compare toggle.",
|
|
3302
|
+
"accepts": [
|
|
3303
|
+
"SegmentedControl",
|
|
3304
|
+
"Select",
|
|
3305
|
+
"Switch"
|
|
3306
|
+
],
|
|
3307
|
+
"props": [
|
|
3308
|
+
{
|
|
3309
|
+
"name": "value",
|
|
3310
|
+
"type": "string",
|
|
3311
|
+
"desc": ""
|
|
3312
|
+
}
|
|
3313
|
+
],
|
|
3314
|
+
"use": "<UiSegmentedControl v-model=\"p\" :items=\"periods\" />"
|
|
3315
|
+
},
|
|
3316
|
+
{
|
|
3317
|
+
"id": "kpis",
|
|
3318
|
+
"title": "KPI strip",
|
|
3319
|
+
"desc": "Four headline numbers with deltas.",
|
|
3320
|
+
"accepts": [
|
|
3321
|
+
"KpiTile",
|
|
3322
|
+
"StatLine"
|
|
3323
|
+
],
|
|
3324
|
+
"props": [
|
|
3325
|
+
{
|
|
3326
|
+
"name": "items",
|
|
3327
|
+
"type": "{label,value,delta}[]",
|
|
3328
|
+
"desc": ""
|
|
3329
|
+
}
|
|
3330
|
+
],
|
|
3331
|
+
"use": "<UiKpiTile label=\"Revenue\" value=\"$48k\" delta=\"+8%\" />"
|
|
3332
|
+
},
|
|
3333
|
+
{
|
|
3334
|
+
"id": "trend",
|
|
3335
|
+
"title": "Trend chart",
|
|
3336
|
+
"desc": "Main time series.",
|
|
3337
|
+
"accepts": [
|
|
3338
|
+
"ChartCard",
|
|
3339
|
+
"MiniChart"
|
|
3340
|
+
],
|
|
3341
|
+
"props": [
|
|
3342
|
+
{
|
|
3343
|
+
"name": "values",
|
|
3344
|
+
"type": "number[]",
|
|
3345
|
+
"desc": ""
|
|
3346
|
+
}
|
|
3347
|
+
],
|
|
3348
|
+
"use": "<UiChartCard title=\"Revenue\">…</UiChartCard>"
|
|
3349
|
+
},
|
|
3350
|
+
{
|
|
3351
|
+
"id": "breakdown",
|
|
3352
|
+
"title": "Breakdown",
|
|
3353
|
+
"desc": "Split by channel or country.",
|
|
3354
|
+
"accepts": [
|
|
3355
|
+
"SegBar",
|
|
3356
|
+
"CountryRow",
|
|
3357
|
+
"Progress"
|
|
3358
|
+
],
|
|
3359
|
+
"props": [
|
|
3360
|
+
{
|
|
3361
|
+
"name": "segments",
|
|
3362
|
+
"type": "{label,value}[]",
|
|
3363
|
+
"desc": ""
|
|
3364
|
+
}
|
|
3365
|
+
],
|
|
3366
|
+
"use": "<UiSegBar :segments=\"segments\" />"
|
|
3367
|
+
},
|
|
3368
|
+
{
|
|
3369
|
+
"id": "table",
|
|
3370
|
+
"title": "Detail table",
|
|
3371
|
+
"desc": "Rows behind the numbers.",
|
|
3372
|
+
"accepts": [
|
|
3373
|
+
"DataTable"
|
|
3374
|
+
],
|
|
3375
|
+
"props": [
|
|
3376
|
+
{
|
|
3377
|
+
"name": "rows",
|
|
3378
|
+
"type": "object[]",
|
|
3379
|
+
"desc": ""
|
|
3380
|
+
}
|
|
3381
|
+
],
|
|
3382
|
+
"use": "<UiDataTable :columns=\"cols\" :rows=\"rows\" />"
|
|
3383
|
+
}
|
|
3384
|
+
]
|
|
2651
3385
|
}
|
|
2652
3386
|
]
|
|
2653
3387
|
},
|
|
@@ -10668,6 +11402,202 @@
|
|
|
10668
11402
|
"Place inside AppShell; fill only the slots you need."
|
|
10669
11403
|
]
|
|
10670
11404
|
},
|
|
11405
|
+
{
|
|
11406
|
+
"name": "PageAnalytics",
|
|
11407
|
+
"tag": "UiPageAnalytics",
|
|
11408
|
+
"group": "pages",
|
|
11409
|
+
"description": "Analytics template: period picker, KPI strip, trend charts, a breakdown block and a table. Put Export in actions.",
|
|
11410
|
+
"props": {
|
|
11411
|
+
"title": {
|
|
11412
|
+
"forwarded": true,
|
|
11413
|
+
"type": "string",
|
|
11414
|
+
"description": "Page heading. The built-in header renders only when title is set and the header slot is empty."
|
|
11415
|
+
},
|
|
11416
|
+
"subtitle": {
|
|
11417
|
+
"forwarded": true,
|
|
11418
|
+
"type": "string",
|
|
11419
|
+
"description": "Caption under the heading."
|
|
11420
|
+
},
|
|
11421
|
+
"crumbs": {
|
|
11422
|
+
"forwarded": true,
|
|
11423
|
+
"type": "{ label: string; href?: string }[]",
|
|
11424
|
+
"description": "Breadcrumb trail above the title."
|
|
11425
|
+
}
|
|
11426
|
+
},
|
|
11427
|
+
"slots": {
|
|
11428
|
+
"header": "Custom page header; replaces the built-in title/subtitle/crumbs header.",
|
|
11429
|
+
"actions": "Buttons on the right of the built-in header. With a title they sit beside it; without a title they render alone, right-aligned (unless the header slot is filled).",
|
|
11430
|
+
"period": "Period presets and compare toggle; SegmentedControl, Select, Switch.",
|
|
11431
|
+
"kpis": "Headline numbers with deltas; KpiTile, StatLine.",
|
|
11432
|
+
"trend": "Main time series; ChartCard with MiniChart.",
|
|
11433
|
+
"breakdown": "Split by channel or country; ChartCard with SegBar and CountryRow.",
|
|
11434
|
+
"table": "Rows behind the numbers; DataTable."
|
|
11435
|
+
},
|
|
11436
|
+
"notes": [
|
|
11437
|
+
"Place inside AppShell; fill only the slots you need.",
|
|
11438
|
+
"Trend and breakdown share a row and wrap on narrow screens. Put Export in the actions slot."
|
|
11439
|
+
]
|
|
11440
|
+
},
|
|
11441
|
+
{
|
|
11442
|
+
"name": "PageNotifications",
|
|
11443
|
+
"tag": "UiPageNotifications",
|
|
11444
|
+
"group": "pages",
|
|
11445
|
+
"description": "Notifications template: filters, a feed grouped by day and an empty state. Put Mark all read in actions.",
|
|
11446
|
+
"props": {
|
|
11447
|
+
"title": {
|
|
11448
|
+
"forwarded": true,
|
|
11449
|
+
"type": "string",
|
|
11450
|
+
"description": "Page heading. The built-in header renders only when title is set and the header slot is empty."
|
|
11451
|
+
},
|
|
11452
|
+
"subtitle": {
|
|
11453
|
+
"forwarded": true,
|
|
11454
|
+
"type": "string",
|
|
11455
|
+
"description": "Caption under the heading."
|
|
11456
|
+
},
|
|
11457
|
+
"crumbs": {
|
|
11458
|
+
"forwarded": true,
|
|
11459
|
+
"type": "{ label: string; href?: string }[]",
|
|
11460
|
+
"description": "Breadcrumb trail above the title."
|
|
11461
|
+
}
|
|
11462
|
+
},
|
|
11463
|
+
"slots": {
|
|
11464
|
+
"header": "Custom page header; replaces the built-in title/subtitle/crumbs header.",
|
|
11465
|
+
"actions": "Buttons on the right of the built-in header. With a title they sit beside it; without a title they render alone, right-aligned (unless the header slot is filled).",
|
|
11466
|
+
"filters": "Filter chips such as all, unread and mentions; FilterChips.",
|
|
11467
|
+
"feed": "Notification rows grouped by day; Card, IconTile, Badge, Divider.",
|
|
11468
|
+
"empty": "Shown instead of the feed when nothing matches; EmptyState."
|
|
11469
|
+
},
|
|
11470
|
+
"notes": [
|
|
11471
|
+
"Place inside AppShell; fill only the slots you need.",
|
|
11472
|
+
"Fill empty only when the feed has no rows. Mark all read goes in the actions slot."
|
|
11473
|
+
]
|
|
11474
|
+
},
|
|
11475
|
+
{
|
|
11476
|
+
"name": "PageInbox",
|
|
11477
|
+
"tag": "UiPageInbox",
|
|
11478
|
+
"group": "pages",
|
|
11479
|
+
"description": "Inbox template: filters and conversation list, the open thread with a composer, and a customer panel.",
|
|
11480
|
+
"props": {
|
|
11481
|
+
"title": {
|
|
11482
|
+
"forwarded": true,
|
|
11483
|
+
"type": "string",
|
|
11484
|
+
"description": "Page heading. The built-in header renders only when title is set and the header slot is empty."
|
|
11485
|
+
},
|
|
11486
|
+
"subtitle": {
|
|
11487
|
+
"forwarded": true,
|
|
11488
|
+
"type": "string",
|
|
11489
|
+
"description": "Caption under the heading."
|
|
11490
|
+
},
|
|
11491
|
+
"crumbs": {
|
|
11492
|
+
"forwarded": true,
|
|
11493
|
+
"type": "{ label: string; href?: string }[]",
|
|
11494
|
+
"description": "Breadcrumb trail above the title."
|
|
11495
|
+
}
|
|
11496
|
+
},
|
|
11497
|
+
"slots": {
|
|
11498
|
+
"header": "Custom page header; replaces the built-in title/subtitle/crumbs header.",
|
|
11499
|
+
"actions": "Buttons on the right of the built-in header. With a title they sit beside it; without a title they render alone, right-aligned (unless the header slot is filled).",
|
|
11500
|
+
"filters": "Search and folder chips above the list; SearchInput, FilterChips.",
|
|
11501
|
+
"list": "Conversation rows with unread marks; Card, Avatar, Badge.",
|
|
11502
|
+
"thread": "Messages of the open conversation; Card, Avatar.",
|
|
11503
|
+
"composer": "Reply field and send button; Textarea, Button.",
|
|
11504
|
+
"customer": "Customer details; ContactPanel, Descriptions, Tag."
|
|
11505
|
+
},
|
|
11506
|
+
"notes": [
|
|
11507
|
+
"Place inside AppShell; fill only the slots you need.",
|
|
11508
|
+
"List, thread and customer panel sit side by side and stack in that order at 860px and below. Keep the selected conversation in your own state."
|
|
11509
|
+
]
|
|
11510
|
+
},
|
|
11511
|
+
{
|
|
11512
|
+
"name": "PageCheckout",
|
|
11513
|
+
"tag": "UiPageCheckout",
|
|
11514
|
+
"group": "pages",
|
|
11515
|
+
"description": "Checkout template: step indicator, cart items, delivery address, payment and an order summary column.",
|
|
11516
|
+
"props": {
|
|
11517
|
+
"title": {
|
|
11518
|
+
"forwarded": true,
|
|
11519
|
+
"type": "string",
|
|
11520
|
+
"description": "Page heading. The built-in header renders only when title is set and the header slot is empty."
|
|
11521
|
+
},
|
|
11522
|
+
"subtitle": {
|
|
11523
|
+
"forwarded": true,
|
|
11524
|
+
"type": "string",
|
|
11525
|
+
"description": "Caption under the heading."
|
|
11526
|
+
},
|
|
11527
|
+
"crumbs": {
|
|
11528
|
+
"forwarded": true,
|
|
11529
|
+
"type": "{ label: string; href?: string }[]",
|
|
11530
|
+
"description": "Breadcrumb trail above the title."
|
|
11531
|
+
}
|
|
11532
|
+
},
|
|
11533
|
+
"slots": {
|
|
11534
|
+
"header": "Custom page header; replaces the built-in title/subtitle/crumbs header.",
|
|
11535
|
+
"actions": "Buttons on the right of the built-in header. With a title they sit beside it; without a title they render alone, right-aligned (unless the header slot is filled).",
|
|
11536
|
+
"steps": "Checkout steps above the content; Stepper.",
|
|
11537
|
+
"items": "Cart lines with quantity and price; Card with NumberInput.",
|
|
11538
|
+
"address": "Contact and delivery fields; Card with TextField and Select.",
|
|
11539
|
+
"payment": "Payment method and card fields; OptionCards, TextField.",
|
|
11540
|
+
"summary": "Totals, promo code and the pay button; Card, Descriptions, Button."
|
|
11541
|
+
},
|
|
11542
|
+
"notes": [
|
|
11543
|
+
"Place inside AppShell; fill only the slots you need.",
|
|
11544
|
+
"Summary sits in the side column and drops below the form on narrow screens."
|
|
11545
|
+
]
|
|
11546
|
+
},
|
|
11547
|
+
{
|
|
11548
|
+
"name": "PageOnboarding",
|
|
11549
|
+
"tag": "UiPageOnboarding",
|
|
11550
|
+
"group": "pages",
|
|
11551
|
+
"description": "Onboarding template: progress block, active step content, setup checklist and a column of tips.",
|
|
11552
|
+
"props": {
|
|
11553
|
+
"title": {
|
|
11554
|
+
"forwarded": true,
|
|
11555
|
+
"type": "string",
|
|
11556
|
+
"description": "Page heading. The built-in header renders only when title is set and the header slot is empty."
|
|
11557
|
+
},
|
|
11558
|
+
"subtitle": {
|
|
11559
|
+
"forwarded": true,
|
|
11560
|
+
"type": "string",
|
|
11561
|
+
"description": "Caption under the heading."
|
|
11562
|
+
},
|
|
11563
|
+
"crumbs": {
|
|
11564
|
+
"forwarded": true,
|
|
11565
|
+
"type": "{ label: string; href?: string }[]",
|
|
11566
|
+
"description": "Breadcrumb trail above the title."
|
|
11567
|
+
}
|
|
11568
|
+
},
|
|
11569
|
+
"slots": {
|
|
11570
|
+
"header": "Custom page header; replaces the built-in title/subtitle/crumbs header.",
|
|
11571
|
+
"actions": "Buttons on the right of the built-in header. With a title they sit beside it; without a title they render alone, right-aligned (unless the header slot is filled).",
|
|
11572
|
+
"progress": "Stepper and a completion bar above the content; Stepper, Progress.",
|
|
11573
|
+
"steps": "Content of the active step; Card with form fields.",
|
|
11574
|
+
"checklist": "Remaining setup tasks; Card with Checkbox rows.",
|
|
11575
|
+
"tips": "Side column with help cards; Card, IconTile, Button."
|
|
11576
|
+
},
|
|
11577
|
+
"notes": [
|
|
11578
|
+
"Place inside AppShell; fill only the slots you need.",
|
|
11579
|
+
"Keep the active step in your own state; the template does not switch steps. Steps and checklist share the main column, tips go to the side and stack below it on narrow screens."
|
|
11580
|
+
]
|
|
11581
|
+
},
|
|
11582
|
+
{
|
|
11583
|
+
"name": "PageLanding",
|
|
11584
|
+
"tag": "UiPageLanding",
|
|
11585
|
+
"group": "pages",
|
|
11586
|
+
"description": "Landing template: hero, logo strip, features, social proof, pricing teaser, call to action and footer. Used without the app shell.",
|
|
11587
|
+
"props": {},
|
|
11588
|
+
"slots": {
|
|
11589
|
+
"hero": "Hero block; HeroBanner, Card, Button.",
|
|
11590
|
+
"logos": "Partner row; Chip or Text.",
|
|
11591
|
+
"features": "Feature cards; Card, IconTile.",
|
|
11592
|
+
"proof": "Numbers and quotes; StatStrip, Card, Avatar.",
|
|
11593
|
+
"pricing": "Plan cards; PricingCard.",
|
|
11594
|
+
"cta": "Closing block; Card variant=\"gradient\", Button.",
|
|
11595
|
+
"footer": "Page footer; Footer."
|
|
11596
|
+
},
|
|
11597
|
+
"notes": [
|
|
11598
|
+
"Landing does not use the app shell: render it on its own page. Blocks stack in one column; each block may use its own grid and wraps on narrow screens."
|
|
11599
|
+
]
|
|
11600
|
+
},
|
|
10671
11601
|
{
|
|
10672
11602
|
"name": "PageAuth",
|
|
10673
11603
|
"tag": "UiPageAuth",
|