@supersoniks/concorde 5.0.3 → 5.0.4
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/.github/workflows/ci.yml +21 -0
- package/.github-export-ignore +30 -0
- package/CONTRIBUTING.md +59 -0
- package/DEV.md +54 -0
- package/LICENSE +21 -0
- package/OPEN_SOURCE_CHECKPOINT.md +133 -0
- package/build-infos.json +1 -1
- package/concorde-core.bundle.js +66 -66
- package/concorde-core.es.js +1368 -1318
- package/dist/concorde-core.bundle.js +66 -66
- package/dist/concorde-core.es.js +1368 -1318
- package/docs/assets/{index-BnK6OS7w.js → index-D8MVWqY6.js} +1144 -1008
- package/docs/assets/index-DiD0qYvE.css +1 -0
- package/docs/crawl/core/components/ui/alert/alert.html +71 -101
- package/docs/crawl/core/components/ui/badge/badge.html +77 -106
- package/docs/crawl/core/components/ui/button/button.html +0 -1
- package/docs/crawl/core/components/ui/card/card.html +68 -112
- package/docs/crawl/core/components/ui/form/input/input.html +3 -3
- package/docs/crawl/core/components/ui/form/textarea/textarea.html +3 -3
- package/docs/crawl/core/components/ui/image/image.html +56 -132
- package/docs/crawl/core/components/ui/link/link.html +4 -4
- package/docs/crawl/core/components/ui/pop/pop.html +3 -79
- package/docs/crawl/docs/_getting-started/concorde-outside.html +3 -3
- package/docs/crawl/hubs/form-components.html +4 -4
- package/docs/index.html +5 -5
- package/docs/llms-full.txt +97 -281
- package/docs/llms.txt +8 -8
- package/docs/src/core/components/functional/fetch/fetch.md +0 -0
- package/docs/src/core/components/functional/if/if.md +0 -0
- package/docs/src/core/components/functional/list/list.md +0 -0
- package/docs/src/core/components/functional/router/router.md +0 -0
- package/docs/src/core/components/functional/sdui/sdui.md +0 -0
- package/docs/src/core/components/functional/states/states.md +0 -0
- package/docs/src/core/components/functional/submit/submit.md +0 -0
- package/docs/src/core/components/ui/alert/alert.md +72 -128
- package/docs/src/core/components/ui/badge/badge.md +78 -126
- package/docs/src/core/components/ui/button/button.md +0 -1
- package/docs/src/core/components/ui/captcha/captcha.md +0 -0
- package/docs/src/core/components/ui/card/card.md +65 -120
- package/docs/src/core/components/ui/form/input/input.md +1 -1
- package/docs/src/core/components/ui/form/radio/radio.md +0 -0
- package/docs/src/core/components/ui/form/select/select.md +0 -0
- package/docs/src/core/components/ui/form/switch/switch.md +0 -0
- package/docs/src/core/components/ui/form/textarea/textarea.md +1 -1
- package/docs/src/core/components/ui/image/image.md +53 -147
- package/docs/src/core/components/ui/link/link.md +2 -2
- package/docs/src/core/components/ui/loader/loader.md +0 -0
- package/docs/src/core/components/ui/menu/menu.md +0 -0
- package/docs/src/core/components/ui/modal/modal.md +0 -0
- package/docs/src/core/components/ui/pop/pop.md +1 -105
- package/docs/src/core/components/ui/table/table.md +0 -0
- package/docs/src/docs/_core-concept/subscriber.md +0 -0
- package/docs/src/docs/_getting-started/concorde-outside.md +3 -3
- package/docs/src/docs/_getting-started/my-first-subscriber.md +0 -0
- package/docs/src/docs/_getting-started/pubsub.md +0 -0
- package/docs/src/docs/_getting-started/start.md +0 -0
- package/docs/src/docs/search/docs-search.json +25 -655
- package/docs/src/tsconfig.declarations.json +22 -0
- package/docs/src/tsconfig.emit.json +23 -0
- package/docs/src/tsconfig.json +3 -45
- package/gitlab/job_github_mirror.sh +39 -0
- package/gitlab/job_tests.sh +0 -0
- package/package.json +1 -1
- package/scripts/github-export.mjs +150 -0
- package/scripts/post-build-docs.js +0 -0
- package/scripts/post-build.mjs +0 -0
- package/src/core/components/functional/fetch/fetch.md +0 -0
- package/src/core/components/functional/if/if.md +0 -0
- package/src/core/components/functional/list/list.demo.ts +0 -0
- package/src/core/components/functional/list/list.md +0 -0
- package/src/core/components/functional/router/router.md +0 -0
- package/src/core/components/functional/router/router.ts +0 -0
- package/src/core/components/functional/sdui/sdui.md +0 -0
- package/src/core/components/functional/states/states.md +0 -0
- package/src/core/components/functional/submit/submit.md +0 -0
- package/src/core/components/functional/subscriber/subscriber.ts +0 -0
- package/src/core/components/ui/_css/size.ts +0 -0
- package/src/core/components/ui/captcha/altchaStyles.ts +0 -0
- package/src/core/components/ui/captcha/captcha.md +0 -0
- package/src/core/components/ui/form/radio/radio.md +0 -0
- package/src/core/components/ui/form/select/select.md +0 -0
- package/src/core/components/ui/form/switch/switch.md +0 -0
- package/src/core/components/ui/loader/loader.md +0 -0
- package/src/core/components/ui/menu/menu.md +0 -0
- package/src/core/components/ui/modal/modal.md +0 -0
- package/src/core/components/ui/table/table-caption.ts +0 -0
- package/src/core/components/ui/table/table.md +0 -0
- package/src/core/decorators/subscriber/ancestorAttribute.spec.ts +26 -0
- package/src/core/decorators/subscriber/ancestorAttribute.ts +3 -4
- package/src/core/mixins/Subscriber.ts +0 -0
- package/src/core/utils/AncestorAttributeObserver.ts +183 -70
- package/src/core/utils/DataBindObserver.ts +0 -0
- package/src/core/utils/Objects.ts +0 -0
- package/src/core/utils/route.ts +0 -0
- package/src/css.d.ts +19 -0
- package/src/docs/_core-concept/subscriber.md +0 -0
- package/src/docs/_decorators/ancestor-attribute.md +3 -2
- package/src/docs/_getting-started/my-first-subscriber.md +0 -0
- package/src/docs/_getting-started/pubsub.md +0 -0
- package/src/docs/_getting-started/start.md +0 -0
- package/src/docs/example/users.ts +0 -0
- package/src/docs/search/page.ts +0 -0
- package/src/tsconfig.declarations.json +22 -0
- package/src/tsconfig.emit.json +23 -0
- package/src/tsconfig.tsbuildinfo +1 -1
- package/docs/assets/index--GpD7R7a.css +0 -1
|
@@ -2415,449 +2415,44 @@
|
|
|
2415
2415
|
}
|
|
2416
2416
|
},
|
|
2417
2417
|
{
|
|
2418
|
-
"search": "
|
|
2419
|
-
"files": {
|
|
2420
|
-
"core/components/ui/alert/alert.md": {
|
|
2421
|
-
"title": "Alert",
|
|
2422
|
-
"hashes": {
|
|
2423
|
-
"alert": {
|
|
2424
|
-
"count": 1,
|
|
2425
|
-
"title": "",
|
|
2426
|
-
"type": "paragraph"
|
|
2427
|
-
}
|
|
2428
|
-
}
|
|
2429
|
-
}
|
|
2430
|
-
}
|
|
2431
|
-
},
|
|
2432
|
-
{
|
|
2433
|
-
"search": "Use status: default, info, success, warning, error.\n",
|
|
2434
|
-
"files": {
|
|
2435
|
-
"core/components/ui/alert/alert.md": {
|
|
2436
|
-
"title": "Alert",
|
|
2437
|
-
"hashes": {
|
|
2438
|
-
"alert": {
|
|
2439
|
-
"count": 1,
|
|
2440
|
-
"title": "",
|
|
2441
|
-
"type": "paragraph"
|
|
2442
|
-
}
|
|
2443
|
-
}
|
|
2444
|
-
}
|
|
2445
|
-
}
|
|
2446
|
-
},
|
|
2447
|
-
{
|
|
2448
|
-
"search": "Color and icon follow status. With no status, behavior is default.\n",
|
|
2449
|
-
"files": {
|
|
2450
|
-
"core/components/ui/alert/alert.md": {
|
|
2451
|
-
"title": "Alert",
|
|
2452
|
-
"hashes": {
|
|
2453
|
-
"status": {
|
|
2454
|
-
"count": 1,
|
|
2455
|
-
"title": "Status",
|
|
2456
|
-
"type": "paragraph"
|
|
2457
|
-
}
|
|
2458
|
-
}
|
|
2459
|
-
}
|
|
2460
|
-
}
|
|
2461
|
-
},
|
|
2462
|
-
{
|
|
2463
|
-
"search": "By default, an alert already in the DOM is not announced (no role / aria-live). Set announce when the message appears after user action (API response, validation, etc.): screen readers get role="alert" for error, otherwise role="status" and aria-live="polite".\n",
|
|
2464
|
-
"files": {
|
|
2465
|
-
"core/components/ui/alert/alert.md": {
|
|
2466
|
-
"title": "Alert",
|
|
2467
|
-
"hashes": {
|
|
2468
|
-
"accessibility-announce": {
|
|
2469
|
-
"count": 1,
|
|
2470
|
-
"title": "Accessibility (`announce`)",
|
|
2471
|
-
"type": "paragraph"
|
|
2472
|
-
}
|
|
2473
|
-
}
|
|
2474
|
-
}
|
|
2475
|
-
}
|
|
2476
|
-
},
|
|
2477
|
-
{
|
|
2478
|
-
"search": "sonic-alert-messages sets announce on every rendered alert.\n",
|
|
2479
|
-
"files": {
|
|
2480
|
-
"core/components/ui/alert/alert.md": {
|
|
2481
|
-
"title": "Alert",
|
|
2482
|
-
"hashes": {
|
|
2483
|
-
"accessibility-announce": {
|
|
2484
|
-
"count": 1,
|
|
2485
|
-
"title": "Accessibility (`announce`)",
|
|
2486
|
-
"type": "paragraph"
|
|
2487
|
-
}
|
|
2488
|
-
}
|
|
2489
|
-
}
|
|
2490
|
-
}
|
|
2491
|
-
},
|
|
2492
|
-
{
|
|
2493
|
-
"search": "label and text accept plain text only. The default slot is rendered after text. Use the icon slot to replace the default sonic-icon. noIcon hides the icon.\n",
|
|
2494
|
-
"files": {
|
|
2495
|
-
"core/components/ui/alert/alert.md": {
|
|
2496
|
-
"title": "Alert",
|
|
2497
|
-
"hashes": {
|
|
2498
|
-
"content-and-icon": {
|
|
2499
|
-
"count": 1,
|
|
2500
|
-
"title": "Content and icon",
|
|
2501
|
-
"type": "paragraph"
|
|
2502
|
-
}
|
|
2503
|
-
}
|
|
2504
|
-
}
|
|
2505
|
-
}
|
|
2506
|
-
},
|
|
2507
|
-
{
|
|
2508
|
-
"search": "Project any markup into slot="icon" (emoji, image, custom component). Keep it decorative with aria-hidden="true" when the message text already conveys meaning.\n",
|
|
2509
|
-
"files": {
|
|
2510
|
-
"core/components/ui/alert/alert.md": {
|
|
2511
|
-
"title": "Alert",
|
|
2512
|
-
"hashes": {
|
|
2513
|
-
"custom-icon-slot": {
|
|
2514
|
-
"count": 1,
|
|
2515
|
-
"title": "Custom icon slot",
|
|
2516
|
-
"type": "paragraph"
|
|
2517
|
-
}
|
|
2518
|
-
}
|
|
2519
|
-
}
|
|
2520
|
-
}
|
|
2521
|
-
},
|
|
2522
|
-
{
|
|
2523
|
-
"search": "Rich content in the slot (buttons, links).\n",
|
|
2524
|
-
"files": {
|
|
2525
|
-
"core/components/ui/alert/alert.md": {
|
|
2526
|
-
"title": "Alert",
|
|
2527
|
-
"hashes": {
|
|
2528
|
-
"alert-with-link": {
|
|
2529
|
-
"count": 1,
|
|
2530
|
-
"title": "Alert with link",
|
|
2531
|
-
"type": "paragraph"
|
|
2532
|
-
}
|
|
2533
|
-
}
|
|
2534
|
-
}
|
|
2535
|
-
}
|
|
2536
|
-
},
|
|
2537
|
-
{
|
|
2538
|
-
"search": "Tinted background from the status color (color-mix on currentColor).\n",
|
|
2539
|
-
"files": {
|
|
2540
|
-
"core/components/ui/alert/alert.md": {
|
|
2541
|
-
"title": "Alert",
|
|
2542
|
-
"hashes": {
|
|
2543
|
-
"background": {
|
|
2544
|
-
"count": 1,
|
|
2545
|
-
"title": "Background",
|
|
2546
|
-
"type": "paragraph"
|
|
2547
|
-
}
|
|
2548
|
-
}
|
|
2549
|
-
}
|
|
2550
|
-
}
|
|
2551
|
-
},
|
|
2552
|
-
{
|
|
2553
|
-
"search": "dismissible removes the alert from the DOM when the close control is clicked (i18n aria label). dismissible and background are independent: without background, close sits at the end of the row; with background, top-right.\n",
|
|
2554
|
-
"files": {
|
|
2555
|
-
"core/components/ui/alert/alert.md": {
|
|
2556
|
-
"title": "Alert",
|
|
2557
|
-
"hashes": {
|
|
2558
|
-
"dismissible": {
|
|
2559
|
-
"count": 1,
|
|
2560
|
-
"title": "Dismissible",
|
|
2561
|
-
"type": "paragraph"
|
|
2562
|
-
}
|
|
2563
|
-
}
|
|
2564
|
-
}
|
|
2565
|
-
}
|
|
2566
|
-
},
|
|
2567
|
-
{
|
|
2568
|
-
"search": "With dismissForever, dismissal is stored in localStorage (key sonic-alert-dismissed). A stable id on the element is required; without id, a warning is logged and nothing is persisted.\n",
|
|
2569
|
-
"files": {
|
|
2570
|
-
"core/components/ui/alert/alert.md": {
|
|
2571
|
-
"title": "Alert",
|
|
2572
|
-
"hashes": {
|
|
2573
|
-
"dismiss-forever": {
|
|
2574
|
-
"count": 1,
|
|
2575
|
-
"title": "Dismiss forever",
|
|
2576
|
-
"type": "paragraph"
|
|
2577
|
-
}
|
|
2578
|
-
}
|
|
2579
|
-
}
|
|
2580
|
-
}
|
|
2581
|
-
},
|
|
2582
|
-
{
|
|
2583
|
-
"search": "Badge",
|
|
2584
|
-
"files": {
|
|
2585
|
-
"core/components/ui/badge/badge.md": {
|
|
2586
|
-
"title": "Badge",
|
|
2587
|
-
"hashes": {
|
|
2588
|
-
"badge": {
|
|
2589
|
-
"count": 1,
|
|
2590
|
-
"title": "",
|
|
2591
|
-
"type": "page"
|
|
2592
|
-
}
|
|
2593
|
-
}
|
|
2594
|
-
}
|
|
2595
|
-
}
|
|
2596
|
-
},
|
|
2597
|
-
{
|
|
2598
|
-
"search": "A non-interactive pill for labels, counts, or highlights (counter, status, category). The API mirrors sonic-button (type, variant, size) without focus or click states.\n",
|
|
2599
|
-
"files": {
|
|
2600
|
-
"core/components/ui/badge/badge.md": {
|
|
2601
|
-
"title": "Badge",
|
|
2602
|
-
"hashes": {
|
|
2603
|
-
"badge": {
|
|
2604
|
-
"count": 1,
|
|
2605
|
-
"title": "",
|
|
2606
|
-
"type": "paragraph"
|
|
2607
|
-
}
|
|
2608
|
-
}
|
|
2609
|
-
}
|
|
2610
|
-
}
|
|
2611
|
-
},
|
|
2612
|
-
{
|
|
2613
|
-
"search": "Colors come from theme tokens (--sc-primary, --sc-danger, …) or the semantic type values below. \n",
|
|
2614
|
-
"files": {
|
|
2615
|
-
"core/components/ui/badge/badge.md": {
|
|
2616
|
-
"title": "Badge",
|
|
2617
|
-
"hashes": {
|
|
2618
|
-
"badge": {
|
|
2619
|
-
"count": 1,
|
|
2620
|
-
"title": "",
|
|
2621
|
-
"type": "paragraph"
|
|
2622
|
-
}
|
|
2623
|
-
}
|
|
2624
|
-
}
|
|
2625
|
-
}
|
|
2626
|
-
},
|
|
2627
|
-
{
|
|
2628
|
-
"search": "default — subtle background (base-100). neutral — dark fill (base-content) with light text, useful on light backgrounds.\n",
|
|
2629
|
-
"files": {
|
|
2630
|
-
"core/components/ui/badge/badge.md": {
|
|
2631
|
-
"title": "Badge",
|
|
2632
|
-
"hashes": {
|
|
2633
|
-
"type": {
|
|
2634
|
-
"count": 1,
|
|
2635
|
-
"title": "Type",
|
|
2636
|
-
"type": "paragraph"
|
|
2637
|
-
}
|
|
2638
|
-
}
|
|
2639
|
-
}
|
|
2640
|
-
}
|
|
2641
|
-
},
|
|
2642
|
-
{
|
|
2643
|
-
"search": "outline — border and text in the type color. ghost — text only, no padding (except in forced-colors mode).\n",
|
|
2644
|
-
"files": {
|
|
2645
|
-
"core/components/ui/badge/badge.md": {
|
|
2646
|
-
"title": "Badge",
|
|
2647
|
-
"hashes": {
|
|
2648
|
-
"variant": {
|
|
2649
|
-
"count": 1,
|
|
2650
|
-
"title": "Variant",
|
|
2651
|
-
"type": "paragraph"
|
|
2652
|
-
}
|
|
2653
|
-
}
|
|
2654
|
-
}
|
|
2655
|
-
}
|
|
2656
|
-
},
|
|
2657
|
-
{
|
|
2658
|
-
"search": "Default size is md (omit the size attribute). Typography and padding follow sonic-button.\n",
|
|
2659
|
-
"files": {
|
|
2660
|
-
"core/components/ui/badge/badge.md": {
|
|
2661
|
-
"title": "Badge",
|
|
2662
|
-
"hashes": {
|
|
2663
|
-
"size": {
|
|
2664
|
-
"count": 1,
|
|
2665
|
-
"title": "Size",
|
|
2666
|
-
"type": "paragraph"
|
|
2667
|
-
}
|
|
2668
|
-
}
|
|
2669
|
-
}
|
|
2670
|
-
}
|
|
2671
|
-
},
|
|
2672
|
-
{
|
|
2673
|
-
"search": "Icons or short text before / after the main label.\n",
|
|
2674
|
-
"files": {
|
|
2675
|
-
"core/components/ui/badge/badge.md": {
|
|
2676
|
-
"title": "Badge",
|
|
2677
|
-
"hashes": {
|
|
2678
|
-
"prefix-and-suffix-slots": {
|
|
2679
|
-
"count": 1,
|
|
2680
|
-
"title": "Prefix and suffix slots",
|
|
2681
|
-
"type": "paragraph"
|
|
2682
|
-
}
|
|
2683
|
-
}
|
|
2684
|
-
}
|
|
2685
|
-
}
|
|
2686
|
-
},
|
|
2687
|
-
{
|
|
2688
|
-
"search": "Badge with no text (visual dot). min-width / min-height keep a readable shape.\n",
|
|
2689
|
-
"files": {
|
|
2690
|
-
"core/components/ui/badge/badge.md": {
|
|
2691
|
-
"title": "Badge",
|
|
2692
|
-
"hashes": {
|
|
2693
|
-
"empty-badges": {
|
|
2694
|
-
"count": 1,
|
|
2695
|
-
"title": "Empty badges",
|
|
2696
|
-
"type": "paragraph"
|
|
2697
|
-
}
|
|
2698
|
-
}
|
|
2699
|
-
}
|
|
2700
|
-
}
|
|
2701
|
-
},
|
|
2702
|
-
{
|
|
2703
|
-
"search": "With ellipsis, long labels truncate. The parent must constrain width (max-width, grid, etc.).\n",
|
|
2704
|
-
"files": {
|
|
2705
|
-
"core/components/ui/badge/badge.md": {
|
|
2706
|
-
"title": "Badge",
|
|
2707
|
-
"hashes": {
|
|
2708
|
-
"ellipsis": {
|
|
2709
|
-
"count": 1,
|
|
2710
|
-
"title": "Ellipsis",
|
|
2711
|
-
"type": "paragraph"
|
|
2712
|
-
}
|
|
2713
|
-
}
|
|
2714
|
-
}
|
|
2715
|
-
}
|
|
2716
|
-
},
|
|
2717
|
-
{
|
|
2718
|
-
"search": "Count inside a button (slot="suffix") or a badge absolutely positioned on a button / icon.\n",
|
|
2719
|
-
"files": {
|
|
2720
|
-
"core/components/ui/badge/badge.md": {
|
|
2721
|
-
"title": "Badge",
|
|
2722
|
-
"hashes": {
|
|
2723
|
-
"badge-in-button": {
|
|
2724
|
-
"count": 1,
|
|
2725
|
-
"title": "Badge in button",
|
|
2726
|
-
"type": "paragraph"
|
|
2727
|
-
}
|
|
2728
|
-
}
|
|
2729
|
-
}
|
|
2730
|
-
}
|
|
2731
|
-
},
|
|
2732
|
-
{
|
|
2733
|
-
"search": "Button",
|
|
2734
|
-
"files": {
|
|
2735
|
-
"core/components/ui/button/button.md": {
|
|
2736
|
-
"title": "Button",
|
|
2737
|
-
"hashes": {
|
|
2738
|
-
"button": {
|
|
2739
|
-
"count": 1,
|
|
2740
|
-
"title": "",
|
|
2741
|
-
"type": "page"
|
|
2742
|
-
}
|
|
2743
|
-
}
|
|
2744
|
-
}
|
|
2745
|
-
}
|
|
2746
|
-
},
|
|
2747
|
-
{
|
|
2748
|
-
"search": "The length of the button depends on the size of its content\n\n",
|
|
2749
|
-
"files": {
|
|
2750
|
-
"core/components/ui/button/button.md": {
|
|
2751
|
-
"title": "Button",
|
|
2752
|
-
"hashes": {
|
|
2753
|
-
"loading": {
|
|
2754
|
-
"count": 1,
|
|
2755
|
-
"title": "Loading",
|
|
2756
|
-
"type": "paragraph"
|
|
2757
|
-
}
|
|
2758
|
-
}
|
|
2759
|
-
}
|
|
2760
|
-
}
|
|
2761
|
-
},
|
|
2762
|
-
{
|
|
2763
|
-
"search": "Captcha",
|
|
2764
|
-
"files": {
|
|
2765
|
-
"core/components/ui/captcha/captcha.md": {
|
|
2766
|
-
"title": "Captcha",
|
|
2767
|
-
"hashes": {
|
|
2768
|
-
"captcha": {
|
|
2769
|
-
"count": 1,
|
|
2770
|
-
"title": "",
|
|
2771
|
-
"type": "page"
|
|
2772
|
-
}
|
|
2773
|
-
}
|
|
2774
|
-
}
|
|
2775
|
-
}
|
|
2776
|
-
},
|
|
2777
|
-
{
|
|
2778
|
-
"search": "Card",
|
|
2779
|
-
"files": {
|
|
2780
|
-
"core/components/ui/card/card.md": {
|
|
2781
|
-
"title": "Card",
|
|
2782
|
-
"hashes": {
|
|
2783
|
-
"card": {
|
|
2784
|
-
"count": 1,
|
|
2785
|
-
"title": "",
|
|
2786
|
-
"type": "page"
|
|
2787
|
-
}
|
|
2788
|
-
}
|
|
2789
|
-
}
|
|
2790
|
-
}
|
|
2791
|
-
},
|
|
2792
|
-
{
|
|
2793
|
-
"search": "A surface for grouped content: padding, radius, shadow, and semantic type colors via shared theme tokens. Compose sonic-card-header, sonic-card-main, and sonic-card-footer inside the card, or put any markup in the default slot.\n",
|
|
2418
|
+
"search": "Badge",
|
|
2794
2419
|
"files": {
|
|
2795
|
-
"core/components/ui/
|
|
2796
|
-
"title": "
|
|
2420
|
+
"core/components/ui/badge/badge.md": {
|
|
2421
|
+
"title": "Badge",
|
|
2797
2422
|
"hashes": {
|
|
2798
|
-
"
|
|
2423
|
+
"badge": {
|
|
2799
2424
|
"count": 1,
|
|
2800
2425
|
"title": "",
|
|
2801
|
-
"type": "
|
|
2426
|
+
"type": "page"
|
|
2802
2427
|
}
|
|
2803
2428
|
}
|
|
2804
2429
|
}
|
|
2805
2430
|
}
|
|
2806
2431
|
},
|
|
2807
2432
|
{
|
|
2808
|
-
"search": "
|
|
2433
|
+
"search": "Button",
|
|
2809
2434
|
"files": {
|
|
2810
|
-
"core/components/ui/
|
|
2811
|
-
"title": "
|
|
2435
|
+
"core/components/ui/button/button.md": {
|
|
2436
|
+
"title": "Button",
|
|
2812
2437
|
"hashes": {
|
|
2813
|
-
"
|
|
2438
|
+
"button": {
|
|
2814
2439
|
"count": 1,
|
|
2815
2440
|
"title": "",
|
|
2816
|
-
"type": "
|
|
2817
|
-
}
|
|
2818
|
-
}
|
|
2819
|
-
}
|
|
2820
|
-
}
|
|
2821
|
-
},
|
|
2822
|
-
{
|
|
2823
|
-
"search": "Quick titles with label and description attributes, or full control through the default slot. slot="suffix" aligns badges or actions on the right; suffix content does not shrink when the title wraps.\n",
|
|
2824
|
-
"files": {
|
|
2825
|
-
"core/components/ui/card/card.md": {
|
|
2826
|
-
"title": "Card",
|
|
2827
|
-
"hashes": {
|
|
2828
|
-
"header": {
|
|
2829
|
-
"count": 1,
|
|
2830
|
-
"title": "Header",
|
|
2831
|
-
"type": "paragraph"
|
|
2832
|
-
}
|
|
2833
|
-
}
|
|
2834
|
-
}
|
|
2835
|
-
}
|
|
2836
|
-
},
|
|
2837
|
-
{
|
|
2838
|
-
"search": "label and description accept HTML (rendered as markup). Prefer plain text when possible; use the slot for structured content.\n",
|
|
2839
|
-
"files": {
|
|
2840
|
-
"core/components/ui/card/card.md": {
|
|
2841
|
-
"title": "Card",
|
|
2842
|
-
"hashes": {
|
|
2843
|
-
"header": {
|
|
2844
|
-
"count": 1,
|
|
2845
|
-
"title": "Header",
|
|
2846
|
-
"type": "paragraph"
|
|
2441
|
+
"type": "page"
|
|
2847
2442
|
}
|
|
2848
2443
|
}
|
|
2849
2444
|
}
|
|
2850
2445
|
}
|
|
2851
2446
|
},
|
|
2852
2447
|
{
|
|
2853
|
-
"search": "
|
|
2448
|
+
"search": "The length of the button depends on the size of its content\n\n",
|
|
2854
2449
|
"files": {
|
|
2855
|
-
"core/components/ui/
|
|
2856
|
-
"title": "
|
|
2450
|
+
"core/components/ui/button/button.md": {
|
|
2451
|
+
"title": "Button",
|
|
2857
2452
|
"hashes": {
|
|
2858
|
-
"
|
|
2453
|
+
"loading": {
|
|
2859
2454
|
"count": 1,
|
|
2860
|
-
"title": "
|
|
2455
|
+
"title": "Loading",
|
|
2861
2456
|
"type": "paragraph"
|
|
2862
2457
|
}
|
|
2863
2458
|
}
|
|
@@ -2865,30 +2460,30 @@
|
|
|
2865
2460
|
}
|
|
2866
2461
|
},
|
|
2867
2462
|
{
|
|
2868
|
-
"search": "
|
|
2463
|
+
"search": "Captcha",
|
|
2869
2464
|
"files": {
|
|
2870
|
-
"core/components/ui/
|
|
2871
|
-
"title": "
|
|
2465
|
+
"core/components/ui/captcha/captcha.md": {
|
|
2466
|
+
"title": "Captcha",
|
|
2872
2467
|
"hashes": {
|
|
2873
|
-
"
|
|
2468
|
+
"captcha": {
|
|
2874
2469
|
"count": 1,
|
|
2875
|
-
"title": "
|
|
2876
|
-
"type": "
|
|
2470
|
+
"title": "",
|
|
2471
|
+
"type": "page"
|
|
2877
2472
|
}
|
|
2878
2473
|
}
|
|
2879
2474
|
}
|
|
2880
2475
|
}
|
|
2881
2476
|
},
|
|
2882
2477
|
{
|
|
2883
|
-
"search": "
|
|
2478
|
+
"search": "Card",
|
|
2884
2479
|
"files": {
|
|
2885
2480
|
"core/components/ui/card/card.md": {
|
|
2886
2481
|
"title": "Card",
|
|
2887
2482
|
"hashes": {
|
|
2888
|
-
"
|
|
2483
|
+
"card": {
|
|
2889
2484
|
"count": 1,
|
|
2890
|
-
"title": "
|
|
2891
|
-
"type": "
|
|
2485
|
+
"title": "",
|
|
2486
|
+
"type": "page"
|
|
2892
2487
|
}
|
|
2893
2488
|
}
|
|
2894
2489
|
}
|
|
@@ -3284,126 +2879,6 @@
|
|
|
3284
2879
|
}
|
|
3285
2880
|
}
|
|
3286
2881
|
},
|
|
3287
|
-
{
|
|
3288
|
-
"search": "Responsive <img> wrapper: aspect ratio, object-fit: cover, rounded corners, and optional fade-in on load. The host uses a light placeholder background (--sc-placeholder-bg) until the file is ready. Default loading is lazy; set loading="eager" for above-the-fold heroes.\n",
|
|
3289
|
-
"files": {
|
|
3290
|
-
"core/components/ui/image/image.md": {
|
|
3291
|
-
"title": "Image",
|
|
3292
|
-
"hashes": {
|
|
3293
|
-
"image": {
|
|
3294
|
-
"count": 1,
|
|
3295
|
-
"title": "",
|
|
3296
|
-
"type": "paragraph"
|
|
3297
|
-
}
|
|
3298
|
-
}
|
|
3299
|
-
}
|
|
3300
|
-
}
|
|
3301
|
-
},
|
|
3302
|
-
{
|
|
3303
|
-
"search": "Omit rounded for square corners. Boolean rounded uses the theme token --sc-rounded. Sizes: sm, md, lg, xl, full (circle — pair with ratio="1/1"), none (explicit reset).\n",
|
|
3304
|
-
"files": {
|
|
3305
|
-
"core/components/ui/image/image.md": {
|
|
3306
|
-
"title": "Image",
|
|
3307
|
-
"hashes": {
|
|
3308
|
-
"rounded": {
|
|
3309
|
-
"count": 1,
|
|
3310
|
-
"title": "Rounded",
|
|
3311
|
-
"type": "paragraph"
|
|
3312
|
-
}
|
|
3313
|
-
}
|
|
3314
|
-
}
|
|
3315
|
-
}
|
|
3316
|
-
},
|
|
3317
|
-
{
|
|
3318
|
-
"search": "ratio sets CSS aspect-ratio on the image (default auto). The image still fills the host width (width: 100%).\n",
|
|
3319
|
-
"files": {
|
|
3320
|
-
"core/components/ui/image/image.md": {
|
|
3321
|
-
"title": "Image",
|
|
3322
|
-
"hashes": {
|
|
3323
|
-
"aspect-ratio": {
|
|
3324
|
-
"count": 1,
|
|
3325
|
-
"title": "Aspect ratio",
|
|
3326
|
-
"type": "paragraph"
|
|
3327
|
-
}
|
|
3328
|
-
}
|
|
3329
|
-
}
|
|
3330
|
-
}
|
|
3331
|
-
},
|
|
3332
|
-
{
|
|
3333
|
-
"search": "objectPosition maps to CSS object-position (default center center). Useful on wide crops when the subject sits off-center.\n",
|
|
3334
|
-
"files": {
|
|
3335
|
-
"core/components/ui/image/image.md": {
|
|
3336
|
-
"title": "Image",
|
|
3337
|
-
"hashes": {
|
|
3338
|
-
"object-position": {
|
|
3339
|
-
"count": 1,
|
|
3340
|
-
"title": "Object position",
|
|
3341
|
-
"type": "paragraph"
|
|
3342
|
-
}
|
|
3343
|
-
}
|
|
3344
|
-
}
|
|
3345
|
-
}
|
|
3346
|
-
},
|
|
3347
|
-
{
|
|
3348
|
-
"search": "cover stretches the image to fill a positioned parent (position: relative + fixed height or inset). Aspect ratio on the host is ignored while cover is set.\n",
|
|
3349
|
-
"files": {
|
|
3350
|
-
"core/components/ui/image/image.md": {
|
|
3351
|
-
"title": "Image",
|
|
3352
|
-
"hashes": {
|
|
3353
|
-
"cover": {
|
|
3354
|
-
"count": 1,
|
|
3355
|
-
"title": "Cover",
|
|
3356
|
-
"type": "paragraph"
|
|
3357
|
-
}
|
|
3358
|
-
}
|
|
3359
|
-
}
|
|
3360
|
-
}
|
|
3361
|
-
},
|
|
3362
|
-
{
|
|
3363
|
-
"search": "Set transition to fade (default when the attribute is present) or fade-scale-out. The image stays at opacity: 0 until the browser fires load, then the loaded class runs the animation. Changing src on an existing element does not replay the effect — mount a new sonic-image when you need another entrance (galleries, infinite scroll).\n",
|
|
3364
|
-
"files": {
|
|
3365
|
-
"core/components/ui/image/image.md": {
|
|
3366
|
-
"title": "Image",
|
|
3367
|
-
"hashes": {
|
|
3368
|
-
"load-transition": {
|
|
3369
|
-
"count": 1,
|
|
3370
|
-
"title": "Load transition",
|
|
3371
|
-
"type": "paragraph"
|
|
3372
|
-
}
|
|
3373
|
-
}
|
|
3374
|
-
}
|
|
3375
|
-
}
|
|
3376
|
-
},
|
|
3377
|
-
{
|
|
3378
|
-
"search": "Click Add image to append small thumbnails and replay the transition. Clear resets the row.\n",
|
|
3379
|
-
"files": {
|
|
3380
|
-
"core/components/ui/image/image.md": {
|
|
3381
|
-
"title": "Image",
|
|
3382
|
-
"hashes": {
|
|
3383
|
-
"load-transition": {
|
|
3384
|
-
"count": 1,
|
|
3385
|
-
"title": "Load transition",
|
|
3386
|
-
"type": "paragraph"
|
|
3387
|
-
}
|
|
3388
|
-
}
|
|
3389
|
-
}
|
|
3390
|
-
}
|
|
3391
|
-
},
|
|
3392
|
-
{
|
|
3393
|
-
"search": "Always set meaningful alt text (empty string only for decorative images). \n",
|
|
3394
|
-
"files": {
|
|
3395
|
-
"core/components/ui/image/image.md": {
|
|
3396
|
-
"title": "Image",
|
|
3397
|
-
"hashes": {
|
|
3398
|
-
"accessibility-and-parts": {
|
|
3399
|
-
"count": 1,
|
|
3400
|
-
"title": "Accessibility and parts",
|
|
3401
|
-
"type": "paragraph"
|
|
3402
|
-
}
|
|
3403
|
-
}
|
|
3404
|
-
}
|
|
3405
|
-
}
|
|
3406
|
-
},
|
|
3407
2882
|
{
|
|
3408
2883
|
"search": "Link",
|
|
3409
2884
|
"files": {
|
|
@@ -3479,111 +2954,6 @@
|
|
|
3479
2954
|
}
|
|
3480
2955
|
}
|
|
3481
2956
|
},
|
|
3482
|
-
{
|
|
3483
|
-
"search": "Default placement is bottom. Placement is written side-align, like sonic-tooltip: side is top, right, bottom or left, align is start, center or end. Without align, content is aligned on the start of the trigger. If there is not enough room, content flips to the opposite side and stays inside the viewport.\n",
|
|
3484
|
-
"files": {
|
|
3485
|
-
"core/components/ui/pop/pop.md": {
|
|
3486
|
-
"title": "Pop",
|
|
3487
|
-
"hashes": {
|
|
3488
|
-
"placement": {
|
|
3489
|
-
"count": 1,
|
|
3490
|
-
"title": "Placement",
|
|
3491
|
-
"type": "paragraph"
|
|
3492
|
-
}
|
|
3493
|
-
}
|
|
3494
|
-
}
|
|
3495
|
-
}
|
|
3496
|
-
},
|
|
3497
|
-
{
|
|
3498
|
-
"search": "The former space syntax (placement="bottom center") still works but is deprecated.\n",
|
|
3499
|
-
"files": {
|
|
3500
|
-
"core/components/ui/pop/pop.md": {
|
|
3501
|
-
"title": "Pop",
|
|
3502
|
-
"hashes": {
|
|
3503
|
-
"placement": {
|
|
3504
|
-
"count": 1,
|
|
3505
|
-
"title": "Placement",
|
|
3506
|
-
"type": "paragraph"
|
|
3507
|
-
}
|
|
3508
|
-
}
|
|
3509
|
-
}
|
|
3510
|
-
}
|
|
3511
|
-
},
|
|
3512
|
-
{
|
|
3513
|
-
"search": "Default shadow is lg.\n",
|
|
3514
|
-
"files": {
|
|
3515
|
-
"core/components/ui/pop/pop.md": {
|
|
3516
|
-
"title": "Pop",
|
|
3517
|
-
"hashes": {
|
|
3518
|
-
"shadow": {
|
|
3519
|
-
"count": 1,
|
|
3520
|
-
"title": "Shadow",
|
|
3521
|
-
"type": "paragraph"
|
|
3522
|
-
}
|
|
3523
|
-
}
|
|
3524
|
-
}
|
|
3525
|
-
}
|
|
3526
|
-
},
|
|
3527
|
-
{
|
|
3528
|
-
"search": "By default, pop is vertically aligned to the middle. Use inline to align it on the text baseline, e.g. inside a sentence.\n",
|
|
3529
|
-
"files": {
|
|
3530
|
-
"core/components/ui/pop/pop.md": {
|
|
3531
|
-
"title": "Pop",
|
|
3532
|
-
"hashes": {
|
|
3533
|
-
"inline": {
|
|
3534
|
-
"count": 1,
|
|
3535
|
-
"title": "Inline",
|
|
3536
|
-
"type": "paragraph"
|
|
3537
|
-
}
|
|
3538
|
-
}
|
|
3539
|
-
}
|
|
3540
|
-
}
|
|
3541
|
-
},
|
|
3542
|
-
{
|
|
3543
|
-
"search": "By default, a click inside the content closes the pop, as well as a click outside. Add data-on-select="keep" on the content, or on any of its elements, to keep the pop open when interacting with it.\n",
|
|
3544
|
-
"files": {
|
|
3545
|
-
"core/components/ui/pop/pop.md": {
|
|
3546
|
-
"title": "Pop",
|
|
3547
|
-
"hashes": {
|
|
3548
|
-
"keep-open-on-select": {
|
|
3549
|
-
"count": 1,
|
|
3550
|
-
"title": "Keep open on select",
|
|
3551
|
-
"type": "paragraph"
|
|
3552
|
-
}
|
|
3553
|
-
}
|
|
3554
|
-
}
|
|
3555
|
-
}
|
|
3556
|
-
},
|
|
3557
|
-
{
|
|
3558
|
-
"search": "show() and hide() open and close the pop programmatically (see manual above). The pop dispatches a show event when it opens and a hide event when it closes.\n",
|
|
3559
|
-
"files": {
|
|
3560
|
-
"core/components/ui/pop/pop.md": {
|
|
3561
|
-
"title": "Pop",
|
|
3562
|
-
"hashes": {
|
|
3563
|
-
"methods-and-events": {
|
|
3564
|
-
"count": 1,
|
|
3565
|
-
"title": "Methods and events",
|
|
3566
|
-
"type": "paragraph"
|
|
3567
|
-
}
|
|
3568
|
-
}
|
|
3569
|
-
}
|
|
3570
|
-
}
|
|
3571
|
-
},
|
|
3572
|
-
{
|
|
3573
|
-
"search": "The content can be styled from outside with ::part(content).\n",
|
|
3574
|
-
"files": {
|
|
3575
|
-
"core/components/ui/pop/pop.md": {
|
|
3576
|
-
"title": "Pop",
|
|
3577
|
-
"hashes": {
|
|
3578
|
-
"styling": {
|
|
3579
|
-
"count": 1,
|
|
3580
|
-
"title": "Styling",
|
|
3581
|
-
"type": "paragraph"
|
|
3582
|
-
}
|
|
3583
|
-
}
|
|
3584
|
-
}
|
|
3585
|
-
}
|
|
3586
|
-
},
|
|
3587
2957
|
{
|
|
3588
2958
|
"search": "Progress bar",
|
|
3589
2959
|
"files": {
|