@supersoniks/concorde 3.0.12 → 3.1.1

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 (108) hide show
  1. package/build-infos.json +1 -1
  2. package/concorde-core.bundle.js +129 -124
  3. package/concorde-core.es.js +1117 -1101
  4. package/dist/concorde-core.bundle.js +129 -124
  5. package/dist/concorde-core.es.js +1117 -1101
  6. package/dist/fonts/ClashGrotesk-Bold.eot +0 -0
  7. package/dist/fonts/ClashGrotesk-Bold.ttf +0 -0
  8. package/dist/fonts/ClashGrotesk-Bold.woff +0 -0
  9. package/dist/fonts/ClashGrotesk-Bold.woff2 +0 -0
  10. package/dist/fonts/ClashGrotesk-Extralight.eot +0 -0
  11. package/dist/fonts/ClashGrotesk-Extralight.ttf +0 -0
  12. package/dist/fonts/ClashGrotesk-Extralight.woff +0 -0
  13. package/dist/fonts/ClashGrotesk-Extralight.woff2 +0 -0
  14. package/dist/fonts/ClashGrotesk-Light.eot +0 -0
  15. package/dist/fonts/ClashGrotesk-Light.ttf +0 -0
  16. package/dist/fonts/ClashGrotesk-Light.woff +0 -0
  17. package/dist/fonts/ClashGrotesk-Light.woff2 +0 -0
  18. package/dist/fonts/ClashGrotesk-Medium.eot +0 -0
  19. package/dist/fonts/ClashGrotesk-Medium.ttf +0 -0
  20. package/dist/fonts/ClashGrotesk-Medium.woff +0 -0
  21. package/dist/fonts/ClashGrotesk-Medium.woff2 +0 -0
  22. package/dist/fonts/ClashGrotesk-Regular.eot +0 -0
  23. package/dist/fonts/ClashGrotesk-Regular.ttf +0 -0
  24. package/dist/fonts/ClashGrotesk-Regular.woff +0 -0
  25. package/dist/fonts/ClashGrotesk-Regular.woff2 +0 -0
  26. package/dist/fonts/ClashGrotesk-Semibold.eot +0 -0
  27. package/dist/fonts/ClashGrotesk-Semibold.ttf +0 -0
  28. package/dist/fonts/ClashGrotesk-Semibold.woff +0 -0
  29. package/dist/fonts/ClashGrotesk-Semibold.woff2 +0 -0
  30. package/dist/fonts/ClashGrotesk-Variable.eot +0 -0
  31. package/dist/fonts/ClashGrotesk-Variable.ttf +0 -0
  32. package/dist/fonts/ClashGrotesk-Variable.woff +0 -0
  33. package/dist/fonts/ClashGrotesk-Variable.woff2 +0 -0
  34. package/dist/img/concorde-icon.svg +5 -0
  35. package/dist/img/concorde_seuil.png.webp +0 -0
  36. package/dist/img/concorde_seuil_invert.png +0 -0
  37. package/index.html +67 -108
  38. package/package.json +2 -2
  39. package/public/fonts/ClashGrotesk-Bold.eot +0 -0
  40. package/public/fonts/ClashGrotesk-Bold.ttf +0 -0
  41. package/public/fonts/ClashGrotesk-Bold.woff +0 -0
  42. package/public/fonts/ClashGrotesk-Bold.woff2 +0 -0
  43. package/public/fonts/ClashGrotesk-Extralight.eot +0 -0
  44. package/public/fonts/ClashGrotesk-Extralight.ttf +0 -0
  45. package/public/fonts/ClashGrotesk-Extralight.woff +0 -0
  46. package/public/fonts/ClashGrotesk-Extralight.woff2 +0 -0
  47. package/public/fonts/ClashGrotesk-Light.eot +0 -0
  48. package/public/fonts/ClashGrotesk-Light.ttf +0 -0
  49. package/public/fonts/ClashGrotesk-Light.woff +0 -0
  50. package/public/fonts/ClashGrotesk-Light.woff2 +0 -0
  51. package/public/fonts/ClashGrotesk-Medium.eot +0 -0
  52. package/public/fonts/ClashGrotesk-Medium.ttf +0 -0
  53. package/public/fonts/ClashGrotesk-Medium.woff +0 -0
  54. package/public/fonts/ClashGrotesk-Medium.woff2 +0 -0
  55. package/public/fonts/ClashGrotesk-Regular.eot +0 -0
  56. package/public/fonts/ClashGrotesk-Regular.ttf +0 -0
  57. package/public/fonts/ClashGrotesk-Regular.woff +0 -0
  58. package/public/fonts/ClashGrotesk-Regular.woff2 +0 -0
  59. package/public/fonts/ClashGrotesk-Semibold.eot +0 -0
  60. package/public/fonts/ClashGrotesk-Semibold.ttf +0 -0
  61. package/public/fonts/ClashGrotesk-Semibold.woff +0 -0
  62. package/public/fonts/ClashGrotesk-Semibold.woff2 +0 -0
  63. package/public/fonts/ClashGrotesk-Variable.eot +0 -0
  64. package/public/fonts/ClashGrotesk-Variable.ttf +0 -0
  65. package/public/fonts/ClashGrotesk-Variable.woff +0 -0
  66. package/public/fonts/ClashGrotesk-Variable.woff2 +0 -0
  67. package/public/img/concorde-icon.svg +5 -0
  68. package/public/img/concorde_seuil.png.webp +0 -0
  69. package/public/img/concorde_seuil_invert.png +0 -0
  70. package/public/img/paul_metrand.jpg +0 -0
  71. package/public/img/paul_metrand_xs.jpg +0 -0
  72. package/src/core/components/functional/list/list.md +8 -3
  73. package/src/core/components/ui/_css/scroll.ts +3 -2
  74. package/src/core/components/ui/_css/size.ts +5 -1
  75. package/src/core/components/ui/form/checkbox/checkbox.ts +31 -21
  76. package/src/core/components/ui/form/input/input.ts +70 -36
  77. package/src/core/components/ui/form/select/select.ts +1 -0
  78. package/src/core/components/ui/form/textarea/textarea.md +2 -3
  79. package/src/core/components/ui/form/textarea/textarea.ts +51 -24
  80. package/src/core/components/ui/menu/menu-item.ts +3 -3
  81. package/src/core/components/ui/pop/pop.ts +54 -19
  82. package/src/core/components/ui/progress/progress.md +4 -6
  83. package/src/core/components/ui/progress/progress.ts +28 -13
  84. package/src/core/components/ui/table/table.md +15 -27
  85. package/src/core/components/ui/table/table.ts +26 -15
  86. package/src/core/components/ui/theme/theme-collection/core-variables.ts +20 -12
  87. package/src/core/components/ui/theme/theme.ts +28 -22
  88. package/src/core/components/ui/toast/toast.ts +1 -3
  89. package/src/core/components/ui/tooltip/tooltip.md +45 -0
  90. package/src/core/components/ui/tooltip/tooltip.ts +63 -18
  91. package/src/core/mixins/FormElement.ts +50 -24
  92. package/src/core/utils/PublisherProxy.ts +15 -11
  93. package/src/docs/_core-concept/subscriber.md +1 -1
  94. package/src/docs/_getting-started/concorde-outside.md +12 -10
  95. package/src/docs/_getting-started/create-a-component.md +1 -1
  96. package/src/docs/_getting-started/my-first-subscriber.md +174 -0
  97. package/src/docs/_getting-started/pubsub.md +1 -1
  98. package/src/docs/_getting-started/start.md +19 -17
  99. package/src/docs/docs.ts +1 -0
  100. package/src/docs/example/users.ts +43 -48
  101. package/src/docs/header/header.ts +217 -0
  102. package/src/docs/navigation/navigation.ts +123 -51
  103. package/src/docs/search/docs-search.json +223 -103
  104. package/src/docs/search/page.ts +4 -5
  105. package/src/docs/search/search.ts +20 -3
  106. package/src/docs/tailwind/css/tailwind.css +146 -0
  107. package/tailwind.config.js +19 -24
  108. package/vite/config.js +19 -1
@@ -2144,6 +2144,21 @@
2144
2144
  }
2145
2145
  }
2146
2146
  },
2147
+ {
2148
+ "search": "Displays an indicator showing the completion progress of a task.\n",
2149
+ "files": {
2150
+ "core/components/ui/progress/progress.md": {
2151
+ "title": "Progress bar",
2152
+ "hashes": {
2153
+ "progress-bar": {
2154
+ "count": 1,
2155
+ "title": "",
2156
+ "type": "paragraph"
2157
+ }
2158
+ }
2159
+ }
2160
+ }
2161
+ },
2147
2162
  {
2148
2163
  "search": "Table",
2149
2164
  "files": {
@@ -2190,14 +2205,14 @@
2190
2205
  }
2191
2206
  },
2192
2207
  {
2193
- "search": "A scroll bar is automatically added if the content if is wider than the table width\n",
2208
+ "search": "Every table is responsive by default\n",
2194
2209
  "files": {
2195
2210
  "core/components/ui/table/table.md": {
2196
2211
  "title": "Table",
2197
2212
  "hashes": {
2198
- "scroll-x": {
2213
+ "responsive": {
2199
2214
  "count": 1,
2200
- "title": "Scroll-x",
2215
+ "title": "Responsive",
2201
2216
  "type": "paragraph"
2202
2217
  }
2203
2218
  }
@@ -2219,6 +2234,21 @@
2219
2234
  }
2220
2235
  }
2221
2236
  },
2237
+ {
2238
+ "search": "By default, tooltip is centered next to its content\n",
2239
+ "files": {
2240
+ "core/components/ui/tooltip/tooltip.md": {
2241
+ "title": "Tooltip",
2242
+ "hashes": {
2243
+ "placement": {
2244
+ "count": 1,
2245
+ "title": "Placement",
2246
+ "type": "paragraph"
2247
+ }
2248
+ }
2249
+ }
2250
+ }
2251
+ },
2222
2252
  {
2223
2253
  "search": "lit + tailwind + vite",
2224
2254
  "files": {
@@ -2460,12 +2490,12 @@
2460
2490
  }
2461
2491
  },
2462
2492
  {
2463
- "search": "🔔 The subscriber mixin",
2493
+ "search": "The subscriber mixin",
2464
2494
  "files": {
2465
2495
  "docs/_core-concept/subscriber.md": {
2466
- "title": "🔔 The subscriber mixin",
2496
+ "title": "The subscriber mixin",
2467
2497
  "hashes": {
2468
- "-the-subscriber-mixin": {
2498
+ "the-subscriber-mixin": {
2469
2499
  "count": 1,
2470
2500
  "title": "",
2471
2501
  "type": "page"
@@ -2478,9 +2508,9 @@
2478
2508
  "search": "This is a mixin that is commonly extended by Concorde core components and destination components. Pure UI components usually don't extend it, especially those outside of form components.\n",
2479
2509
  "files": {
2480
2510
  "docs/_core-concept/subscriber.md": {
2481
- "title": "🔔 The subscriber mixin",
2511
+ "title": "The subscriber mixin",
2482
2512
  "hashes": {
2483
- "-the-subscriber-mixin": {
2513
+ "the-subscriber-mixin": {
2484
2514
  "count": 1,
2485
2515
  "title": "",
2486
2516
  "type": "paragraph"
@@ -2493,7 +2523,7 @@
2493
2523
  "search": "Upon being added to the DOM (connectedCallback), subscribers search for the first occurrence of the dataProvider attribute in their parent's HTML structure.\n",
2494
2524
  "files": {
2495
2525
  "docs/_core-concept/subscriber.md": {
2496
- "title": "🔔 The subscriber mixin",
2526
+ "title": "The subscriber mixin",
2497
2527
  "hashes": {
2498
2528
  "dataprovider-attribute-automatic-filling-of-subscriber-properties": {
2499
2529
  "count": 1,
@@ -2508,7 +2538,7 @@
2508
2538
  "search": "The value of this attribute is used to obtain a publisher via the PublisherManager (see 🥨 Sharing Data).\n",
2509
2539
  "files": {
2510
2540
  "docs/_core-concept/subscriber.md": {
2511
- "title": "🔔 The subscriber mixin",
2541
+ "title": "The subscriber mixin",
2512
2542
  "hashes": {
2513
2543
  "dataprovider-attribute-automatic-filling-of-subscriber-properties": {
2514
2544
  "count": 1,
@@ -2523,7 +2553,7 @@
2523
2553
  "search": "The subscriber then subscribes to the publisher as a data template to be filled.\n",
2524
2554
  "files": {
2525
2555
  "docs/_core-concept/subscriber.md": {
2526
- "title": "🔔 The subscriber mixin",
2556
+ "title": "The subscriber mixin",
2527
2557
  "hashes": {
2528
2558
  "dataprovider-attribute-automatic-filling-of-subscriber-properties": {
2529
2559
  "count": 1,
@@ -2538,7 +2568,7 @@
2538
2568
  "search": "The reactive properties of the component reflect in real-time the properties with the same name in the publisher.\n",
2539
2569
  "files": {
2540
2570
  "docs/_core-concept/subscriber.md": {
2541
- "title": "🔔 The subscriber mixin",
2571
+ "title": "The subscriber mixin",
2542
2572
  "hashes": {
2543
2573
  "dataprovider-attribute-automatic-filling-of-subscriber-properties": {
2544
2574
  "count": 1,
@@ -2553,7 +2583,7 @@
2553
2583
  "search": "This functionality is commonly used in the generic components fetch, queue, and list.\n",
2554
2584
  "files": {
2555
2585
  "docs/_core-concept/subscriber.md": {
2556
- "title": "🔔 The subscriber mixin",
2586
+ "title": "The subscriber mixin",
2557
2587
  "hashes": {
2558
2588
  "dataprovider-attribute-automatic-filling-of-subscriber-properties": {
2559
2589
  "count": 1,
@@ -2568,7 +2598,7 @@
2568
2598
  "search": "If the subscriber is inside another subscriber, it can subscribe to a data of its parent using the attribute subDataProvider = 'address.of.my.data' instead of the parent's data. This allows for dynamic behavior.\n",
2569
2599
  "files": {
2570
2600
  "docs/_core-concept/subscriber.md": {
2571
- "title": "🔔 The subscriber mixin",
2601
+ "title": "The subscriber mixin",
2572
2602
  "hashes": {
2573
2603
  "dataprovider-attribute-automatic-filling-of-subscriber-properties": {
2574
2604
  "count": 1,
@@ -2583,7 +2613,7 @@
2583
2613
  "search": "In a similar manner, searching for ancestor attributes can be used to configure automatic translation for any property starting with "wording" and ending with a label identifier recognized by the wordingProvider API.\n",
2584
2614
  "files": {
2585
2615
  "docs/_core-concept/subscriber.md": {
2586
- "title": "🔔 The subscriber mixin",
2616
+ "title": "The subscriber mixin",
2587
2617
  "hashes": {
2588
2618
  "automated-translation": {
2589
2619
  "count": 1,
@@ -2598,7 +2628,7 @@
2598
2628
  "search": "Normally, this API is globally configured and not within the component. Therefore, remember to prefix translatable label identifiers present in the ticketing system, for example, with "wording".\n",
2599
2629
  "files": {
2600
2630
  "docs/_core-concept/subscriber.md": {
2601
- "title": "🔔 The subscriber mixin",
2631
+ "title": "The subscriber mixin",
2602
2632
  "hashes": {
2603
2633
  "automated-translation": {
2604
2634
  "count": 1,
@@ -2613,7 +2643,7 @@
2613
2643
  "search": "The value of this property can be provided as a JSON object or any other value. This value is then assigned to the associated publisher via the dataProvider attribute. As a result, the reactive properties of all subscribers associated with the same dataProvider are filled as mentioned above.\n",
2614
2644
  "files": {
2615
2645
  "docs/_core-concept/subscriber.md": {
2616
- "title": "🔔 The subscriber mixin",
2646
+ "title": "The subscriber mixin",
2617
2647
  "hashes": {
2618
2648
  "reactive-property-props": {
2619
2649
  "count": 1,
@@ -2628,7 +2658,7 @@
2628
2658
  "search": "It is possible to disable the automatic filling of reactive properties in a particular component. To do so, set the variable noAutoFill = true in the component's class. However, the reactive property props will still be updated.\n",
2629
2659
  "files": {
2630
2660
  "docs/_core-concept/subscriber.md": {
2631
- "title": "🔔 The subscriber mixin",
2661
+ "title": "The subscriber mixin",
2632
2662
  "hashes": {
2633
2663
  "disabling-automatic-filling-of-reactive-properties": {
2634
2664
  "count": 1,
@@ -2643,7 +2673,7 @@
2643
2673
  "search": "For example, sonic-subscriber and sonic-fetch have this attribute because they do not have reactive properties.\n",
2644
2674
  "files": {
2645
2675
  "docs/_core-concept/subscriber.md": {
2646
- "title": "🔔 The subscriber mixin",
2676
+ "title": "The subscriber mixin",
2647
2677
  "hashes": {
2648
2678
  "disabling-automatic-filling-of-reactive-properties": {
2649
2679
  "count": 1,
@@ -2658,7 +2688,7 @@
2658
2688
  "search": "☢ CAUTION: When creating an object of type Subscriber or Fetcher, make sure to use the mixins and not directly extend the concrete fetch component (sonic-fetch) and subscriber component (sonic-subscriber). This is because the noAutofill = true attribute is set in those components.\n",
2659
2689
  "files": {
2660
2690
  "docs/_core-concept/subscriber.md": {
2661
- "title": "🔔 The subscriber mixin",
2691
+ "title": "The subscriber mixin",
2662
2692
  "hashes": {
2663
2693
  "disabling-automatic-filling-of-reactive-properties": {
2664
2694
  "count": 1,
@@ -2673,7 +2703,7 @@
2673
2703
  "search": "TIPS: \nIf you disable automatic filling, you will likely make the rendering dynamic by writing expressions like this.props.my.subproperty. If props is updated, the rendering will be triggered. However, if this.props.my.subproperty is directly modified, the rendering will not be triggered. To achieve more reactivity, you can enable rendering when any subproperty is modified. Simply set the variable renderOnPropsInternalChange = true in the class that implements the corresponding mixin.\n",
2674
2704
  "files": {
2675
2705
  "docs/_core-concept/subscriber.md": {
2676
- "title": "🔔 The subscriber mixin",
2706
+ "title": "The subscriber mixin",
2677
2707
  "hashes": {
2678
2708
  "disabling-automatic-filling-of-reactive-properties": {
2679
2709
  "count": 1,
@@ -2688,7 +2718,7 @@
2688
2718
  "search": "Suppose that:\n",
2689
2719
  "files": {
2690
2720
  "docs/_core-concept/subscriber.md": {
2691
- "title": "🔔 The subscriber mixin",
2721
+ "title": "The subscriber mixin",
2692
2722
  "hashes": {
2693
2723
  "data-binding": {
2694
2724
  "count": 1,
@@ -2703,7 +2733,7 @@
2703
2733
  "search": "This example also illustrates:\n",
2704
2734
  "files": {
2705
2735
  "docs/_core-concept/subscriber.md": {
2706
- "title": "🔔 The subscriber mixin",
2736
+ "title": "The subscriber mixin",
2707
2737
  "hashes": {
2708
2738
  "data-binding": {
2709
2739
  "count": 1,
@@ -2718,7 +2748,7 @@
2718
2748
  "search": "Note: Data binding implies that updating the img.src data via the publisher will change the photo without any additional calls.\n",
2719
2749
  "files": {
2720
2750
  "docs/_core-concept/subscriber.md": {
2721
- "title": "🔔 The subscriber mixin",
2751
+ "title": "The subscriber mixin",
2722
2752
  "hashes": {
2723
2753
  "data-binding": {
2724
2754
  "count": 1,
@@ -2733,7 +2763,7 @@
2733
2763
  "search": "Special Variables:\n",
2734
2764
  "files": {
2735
2765
  "docs/_core-concept/subscriber.md": {
2736
- "title": "🔔 The subscriber mixin",
2766
+ "title": "The subscriber mixin",
2737
2767
  "hashes": {
2738
2768
  "data-binding": {
2739
2769
  "count": 1,
@@ -2748,7 +2778,7 @@
2748
2778
  "search": "Disabling this functionality:\nYou can disable data binding if it is not needed by calling DataBinding.disable().\n",
2749
2779
  "files": {
2750
2780
  "docs/_core-concept/subscriber.md": {
2751
- "title": "🔔 The subscriber mixin",
2781
+ "title": "The subscriber mixin",
2752
2782
  "hashes": {
2753
2783
  "data-binding": {
2754
2784
  "count": 1,
@@ -2760,10 +2790,10 @@
2760
2790
  }
2761
2791
  },
2762
2792
  {
2763
- "search": "installation",
2793
+ "search": "Installation",
2764
2794
  "files": {
2765
2795
  "docs/_getting-started/concorde-outside.md": {
2766
- "title": "installation",
2796
+ "title": "Installation",
2767
2797
  "hashes": {
2768
2798
  "installation": {
2769
2799
  "count": 1,
@@ -2775,25 +2805,10 @@
2775
2805
  }
2776
2806
  },
2777
2807
  {
2778
- "search": "The easiest way to use Concorde is by using the Concorde starter.\n",
2779
- "files": {
2780
- "docs/_getting-started/concorde-outside.md": {
2781
- "title": "installation",
2782
- "hashes": {
2783
- "starter": {
2784
- "count": 1,
2785
- "title": "Starter",
2786
- "type": "paragraph"
2787
- }
2788
- }
2789
- }
2790
- }
2791
- },
2792
- {
2793
- "search": "The following command creates a new Vite project in TypeScript mode with Tailwind and an example component to get started.\n",
2808
+ "search": "The easiest way to use Concorde is by using the Concorde starter.The following command creates a new Vite project in TypeScript mode with Tailwind and an example component to get started.\n",
2794
2809
  "files": {
2795
2810
  "docs/_getting-started/concorde-outside.md": {
2796
- "title": "installation",
2811
+ "title": "Installation",
2797
2812
  "hashes": {
2798
2813
  "starter": {
2799
2814
  "count": 1,
@@ -2808,11 +2823,11 @@
2808
2823
  "search": "For a more manual configuration, you can refer to the following sections. \nHowever, the Tailwind configuration is not mentioned at the moment.\n",
2809
2824
  "files": {
2810
2825
  "docs/_getting-started/concorde-outside.md": {
2811
- "title": "installation",
2826
+ "title": "Installation",
2812
2827
  "hashes": {
2813
- "starter": {
2828
+ "brand-new-vite-project": {
2814
2829
  "count": 1,
2815
- "title": "Starter",
2830
+ "title": "Brand New Vite Project",
2816
2831
  "type": "paragraph"
2817
2832
  }
2818
2833
  }
@@ -2823,7 +2838,7 @@
2823
2838
  "search": "Using Lit with TypeScript requires the following configuration in the "compilerOptions" section of the tsconfig.json file:\n",
2824
2839
  "files": {
2825
2840
  "docs/_getting-started/concorde-outside.md": {
2826
- "title": "installation",
2841
+ "title": "Installation",
2827
2842
  "hashes": {
2828
2843
  "creating-the-project": {
2829
2844
  "count": 1,
@@ -2838,7 +2853,7 @@
2838
2853
  "search": "Navigate to the project folder created and perform the installation:\n",
2839
2854
  "files": {
2840
2855
  "docs/_getting-started/concorde-outside.md": {
2841
- "title": "installation",
2856
+ "title": "Installation",
2842
2857
  "hashes": {
2843
2858
  "installing-concorde": {
2844
2859
  "count": 1,
@@ -2853,7 +2868,7 @@
2853
2868
  "search": "Shortcut imports work by default in JavaScript, but in TypeScript, they are activated by choice as they inject data into tsconfig.json. Here is the command:\n",
2854
2869
  "files": {
2855
2870
  "docs/_getting-started/concorde-outside.md": {
2856
- "title": "installation",
2871
+ "title": "Installation",
2857
2872
  "hashes": {
2858
2873
  "shortcut-imports": {
2859
2874
  "count": 1,
@@ -2868,7 +2883,7 @@
2868
2883
  "search": "Shortcut imports replace the actual paths with aliases as follows:\n",
2869
2884
  "files": {
2870
2885
  "docs/_getting-started/concorde-outside.md": {
2871
- "title": "installation",
2886
+ "title": "Installation",
2872
2887
  "hashes": {
2873
2888
  "shortcut-imports": {
2874
2889
  "count": 1,
@@ -2883,7 +2898,7 @@
2883
2898
  "search": "The original paths remain accessible. Shortcut imports are used for the examples later in this documentation.\n",
2884
2899
  "files": {
2885
2900
  "docs/_getting-started/concorde-outside.md": {
2886
- "title": "installation",
2901
+ "title": "Installation",
2887
2902
  "hashes": {
2888
2903
  "shortcut-imports": {
2889
2904
  "count": 1,
@@ -2895,10 +2910,10 @@
2895
2910
  }
2896
2911
  },
2897
2912
  {
2898
- "search": "For example, to use a button:\nIn main.ts or main.js to be compiled:\n",
2913
+ "search": "Import needed component in main.ts or wherever you want to use it:\n",
2899
2914
  "files": {
2900
2915
  "docs/_getting-started/concorde-outside.md": {
2901
- "title": "installation",
2916
+ "title": "Installation",
2902
2917
  "hashes": {
2903
2918
  "simple-integration-in-html": {
2904
2919
  "count": 1,
@@ -2910,10 +2925,10 @@
2910
2925
  }
2911
2926
  },
2912
2927
  {
2913
- "search": "In the HTML of a JS or TS component or in the HTML of the web page that includes the compiled JS:\n",
2928
+ "search": "Then in the render function ofyour component or in the HTML of the web page that includes the compiled JS, use the component as follows:\n",
2914
2929
  "files": {
2915
2930
  "docs/_getting-started/concorde-outside.md": {
2916
- "title": "installation",
2931
+ "title": "Installation",
2917
2932
  "hashes": {
2918
2933
  "simple-integration-in-html": {
2919
2934
  "count": 1,
@@ -2928,7 +2943,7 @@
2928
2943
  "search": "For example, create a file my-element.ts at the root:\n",
2929
2944
  "files": {
2930
2945
  "docs/_getting-started/concorde-outside.md": {
2931
- "title": "installation",
2946
+ "title": "Installation",
2932
2947
  "hashes": {
2933
2948
  "using-a-mixin-to-create-a-new-lit-component": {
2934
2949
  "count": 1,
@@ -2943,7 +2958,7 @@
2943
2958
  "search": "@customElement("my-element")\nexport class SonicComponent extends Fetcher(Subscriber(LitElement)) {\n @property() email = "";\n @property() first_name = "";\n @property() last_name = "";\n",
2944
2959
  "files": {
2945
2960
  "docs/_getting-started/concorde-outside.md": {
2946
- "title": "installation",
2961
+ "title": "Installation",
2947
2962
  "hashes": {
2948
2963
  "using-a-mixin-to-create-a-new-lit-component": {
2949
2964
  "count": 1,
@@ -2958,7 +2973,7 @@
2958
2973
  "search": " render() {\n return html<div> ${this.first_name} ${this.last_name} : ${this.email} </div>;\n }\n}\n \n\n",
2959
2974
  "files": {
2960
2975
  "docs/_getting-started/concorde-outside.md": {
2961
- "title": "installation",
2976
+ "title": "Installation",
2962
2977
  "hashes": {
2963
2978
  "using-a-mixin-to-create-a-new-lit-component": {
2964
2979
  "count": 1,
@@ -2970,10 +2985,10 @@
2970
2985
  }
2971
2986
  },
2972
2987
  {
2973
- "search": "In main.ts or main.js or any other component that uses it to be compiled\n",
2988
+ "search": "Import component main.ts or main.js or any other component that uses it to be compiled\n",
2974
2989
  "files": {
2975
2990
  "docs/_getting-started/concorde-outside.md": {
2976
- "title": "installation",
2991
+ "title": "Installation",
2977
2992
  "hashes": {
2978
2993
  "using-a-mixin-to-create-a-new-lit-component": {
2979
2994
  "count": 1,
@@ -2988,7 +3003,7 @@
2988
3003
  "search": "In the HTML of a JS or TS component or in the HTML of the web page containing the compiled JS:\n",
2989
3004
  "files": {
2990
3005
  "docs/_getting-started/concorde-outside.md": {
2991
- "title": "installation",
3006
+ "title": "Installation",
2992
3007
  "hashes": {
2993
3008
  "using-a-mixin-to-create-a-new-lit-component": {
2994
3009
  "count": 1,
@@ -3000,12 +3015,12 @@
3000
3015
  }
3001
3016
  },
3002
3017
  {
3003
- "search": "🧱 Creating components",
3018
+ "search": "Creating components",
3004
3019
  "files": {
3005
3020
  "docs/_getting-started/create-a-component.md": {
3006
- "title": "🧱 Creating components",
3021
+ "title": "Creating components",
3007
3022
  "hashes": {
3008
- "-creating-components": {
3023
+ "creating-components": {
3009
3024
  "count": 1,
3010
3025
  "title": "",
3011
3026
  "type": "page"
@@ -3018,7 +3033,7 @@
3018
3033
  "search": "In this document, we consider the src directory of the project as the root.\nWe describe how we organize our components as an example, however it depends on your project.\n",
3019
3034
  "files": {
3020
3035
  "docs/_getting-started/create-a-component.md": {
3021
- "title": "🧱 Creating components",
3036
+ "title": "Creating components",
3022
3037
  "hashes": {
3023
3038
  "where-to-put-it": {
3024
3039
  "count": 1,
@@ -3033,7 +3048,7 @@
3033
3048
  "search": "In concorde each component is currently organized in the following directory structure (at least we try):\n",
3034
3049
  "files": {
3035
3050
  "docs/_getting-started/create-a-component.md": {
3036
- "title": "🧱 Creating components",
3051
+ "title": "Creating components",
3037
3052
  "hashes": {
3038
3053
  "where-to-put-it": {
3039
3054
  "count": 1,
@@ -3048,7 +3063,7 @@
3048
3063
  "search": "You can copy example.ts from the source to the desired destination to start with.\nThis file contains a web component in the form of a class that extends the Subscriber mixin, with a reactive property and a render function.\n",
3049
3064
  "files": {
3050
3065
  "docs/_getting-started/create-a-component.md": {
3051
- "title": "🧱 Creating components",
3066
+ "title": "Creating components",
3052
3067
  "hashes": {
3053
3068
  "starting-from-a-simple-model": {
3054
3069
  "count": 1,
@@ -3063,7 +3078,7 @@
3063
3078
  "search": "@customElement("sonic-example")\nexport class SonicComponent extends Subscriber(LitElement) {\n @property() text = "Example";\n render() {\n return html${this.text};\n }\n}\n \n\n",
3064
3079
  "files": {
3065
3080
  "docs/_getting-started/create-a-component.md": {
3066
- "title": "🧱 Creating components",
3081
+ "title": "Creating components",
3067
3082
  "hashes": {
3068
3083
  "starting-from-a-simple-model": {
3069
3084
  "count": 1,
@@ -3078,7 +3093,7 @@
3078
3093
  "search": "You can remove the dependency on Subscriber if automatic population of the component with external data is not required.\nFor example, for a UI component:\n",
3079
3094
  "files": {
3080
3095
  "docs/_getting-started/create-a-component.md": {
3081
- "title": "🧱 Creating components",
3096
+ "title": "Creating components",
3082
3097
  "hashes": {
3083
3098
  "starting-from-a-simple-model": {
3084
3099
  "count": 1,
@@ -3093,7 +3108,7 @@
3093
3108
  "search": "@customElement("sonic-example")\nexport class SonicComponent extends LitElement {\n @property() text = "Example";\n render() {\n return html${this.text};\n }\n}\n \n\n",
3094
3109
  "files": {
3095
3110
  "docs/_getting-started/create-a-component.md": {
3096
- "title": "🧱 Creating components",
3111
+ "title": "Creating components",
3097
3112
  "hashes": {
3098
3113
  "starting-from-a-simple-model": {
3099
3114
  "count": 1,
@@ -3108,7 +3123,7 @@
3108
3123
  "search": "Regarding Subscriber, see:\n",
3109
3124
  "files": {
3110
3125
  "docs/_getting-started/create-a-component.md": {
3111
- "title": "🧱 Creating components",
3126
+ "title": "Creating components",
3112
3127
  "hashes": {
3113
3128
  "starting-from-a-simple-model": {
3114
3129
  "count": 1,
@@ -3123,7 +3138,7 @@
3123
3138
  "search": "The class name is not necessarily important. However, it is important to give it a component name prefixed with "sonic" (or a prefix of your own) using the dedicated metadata already present in the copied document. For example, a button component would be named as follows:\n",
3124
3139
  "files": {
3125
3140
  "docs/_getting-started/create-a-component.md": {
3126
- "title": "🧱 Creating components",
3141
+ "title": "Creating components",
3127
3142
  "hashes": {
3128
3143
  "naming-the-component": {
3129
3144
  "count": 1,
@@ -3138,7 +3153,7 @@
3138
3153
  "search": "For less generic components with a specific destination, we advise to include the destination in the name.\nFor example, for a "title" component in the "event" destination, the name would be simply:\n",
3139
3154
  "files": {
3140
3155
  "docs/_getting-started/create-a-component.md": {
3141
- "title": "🧱 Creating components",
3156
+ "title": "Creating components",
3142
3157
  "hashes": {
3143
3158
  "naming-the-component": {
3144
3159
  "count": 1,
@@ -3153,7 +3168,7 @@
3153
3168
  "search": "To do this, study the functioning of https://lit.dev and also refer to Subscriber.\n",
3154
3169
  "files": {
3155
3170
  "docs/_getting-started/create-a-component.md": {
3156
- "title": "🧱 Creating components",
3171
+ "title": "Creating components",
3157
3172
  "hashes": {
3158
3173
  "creating-reactive-properties-and-modifying-the-render-function": {
3159
3174
  "count": 1,
@@ -3168,7 +3183,7 @@
3168
3183
  "search": "The HTML structure of a component should remain as simple as possible.\n",
3169
3184
  "files": {
3170
3185
  "docs/_getting-started/create-a-component.md": {
3171
- "title": "🧱 Creating components",
3186
+ "title": "Creating components",
3172
3187
  "hashes": {
3173
3188
  "html-structure-of-a-component": {
3174
3189
  "count": 1,
@@ -3183,7 +3198,7 @@
3183
3198
  "search": "Ideally, there should be only one additional level of elements in addition to slots.\n",
3184
3199
  "files": {
3185
3200
  "docs/_getting-started/create-a-component.md": {
3186
- "title": "🧱 Creating components",
3201
+ "title": "Creating components",
3187
3202
  "hashes": {
3188
3203
  "html-structure-of-a-component": {
3189
3204
  "count": 1,
@@ -3198,7 +3213,7 @@
3198
3213
  "search": "This leads to the creation of more components and thus raises questions about the hierarchical organization of files. However, this tends to atomize their roles.\n",
3199
3214
  "files": {
3200
3215
  "docs/_getting-started/create-a-component.md": {
3201
- "title": "🧱 Creating components",
3216
+ "title": "Creating components",
3202
3217
  "hashes": {
3203
3218
  "html-structure-of-a-component": {
3204
3219
  "count": 1,
@@ -3213,7 +3228,7 @@
3213
3228
  "search": "To compile the component, it needs to be referenced somewhere through an import statement. In particular, it is important to reference it in any component that uses it.\n",
3214
3229
  "files": {
3215
3230
  "docs/_getting-started/create-a-component.md": {
3216
- "title": "🧱 Creating components",
3231
+ "title": "Creating components",
3217
3232
  "hashes": {
3218
3233
  "referencing-it": {
3219
3234
  "count": 1,
@@ -3228,7 +3243,7 @@
3228
3243
  "search": "In the case where it can be directly used in a page, it should also be globally referenced, especially considering the creation of specific bundles in the future.\n",
3229
3244
  "files": {
3230
3245
  "docs/_getting-started/create-a-component.md": {
3231
- "title": "🧱 Creating components",
3246
+ "title": "Creating components",
3232
3247
  "hashes": {
3233
3248
  "referencing-it": {
3234
3249
  "count": 1,
@@ -3243,7 +3258,7 @@
3243
3258
  "search": "Here's where we add imports based on the component's location inside concorde as an example\n",
3244
3259
  "files": {
3245
3260
  "docs/_getting-started/create-a-component.md": {
3246
- "title": "🧱 Creating components",
3261
+ "title": "Creating components",
3247
3262
  "hashes": {
3248
3263
  "referencing-it": {
3249
3264
  "count": 1,
@@ -3258,7 +3273,7 @@
3258
3273
  "search": "As a reminder, the component is simply integrated into the context by adding a tag with the component's name, for example:\n",
3259
3274
  "files": {
3260
3275
  "docs/_getting-started/create-a-component.md": {
3261
- "title": "🧱 Creating components",
3276
+ "title": "Creating components",
3262
3277
  "hashes": {
3263
3278
  "using-it": {
3264
3279
  "count": 1,
@@ -3270,12 +3285,117 @@
3270
3285
  }
3271
3286
  },
3272
3287
  {
3273
- "search": "🥨 Sharing data",
3288
+ "search": "My first subscriber component",
3289
+ "files": {
3290
+ "docs/_getting-started/my-first-subscriber.md": {
3291
+ "title": "My first subscriber component",
3292
+ "hashes": {
3293
+ "my-first-subscriber-component": {
3294
+ "count": 1,
3295
+ "title": "",
3296
+ "type": "page"
3297
+ }
3298
+ }
3299
+ }
3300
+ }
3301
+ },
3302
+ {
3303
+ "search": "Learn how to build a subscriber component, styled with tailwind, \nwhich could be used as a regular component or could be filled from a dataprovider.\n",
3304
+ "files": {
3305
+ "docs/_getting-started/my-first-subscriber.md": {
3306
+ "title": "My first subscriber component",
3307
+ "hashes": {
3308
+ "my-first-subscriber-component": {
3309
+ "count": 1,
3310
+ "title": "",
3311
+ "type": "paragraph"
3312
+ }
3313
+ }
3314
+ }
3315
+ }
3316
+ },
3317
+ {
3318
+ "search": "First export tailwind, in a tailwind.ts file, stylesheet to add it in our component when needed.\n",
3319
+ "files": {
3320
+ "docs/_getting-started/my-first-subscriber.md": {
3321
+ "title": "My first subscriber component",
3322
+ "hashes": {
3323
+ "style-with-tailwind-and-ui-components": {
3324
+ "count": 1,
3325
+ "title": "Style with tailwind and ui components",
3326
+ "type": "paragraph"
3327
+ }
3328
+ }
3329
+ }
3330
+ }
3331
+ },
3332
+ {
3333
+ "search": "Reactive properties can be filled by its attributes as a simple lit component.\n",
3334
+ "files": {
3335
+ "docs/_getting-started/my-first-subscriber.md": {
3336
+ "title": "My first subscriber component",
3337
+ "hashes": {
3338
+ "basic-usage": {
3339
+ "count": 1,
3340
+ "title": "Basic usage",
3341
+ "type": "paragraph"
3342
+ }
3343
+ }
3344
+ }
3345
+ }
3346
+ },
3347
+ {
3348
+ "search": "Import Subscriber mixin, and add it around LitElement.\n\n",
3349
+ "files": {
3350
+ "docs/_getting-started/my-first-subscriber.md": {
3351
+ "title": "My first subscriber component",
3352
+ "hashes": {
3353
+ "add-subscriber-mixin": {
3354
+ "count": 1,
3355
+ "title": "Add Subscriber mixin",
3356
+ "type": "paragraph"
3357
+ }
3358
+ }
3359
+ }
3360
+ }
3361
+ },
3362
+ {
3363
+ "search": "Without a dataProvider attribute, a subscriber set its own dataprovider from first ancestor found, and then reactive properties automatically filled and update from it.\nA fetcher is a simple component which set its fetch result to props of its dataprovider.\n\n",
3364
+ "files": {
3365
+ "docs/_getting-started/my-first-subscriber.md": {
3366
+ "title": "My first subscriber component",
3367
+ "hashes": {
3368
+ "autofill-properties-from-a-dataprovider": {
3369
+ "count": 1,
3370
+ "title": "Autofill properties from a dataProvider",
3371
+ "type": "paragraph"
3372
+ }
3373
+ }
3374
+ }
3375
+ }
3376
+ },
3377
+ {
3378
+ "search": "A subscriber can subscribe data from anywhere in the DOM, with its dataprovider set as a provider id.\n",
3379
+ "files": {
3380
+ "docs/_getting-started/my-first-subscriber.md": {
3381
+ "title": "My first subscriber component",
3382
+ "hashes": {
3383
+ "autofill-properties-from-a-dataprovider": {
3384
+ "count": 1,
3385
+ "title": "Autofill properties from a dataProvider",
3386
+ "type": "paragraph"
3387
+ }
3388
+ }
3389
+ }
3390
+ }
3391
+ },
3392
+ {
3393
+ "search": "Sharing data",
3274
3394
  "files": {
3275
3395
  "docs/_getting-started/pubsub.md": {
3276
- "title": "🥨 Sharing data",
3396
+ "title": "Sharing data",
3277
3397
  "hashes": {
3278
- "-sharing-data": {
3398
+ "sharing-data": {
3279
3399
  "count": 1,
3280
3400
  "title": "",
3281
3401
  "type": "page"
@@ -3288,9 +3408,9 @@
3288
3408
  "search": "This section describes how we share data between graphical and non graphical components and classes.\n",
3289
3409
  "files": {
3290
3410
  "docs/_getting-started/pubsub.md": {
3291
- "title": "🥨 Sharing data",
3411
+ "title": "Sharing data",
3292
3412
  "hashes": {
3293
- "-sharing-data": {
3413
+ "sharing-data": {
3294
3414
  "count": 1,
3295
3415
  "title": "",
3296
3416
  "type": "paragraph"
@@ -3303,9 +3423,9 @@
3303
3423
  "search": "Especialy, graphical components should not reference each other in order to remain decoupled.\n",
3304
3424
  "files": {
3305
3425
  "docs/_getting-started/pubsub.md": {
3306
- "title": "🥨 Sharing data",
3426
+ "title": "Sharing data",
3307
3427
  "hashes": {
3308
- "-sharing-data": {
3428
+ "sharing-data": {
3309
3429
  "count": 1,
3310
3430
  "title": "",
3311
3431
  "type": "paragraph"
@@ -3318,9 +3438,9 @@
3318
3438
  "search": "Thats why we use publish/subscribe paradigm to addresse this issue.\n",
3319
3439
  "files": {
3320
3440
  "docs/_getting-started/pubsub.md": {
3321
- "title": "🥨 Sharing data",
3441
+ "title": "Sharing data",
3322
3442
  "hashes": {
3323
- "-sharing-data": {
3443
+ "sharing-data": {
3324
3444
  "count": 1,
3325
3445
  "title": "",
3326
3446
  "type": "paragraph"
@@ -3333,7 +3453,7 @@
3333
3453
  "search": "❇️ The order of data creation and subscription theoretically has no importance.\n",
3334
3454
  "files": {
3335
3455
  "docs/_getting-started/pubsub.md": {
3336
- "title": "🥨 Sharing data",
3456
+ "title": "Sharing data",
3337
3457
  "hashes": {
3338
3458
  "principle": {
3339
3459
  "count": 1,
@@ -3348,7 +3468,7 @@
3348
3468
  "search": "Denotes the identifier of a publisher as referenced in the PublisherManager (see below).\nUses the dataProvider attribut in html tags to scop the content with some data.\nsee Subscribers.\n",
3349
3469
  "files": {
3350
3470
  "docs/_getting-started/pubsub.md": {
3351
- "title": "🥨 Sharing data",
3471
+ "title": "Sharing data",
3352
3472
  "hashes": {
3353
3473
  "dataprovider": {
3354
3474
  "count": 1,
@@ -3363,7 +3483,7 @@
3363
3483
  "search": "The PublisherManager is a utility class to get publishers\n",
3364
3484
  "files": {
3365
3485
  "docs/_getting-started/pubsub.md": {
3366
- "title": "🥨 Sharing data",
3486
+ "title": "Sharing data",
3367
3487
  "hashes": {
3368
3488
  "publishermanager": {
3369
3489
  "count": 1,
@@ -3378,7 +3498,7 @@
3378
3498
  "search": "It plays a central role in the components, especially through the "subscriber" mixin.\nAutomatic data communication between components in concorde uses this principle in conjunction with Lit's reactive properties. \nRefer to the documentation for Subscriber.\n",
3379
3499
  "files": {
3380
3500
  "docs/_getting-started/pubsub.md": {
3381
- "title": "🥨 Sharing data",
3501
+ "title": "Sharing data",
3382
3502
  "hashes": {
3383
3503
  "publishermanager": {
3384
3504
  "count": 1,
@@ -3393,7 +3513,7 @@
3393
3513
  "search": "It is declared on the window object to allow usage in a web page, so the equivalent one-liner would be:\n",
3394
3514
  "files": {
3395
3515
  "docs/_getting-started/pubsub.md": {
3396
- "title": "🥨 Sharing data",
3516
+ "title": "Sharing data",
3397
3517
  "hashes": {
3398
3518
  "publishermanager": {
3399
3519
  "count": 1,
@@ -3408,7 +3528,7 @@
3408
3528
  "search": "This example can be tested in a console when Concorde is loaded on the page (for example, in a ticketing system).\nIn a component, you will need to perform an import as explained earlier.\n",
3409
3529
  "files": {
3410
3530
  "docs/_getting-started/pubsub.md": {
3411
- "title": "🥨 Sharing data",
3531
+ "title": "Sharing data",
3412
3532
  "hashes": {
3413
3533
  "basic-example": {
3414
3534
  "count": 1,
@@ -3435,7 +3555,7 @@
3435
3555
  }
3436
3556
  },
3437
3557
  {
3438
- "search": "Based on lit.dev, Concorde is a collection of functional & UI webcomponents, created to build easily shared components, beetween apps and websites. Or even to build a website or an app from scratch.\nIt's like a toolbox to build user interfaces, faster, where everything is scoped, but preserving graphical consistency in set a few css variables.\n",
3558
+ "search": "Based on lit.dev, Concorde is a collection of webcomponents made to build shared apps or websites.Develop user interfaces without thinking about the implementation context, where everything is scoped, but preserving graphic consistency by setting the strict minimum of css variables.\n",
3439
3559
  "files": {
3440
3560
  "docs/_getting-started/start.md": {
3441
3561
  "title": "Introduction",
@@ -3450,7 +3570,7 @@
3450
3570
  }
3451
3571
  },
3452
3572
  {
3453
- "search": "At Supersoniks, we've created a ticketing management system that needs shared components which could be implemented in mobile apps, modern websites, and also old ones made in php, without bundlers or whatever.Instead of creating a new library for each type of project, which would become hard to maintain, we've decided to create one shared library, that could be used in any environment and pre-bundled for legacy environment.\nWebcomponents appeared to be a the perfect solution to guarantee that compatibility with all past, present and futures stacks.\n",
3573
+ "search": "In 2022, Supersoniks wanted to create a new version of his ticketing app, in production un nearly 100 websites. We needed shared components which could be implemented in mobile apps, modern websites, and also old ones made in php, without bundlers or whatever.Instead of building a new app for each type of project, which would become impossible to maintain, we've decided to create one app, composed by a few webcomponents wich could easily be recomposed on any website.\nWebcomponents appeared to be a the perfect solution to guarantee that compatibility with all past, present and futures environment, and lit seemed to be the best choice to build them.\n",
3454
3574
  "files": {
3455
3575
  "docs/_getting-started/start.md": {
3456
3576
  "title": "Introduction",
@@ -3465,14 +3585,14 @@
3465
3585
  }
3466
3586
  },
3467
3587
  {
3468
- "search": "A new project with Vite, Typescript and Tailwind already configured and a simple example of a subscriber component : \n",
3588
+ "search": "A new project with Vite, Typescript and Tailwind already configured and a simple example of a subscriber component : \n",
3469
3589
  "files": {
3470
3590
  "docs/_getting-started/start.md": {
3471
3591
  "title": "Introduction",
3472
3592
  "hashes": {
3473
- "start-a-new-project-from-scratch-": {
3593
+ "start-a-new-project-easily": {
3474
3594
  "count": 1,
3475
- "title": "Start a new project from scratch ?",
3595
+ "title": "Start a new project easily",
3476
3596
  "type": "paragraph"
3477
3597
  }
3478
3598
  }