@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.
@@ -2417,6 +2417,752 @@
2417
2417
  "use": "<UiAccordion :items=\"faq\" />"
2418
2418
  }
2419
2419
  ]
2420
+ },
2421
+ {
2422
+ "key": "landing",
2423
+ "route": "landing",
2424
+ "label": "Landing",
2425
+ "icon": "rocket",
2426
+ "desc": "Marketing page: hero, logos, feature grid, social proof, pricing teaser, final call to action and footer.",
2427
+ "component": "PageLanding",
2428
+ "tpl": "TplLanding",
2429
+ "shell": false,
2430
+ "slots": [
2431
+ {
2432
+ "id": "hero",
2433
+ "title": "Hero",
2434
+ "desc": "Headline, subtitle and two buttons on a gradient card.",
2435
+ "accepts": [
2436
+ "HeroBanner",
2437
+ "Card",
2438
+ "Button"
2439
+ ],
2440
+ "props": [
2441
+ {
2442
+ "name": "title",
2443
+ "type": "string",
2444
+ "desc": "H1 and a short supporting line"
2445
+ }
2446
+ ],
2447
+ "use": "<UiHeroBanner title=\"Plan your Umrah\" cta=\"Get started\" />"
2448
+ },
2449
+ {
2450
+ "id": "logos",
2451
+ "title": "Logo strip",
2452
+ "desc": "Row of partner names under the hero.",
2453
+ "accepts": [
2454
+ "Chip",
2455
+ "Text"
2456
+ ],
2457
+ "props": [
2458
+ {
2459
+ "name": "items",
2460
+ "type": "string[]",
2461
+ "desc": "Partner names"
2462
+ }
2463
+ ],
2464
+ "use": "<UiChip pill>Hilton</UiChip>"
2465
+ },
2466
+ {
2467
+ "id": "features",
2468
+ "title": "Features",
2469
+ "desc": "Grid of icon, title and text cards.",
2470
+ "accepts": [
2471
+ "Card",
2472
+ "IconTile"
2473
+ ],
2474
+ "props": [
2475
+ {
2476
+ "name": "items",
2477
+ "type": "{icon,title,text}[]",
2478
+ "desc": "Three to six features"
2479
+ }
2480
+ ],
2481
+ "use": "<UiCard title=\"Offline guides\">…</UiCard>"
2482
+ },
2483
+ {
2484
+ "id": "proof",
2485
+ "title": "Social proof",
2486
+ "desc": "Stats strip and customer quotes.",
2487
+ "accepts": [
2488
+ "StatStrip",
2489
+ "Card",
2490
+ "Avatar"
2491
+ ],
2492
+ "props": [
2493
+ {
2494
+ "name": "items",
2495
+ "type": "{value,label}[]",
2496
+ "desc": "Headline numbers"
2497
+ }
2498
+ ],
2499
+ "use": "<UiStatStrip :items=\"stats\" />"
2500
+ },
2501
+ {
2502
+ "id": "pricing",
2503
+ "title": "Pricing teaser",
2504
+ "desc": "Two or three plans with a link to the full pricing page.",
2505
+ "accepts": [
2506
+ "PricingCard",
2507
+ "Button"
2508
+ ],
2509
+ "props": [
2510
+ {
2511
+ "name": "plans",
2512
+ "type": "Plan[]",
2513
+ "desc": "Name, price, features"
2514
+ }
2515
+ ],
2516
+ "use": "<UiPricingCard name=\"Plus\" price=\"$4.99\" />"
2517
+ },
2518
+ {
2519
+ "id": "cta",
2520
+ "title": "Call to action",
2521
+ "desc": "Closing block with one primary button.",
2522
+ "accepts": [
2523
+ "Card",
2524
+ "Button"
2525
+ ],
2526
+ "props": [
2527
+ {
2528
+ "name": "cta",
2529
+ "type": "string",
2530
+ "desc": "Button label"
2531
+ }
2532
+ ],
2533
+ "use": "<UiCard variant=\"gradient\">…</UiCard>"
2534
+ },
2535
+ {
2536
+ "id": "footer",
2537
+ "title": "Footer",
2538
+ "desc": "Copyright and links.",
2539
+ "accepts": [
2540
+ "Footer"
2541
+ ],
2542
+ "props": [
2543
+ {
2544
+ "name": "links",
2545
+ "type": "{label,href}[]",
2546
+ "desc": ""
2547
+ }
2548
+ ],
2549
+ "use": "<UiFooter copyright=\"© 2026\" :links=\"links\" />"
2550
+ }
2551
+ ]
2552
+ },
2553
+ {
2554
+ "key": "onboarding",
2555
+ "route": "onboarding",
2556
+ "label": "Onboarding",
2557
+ "icon": "list-checks",
2558
+ "desc": "First-run setup: progress, step content, checklist and side tips.",
2559
+ "component": "PageOnboarding",
2560
+ "tpl": "TplOnboarding",
2561
+ "shell": true,
2562
+ "slots": [
2563
+ {
2564
+ "id": "header",
2565
+ "title": "Page heading",
2566
+ "desc": "Breadcrumbs, heading, caption and action buttons on the right.",
2567
+ "accepts": [
2568
+ "PageHeader",
2569
+ "Breadcrumbs",
2570
+ "Button",
2571
+ "SegmentedControl"
2572
+ ],
2573
+ "props": [
2574
+ {
2575
+ "name": "title",
2576
+ "type": "string",
2577
+ "desc": "H1, up to 60 characters"
2578
+ },
2579
+ {
2580
+ "name": "subtitle",
2581
+ "type": "string?",
2582
+ "desc": "Gray caption below the heading"
2583
+ },
2584
+ {
2585
+ "name": "crumbs",
2586
+ "type": "{label,href?}[]",
2587
+ "desc": "Breadcrumbs"
2588
+ },
2589
+ {
2590
+ "name": "actions",
2591
+ "type": "VNode",
2592
+ "desc": "Buttons on the right; wrap below on a narrow screen"
2593
+ }
2594
+ ],
2595
+ "use": "<UiPageHeader title=\"Dashboard\" :crumbs=\"crumbs\">\n <template #actions><UiButton variant=\"primary\">Export</UiButton></template>\n</UiPageHeader>"
2596
+ },
2597
+ {
2598
+ "id": "progress",
2599
+ "title": "Progress",
2600
+ "desc": "Stepper and overall completion bar.",
2601
+ "accepts": [
2602
+ "Stepper",
2603
+ "Progress"
2604
+ ],
2605
+ "props": [
2606
+ {
2607
+ "name": "current",
2608
+ "type": "number",
2609
+ "desc": "Index of the active step"
2610
+ }
2611
+ ],
2612
+ "use": "<UiStepper :steps=\"steps\" :current=\"1\" />"
2613
+ },
2614
+ {
2615
+ "id": "steps",
2616
+ "title": "Step content",
2617
+ "desc": "Form or choice for the active step.",
2618
+ "accepts": [
2619
+ "Card",
2620
+ "TextField",
2621
+ "OptionCards",
2622
+ "Button"
2623
+ ],
2624
+ "props": [
2625
+ {
2626
+ "name": "step",
2627
+ "type": "number",
2628
+ "desc": "Active step"
2629
+ }
2630
+ ],
2631
+ "use": "<UiCard title=\"Your company\">…</UiCard>"
2632
+ },
2633
+ {
2634
+ "id": "checklist",
2635
+ "title": "Checklist",
2636
+ "desc": "Tasks to finish setup with done marks.",
2637
+ "accepts": [
2638
+ "Card",
2639
+ "Checkbox",
2640
+ "Progress"
2641
+ ],
2642
+ "props": [
2643
+ {
2644
+ "name": "items",
2645
+ "type": "{id,label,done}[]",
2646
+ "desc": ""
2647
+ }
2648
+ ],
2649
+ "use": "<UiCheckbox v-model=\"done\" label=\"Add a hotel\" />"
2650
+ },
2651
+ {
2652
+ "id": "tips",
2653
+ "title": "Tips",
2654
+ "desc": "Side cards with help and a contact link.",
2655
+ "accepts": [
2656
+ "Card",
2657
+ "IconTile",
2658
+ "Button"
2659
+ ],
2660
+ "props": [
2661
+ {
2662
+ "name": "tips",
2663
+ "type": "{icon,title,text}[]",
2664
+ "desc": ""
2665
+ }
2666
+ ],
2667
+ "use": "<UiCard title=\"Need help?\">…</UiCard>"
2668
+ }
2669
+ ]
2670
+ },
2671
+ {
2672
+ "key": "checkout",
2673
+ "route": "checkout",
2674
+ "label": "Checkout",
2675
+ "icon": "shopping-cart",
2676
+ "desc": "Checkout: steps, cart items, address, payment method and an order summary.",
2677
+ "component": "PageCheckout",
2678
+ "tpl": "TplCheckout",
2679
+ "shell": true,
2680
+ "slots": [
2681
+ {
2682
+ "id": "header",
2683
+ "title": "Page heading",
2684
+ "desc": "Breadcrumbs, heading, caption and action buttons on the right.",
2685
+ "accepts": [
2686
+ "PageHeader",
2687
+ "Breadcrumbs",
2688
+ "Button",
2689
+ "SegmentedControl"
2690
+ ],
2691
+ "props": [
2692
+ {
2693
+ "name": "title",
2694
+ "type": "string",
2695
+ "desc": "H1, up to 60 characters"
2696
+ },
2697
+ {
2698
+ "name": "subtitle",
2699
+ "type": "string?",
2700
+ "desc": "Gray caption below the heading"
2701
+ },
2702
+ {
2703
+ "name": "crumbs",
2704
+ "type": "{label,href?}[]",
2705
+ "desc": "Breadcrumbs"
2706
+ },
2707
+ {
2708
+ "name": "actions",
2709
+ "type": "VNode",
2710
+ "desc": "Buttons on the right; wrap below on a narrow screen"
2711
+ }
2712
+ ],
2713
+ "use": "<UiPageHeader title=\"Dashboard\" :crumbs=\"crumbs\">\n <template #actions><UiButton variant=\"primary\">Export</UiButton></template>\n</UiPageHeader>"
2714
+ },
2715
+ {
2716
+ "id": "steps",
2717
+ "title": "Steps",
2718
+ "desc": "Cart, details, payment, done.",
2719
+ "accepts": [
2720
+ "Stepper"
2721
+ ],
2722
+ "props": [
2723
+ {
2724
+ "name": "current",
2725
+ "type": "number",
2726
+ "desc": ""
2727
+ }
2728
+ ],
2729
+ "use": "<UiStepper :steps=\"steps\" :current=\"1\" />"
2730
+ },
2731
+ {
2732
+ "id": "items",
2733
+ "title": "Cart items",
2734
+ "desc": "Lines with quantity and price.",
2735
+ "accepts": [
2736
+ "Card",
2737
+ "NumberInput",
2738
+ "IconButton"
2739
+ ],
2740
+ "props": [
2741
+ {
2742
+ "name": "items",
2743
+ "type": "{title,qty,price}[]",
2744
+ "desc": ""
2745
+ }
2746
+ ],
2747
+ "use": "<UiCard title=\"Your cart\">…</UiCard>"
2748
+ },
2749
+ {
2750
+ "id": "address",
2751
+ "title": "Address",
2752
+ "desc": "Contact and delivery fields.",
2753
+ "accepts": [
2754
+ "Card",
2755
+ "TextField",
2756
+ "Select"
2757
+ ],
2758
+ "props": [
2759
+ {
2760
+ "name": "address",
2761
+ "type": "object",
2762
+ "desc": ""
2763
+ }
2764
+ ],
2765
+ "use": "<UiCard title=\"Address\">…</UiCard>"
2766
+ },
2767
+ {
2768
+ "id": "payment",
2769
+ "title": "Payment",
2770
+ "desc": "Payment method choice and card fields.",
2771
+ "accepts": [
2772
+ "OptionCards",
2773
+ "TextField"
2774
+ ],
2775
+ "props": [
2776
+ {
2777
+ "name": "method",
2778
+ "type": "string",
2779
+ "desc": ""
2780
+ }
2781
+ ],
2782
+ "use": "<UiOptionCards v-model=\"method\" :options=\"methods\" />"
2783
+ },
2784
+ {
2785
+ "id": "summary",
2786
+ "title": "Order summary",
2787
+ "desc": "Totals, promo code and the pay button.",
2788
+ "accepts": [
2789
+ "Card",
2790
+ "Descriptions",
2791
+ "Button"
2792
+ ],
2793
+ "props": [
2794
+ {
2795
+ "name": "total",
2796
+ "type": "string",
2797
+ "desc": ""
2798
+ }
2799
+ ],
2800
+ "use": "<UiCard title=\"Summary\">…</UiCard>"
2801
+ }
2802
+ ]
2803
+ },
2804
+ {
2805
+ "key": "inbox",
2806
+ "route": "inbox",
2807
+ "label": "Inbox",
2808
+ "icon": "inbox",
2809
+ "desc": "Conversation list, message thread with composer and a customer panel; stacks on mobile.",
2810
+ "component": "PageInbox",
2811
+ "tpl": "TplInbox",
2812
+ "shell": true,
2813
+ "slots": [
2814
+ {
2815
+ "id": "header",
2816
+ "title": "Page heading",
2817
+ "desc": "Breadcrumbs, heading, caption and action buttons on the right.",
2818
+ "accepts": [
2819
+ "PageHeader",
2820
+ "Breadcrumbs",
2821
+ "Button",
2822
+ "SegmentedControl"
2823
+ ],
2824
+ "props": [
2825
+ {
2826
+ "name": "title",
2827
+ "type": "string",
2828
+ "desc": "H1, up to 60 characters"
2829
+ },
2830
+ {
2831
+ "name": "subtitle",
2832
+ "type": "string?",
2833
+ "desc": "Gray caption below the heading"
2834
+ },
2835
+ {
2836
+ "name": "crumbs",
2837
+ "type": "{label,href?}[]",
2838
+ "desc": "Breadcrumbs"
2839
+ },
2840
+ {
2841
+ "name": "actions",
2842
+ "type": "VNode",
2843
+ "desc": "Buttons on the right; wrap below on a narrow screen"
2844
+ }
2845
+ ],
2846
+ "use": "<UiPageHeader title=\"Dashboard\" :crumbs=\"crumbs\">\n <template #actions><UiButton variant=\"primary\">Export</UiButton></template>\n</UiPageHeader>"
2847
+ },
2848
+ {
2849
+ "id": "filters",
2850
+ "title": "Filters",
2851
+ "desc": "Search and folder chips above the list.",
2852
+ "accepts": [
2853
+ "SearchInput",
2854
+ "FilterChips"
2855
+ ],
2856
+ "props": [
2857
+ {
2858
+ "name": "query",
2859
+ "type": "string",
2860
+ "desc": ""
2861
+ }
2862
+ ],
2863
+ "use": "<UiSearchInput v-model=\"q\" />"
2864
+ },
2865
+ {
2866
+ "id": "list",
2867
+ "title": "Conversations",
2868
+ "desc": "List of conversations with unread marks.",
2869
+ "accepts": [
2870
+ "Card",
2871
+ "Avatar",
2872
+ "Badge"
2873
+ ],
2874
+ "props": [
2875
+ {
2876
+ "name": "items",
2877
+ "type": "{id,name,preview,time,unread}[]",
2878
+ "desc": ""
2879
+ }
2880
+ ],
2881
+ "use": "<UiCard>…</UiCard>"
2882
+ },
2883
+ {
2884
+ "id": "thread",
2885
+ "title": "Thread",
2886
+ "desc": "Messages of the open conversation.",
2887
+ "accepts": [
2888
+ "Card",
2889
+ "Avatar"
2890
+ ],
2891
+ "props": [
2892
+ {
2893
+ "name": "messages",
2894
+ "type": "{from,text,time}[]",
2895
+ "desc": ""
2896
+ }
2897
+ ],
2898
+ "use": "<UiCard title=\"Aziz Karimov\">…</UiCard>"
2899
+ },
2900
+ {
2901
+ "id": "composer",
2902
+ "title": "Composer",
2903
+ "desc": "Reply field and send button.",
2904
+ "accepts": [
2905
+ "Textarea",
2906
+ "Button"
2907
+ ],
2908
+ "props": [
2909
+ {
2910
+ "name": "value",
2911
+ "type": "string",
2912
+ "desc": ""
2913
+ }
2914
+ ],
2915
+ "use": "<UiTextarea v-model=\"reply\" />"
2916
+ },
2917
+ {
2918
+ "id": "customer",
2919
+ "title": "Customer",
2920
+ "desc": "Contact details and tags of the person.",
2921
+ "accepts": [
2922
+ "ContactPanel",
2923
+ "Descriptions",
2924
+ "Tag"
2925
+ ],
2926
+ "props": [
2927
+ {
2928
+ "name": "name",
2929
+ "type": "string",
2930
+ "desc": ""
2931
+ }
2932
+ ],
2933
+ "use": "<UiContactPanel name=\"Aziz Karimov\" />"
2934
+ }
2935
+ ]
2936
+ },
2937
+ {
2938
+ "key": "notifications",
2939
+ "route": "notifications",
2940
+ "label": "Notifications",
2941
+ "icon": "bell",
2942
+ "desc": "Activity feed grouped by day with filters, mark all as read and an empty state.",
2943
+ "component": "PageNotifications",
2944
+ "tpl": "TplNotifications",
2945
+ "shell": true,
2946
+ "slots": [
2947
+ {
2948
+ "id": "header",
2949
+ "title": "Page heading",
2950
+ "desc": "Breadcrumbs, heading, caption and action buttons on the right.",
2951
+ "accepts": [
2952
+ "PageHeader",
2953
+ "Breadcrumbs",
2954
+ "Button",
2955
+ "SegmentedControl"
2956
+ ],
2957
+ "props": [
2958
+ {
2959
+ "name": "title",
2960
+ "type": "string",
2961
+ "desc": "H1, up to 60 characters"
2962
+ },
2963
+ {
2964
+ "name": "subtitle",
2965
+ "type": "string?",
2966
+ "desc": "Gray caption below the heading"
2967
+ },
2968
+ {
2969
+ "name": "crumbs",
2970
+ "type": "{label,href?}[]",
2971
+ "desc": "Breadcrumbs"
2972
+ },
2973
+ {
2974
+ "name": "actions",
2975
+ "type": "VNode",
2976
+ "desc": "Buttons on the right; wrap below on a narrow screen"
2977
+ }
2978
+ ],
2979
+ "use": "<UiPageHeader title=\"Dashboard\" :crumbs=\"crumbs\">\n <template #actions><UiButton variant=\"primary\">Export</UiButton></template>\n</UiPageHeader>"
2980
+ },
2981
+ {
2982
+ "id": "filters",
2983
+ "title": "Filters",
2984
+ "desc": "Filter chips: all, unread, mentions.",
2985
+ "accepts": [
2986
+ "FilterChips",
2987
+ "SegmentedControl"
2988
+ ],
2989
+ "props": [
2990
+ {
2991
+ "name": "value",
2992
+ "type": "string",
2993
+ "desc": ""
2994
+ }
2995
+ ],
2996
+ "use": "<UiFilterChips v-model=\"f\" :items=\"filters\" />"
2997
+ },
2998
+ {
2999
+ "id": "feed",
3000
+ "title": "Feed",
3001
+ "desc": "Day groups with notification rows.",
3002
+ "accepts": [
3003
+ "Card",
3004
+ "IconTile",
3005
+ "Badge",
3006
+ "Divider"
3007
+ ],
3008
+ "props": [
3009
+ {
3010
+ "name": "groups",
3011
+ "type": "{day,items}[]",
3012
+ "desc": ""
3013
+ }
3014
+ ],
3015
+ "use": "<UiCard title=\"Today\">…</UiCard>"
3016
+ },
3017
+ {
3018
+ "id": "empty",
3019
+ "title": "Empty state",
3020
+ "desc": "Shown when nothing matches or all is read.",
3021
+ "accepts": [
3022
+ "EmptyState"
3023
+ ],
3024
+ "props": [
3025
+ {
3026
+ "name": "title",
3027
+ "type": "string",
3028
+ "desc": ""
3029
+ }
3030
+ ],
3031
+ "use": "<UiEmptyState icon=\"bell-off\" title=\"All caught up\" />"
3032
+ }
3033
+ ]
3034
+ },
3035
+ {
3036
+ "key": "analytics",
3037
+ "route": "analytics",
3038
+ "label": "Analytics",
3039
+ "icon": "chart-no-axes-combined",
3040
+ "desc": "Reports: period picker, KPI strip, charts, breakdown and a data table with export.",
3041
+ "component": "PageAnalytics",
3042
+ "tpl": "TplAnalytics",
3043
+ "shell": true,
3044
+ "slots": [
3045
+ {
3046
+ "id": "header",
3047
+ "title": "Page heading",
3048
+ "desc": "Breadcrumbs, heading, caption and action buttons on the right.",
3049
+ "accepts": [
3050
+ "PageHeader",
3051
+ "Breadcrumbs",
3052
+ "Button",
3053
+ "SegmentedControl"
3054
+ ],
3055
+ "props": [
3056
+ {
3057
+ "name": "title",
3058
+ "type": "string",
3059
+ "desc": "H1, up to 60 characters"
3060
+ },
3061
+ {
3062
+ "name": "subtitle",
3063
+ "type": "string?",
3064
+ "desc": "Gray caption below the heading"
3065
+ },
3066
+ {
3067
+ "name": "crumbs",
3068
+ "type": "{label,href?}[]",
3069
+ "desc": "Breadcrumbs"
3070
+ },
3071
+ {
3072
+ "name": "actions",
3073
+ "type": "VNode",
3074
+ "desc": "Buttons on the right; wrap below on a narrow screen"
3075
+ }
3076
+ ],
3077
+ "use": "<UiPageHeader title=\"Dashboard\" :crumbs=\"crumbs\">\n <template #actions><UiButton variant=\"primary\">Export</UiButton></template>\n</UiPageHeader>"
3078
+ },
3079
+ {
3080
+ "id": "period",
3081
+ "title": "Period",
3082
+ "desc": "Range presets and compare toggle.",
3083
+ "accepts": [
3084
+ "SegmentedControl",
3085
+ "Select",
3086
+ "Switch"
3087
+ ],
3088
+ "props": [
3089
+ {
3090
+ "name": "value",
3091
+ "type": "string",
3092
+ "desc": ""
3093
+ }
3094
+ ],
3095
+ "use": "<UiSegmentedControl v-model=\"p\" :items=\"periods\" />"
3096
+ },
3097
+ {
3098
+ "id": "kpis",
3099
+ "title": "KPI strip",
3100
+ "desc": "Four headline numbers with deltas.",
3101
+ "accepts": [
3102
+ "KpiTile",
3103
+ "StatLine"
3104
+ ],
3105
+ "props": [
3106
+ {
3107
+ "name": "items",
3108
+ "type": "{label,value,delta}[]",
3109
+ "desc": ""
3110
+ }
3111
+ ],
3112
+ "use": "<UiKpiTile label=\"Revenue\" value=\"$48k\" delta=\"+8%\" />"
3113
+ },
3114
+ {
3115
+ "id": "trend",
3116
+ "title": "Trend chart",
3117
+ "desc": "Main time series.",
3118
+ "accepts": [
3119
+ "ChartCard",
3120
+ "MiniChart"
3121
+ ],
3122
+ "props": [
3123
+ {
3124
+ "name": "values",
3125
+ "type": "number[]",
3126
+ "desc": ""
3127
+ }
3128
+ ],
3129
+ "use": "<UiChartCard title=\"Revenue\">…</UiChartCard>"
3130
+ },
3131
+ {
3132
+ "id": "breakdown",
3133
+ "title": "Breakdown",
3134
+ "desc": "Split by channel or country.",
3135
+ "accepts": [
3136
+ "SegBar",
3137
+ "CountryRow",
3138
+ "Progress"
3139
+ ],
3140
+ "props": [
3141
+ {
3142
+ "name": "segments",
3143
+ "type": "{label,value}[]",
3144
+ "desc": ""
3145
+ }
3146
+ ],
3147
+ "use": "<UiSegBar :segments=\"segments\" />"
3148
+ },
3149
+ {
3150
+ "id": "table",
3151
+ "title": "Detail table",
3152
+ "desc": "Rows behind the numbers.",
3153
+ "accepts": [
3154
+ "DataTable"
3155
+ ],
3156
+ "props": [
3157
+ {
3158
+ "name": "rows",
3159
+ "type": "object[]",
3160
+ "desc": ""
3161
+ }
3162
+ ],
3163
+ "use": "<UiDataTable :columns=\"cols\" :rows=\"rows\" />"
3164
+ }
3165
+ ]
2420
3166
  }
2421
3167
  ]
2422
- }
3168
+ }