@luigisbox/luma 0.0.0-stage → 0.2.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.
Files changed (145) hide show
  1. package/LICENSE.md +90 -0
  2. package/README.md +615 -2
  3. package/a11y/audit.mjs +735 -0
  4. package/a11y/axe.mjs +73 -0
  5. package/a11y/report.mjs +347 -0
  6. package/a11y/run.mjs +256 -0
  7. package/a11y/wcag.mjs +233 -0
  8. package/bin/config.mjs +60 -0
  9. package/bin/luma.mjs +99 -0
  10. package/bin/paths.mjs +11 -0
  11. package/bin/tools.mjs +43 -0
  12. package/build/baseline.d.mts +8 -0
  13. package/build/baseline.mjs +167 -0
  14. package/build/tooling.mjs +102 -0
  15. package/build/vite.mjs +507 -0
  16. package/chrome/block.mjs +8 -0
  17. package/chrome/run.mjs +150 -0
  18. package/docs/ACCESSIBILITY.md +501 -0
  19. package/docs/INTEGRATION-PERFORMANCE.md +213 -0
  20. package/docs/PARITY.md +946 -0
  21. package/footprint/model.mjs +184 -0
  22. package/footprint/run.mjs +331 -0
  23. package/package.json +58 -4
  24. package/parity/alignment.mjs +109 -0
  25. package/parity/archive.mjs +223 -0
  26. package/parity/args.mjs +137 -0
  27. package/parity/behaviour.mjs +379 -0
  28. package/parity/compare.mjs +985 -0
  29. package/parity/engine.mjs +848 -0
  30. package/parity/hints.mjs +132 -0
  31. package/parity/hold.mjs +54 -0
  32. package/parity/init.mjs +703 -0
  33. package/parity/map.mjs +640 -0
  34. package/parity/owner.mjs +170 -0
  35. package/parity/pairing.mjs +110 -0
  36. package/parity/pixels.mjs +33 -0
  37. package/parity/probe.mjs +1239 -0
  38. package/parity/report.mjs +236 -0
  39. package/parity/run.mjs +267 -0
  40. package/snippet/early-hold.js +64 -0
  41. package/snippet/early-hold.min.js +1 -0
  42. package/src/analytics/chain.ts +137 -0
  43. package/src/analytics/collect.ts +64 -0
  44. package/src/analytics/datalayer.ts +67 -0
  45. package/src/analytics/from-ga4.ts +68 -0
  46. package/src/analytics/from-luma.ts +21 -0
  47. package/src/analytics/index.ts +24 -0
  48. package/src/analytics/outbox.ts +118 -0
  49. package/src/analytics/page.ts +46 -0
  50. package/src/analytics/pageview.ts +82 -0
  51. package/src/analytics/ref.ts +19 -0
  52. package/src/analytics/setup.ts +41 -0
  53. package/src/analytics/start.ts +53 -0
  54. package/src/analytics/triggers.ts +239 -0
  55. package/src/analytics/user.ts +12 -0
  56. package/src/analytics/wire.ts +67 -0
  57. package/src/api/ai.ts +98 -0
  58. package/src/api/index.ts +87 -0
  59. package/src/api/token-key.ts +42 -0
  60. package/src/api/token.ts +312 -0
  61. package/src/core/a11y-keys.ts +60 -0
  62. package/src/core/a11y.ts +160 -0
  63. package/src/core/boot-state.ts +6 -0
  64. package/src/core/color.ts +42 -0
  65. package/src/core/context.ts +108 -0
  66. package/src/core/early-rules.ts +96 -0
  67. package/src/core/entries.ts +25 -0
  68. package/src/core/fold.ts +7 -0
  69. package/src/core/health.ts +26 -0
  70. package/src/core/hold.ts +74 -0
  71. package/src/core/i18n.ts +66 -0
  72. package/src/core/image-load.ts +102 -0
  73. package/src/core/image-tags.ts +26 -0
  74. package/src/core/images.ts +170 -0
  75. package/src/core/integration.ts +126 -0
  76. package/src/core/kept.ts +25 -0
  77. package/src/core/listings.ts +100 -0
  78. package/src/core/locales.ts +14 -0
  79. package/src/core/own.ts +49 -0
  80. package/src/core/page.ts +14 -0
  81. package/src/core/prefetch.ts +88 -0
  82. package/src/core/recommenders.ts +166 -0
  83. package/src/core/reconciler.ts +397 -0
  84. package/src/core/result.ts +73 -0
  85. package/src/core/routes.ts +115 -0
  86. package/src/core/scheduler.ts +83 -0
  87. package/src/core/sense.ts +107 -0
  88. package/src/core/speculation.ts +59 -0
  89. package/src/core/stash.ts +38 -0
  90. package/src/core/storage.ts +45 -0
  91. package/src/core/styles.ts +106 -0
  92. package/src/core/support.ts +12 -0
  93. package/src/core/takeover.ts +220 -0
  94. package/src/core/templates.ts +74 -0
  95. package/src/core/tiles.ts +137 -0
  96. package/src/core/turbo.ts +64 -0
  97. package/src/core/url.ts +164 -0
  98. package/src/core/widget-inits.ts +40 -0
  99. package/src/env.d.ts +3 -0
  100. package/src/lit.ts +11 -0
  101. package/src/locales/cs.json +94 -0
  102. package/src/locales/de.json +88 -0
  103. package/src/locales/en.json +88 -0
  104. package/src/main.ts +493 -0
  105. package/src/types.ts +778 -0
  106. package/src/widgets/autocomplete/index.ts +1387 -0
  107. package/src/widgets/autocomplete/style-autocomplete.css +266 -0
  108. package/src/widgets/autocomplete/template-autocomplete-box.ts +61 -0
  109. package/src/widgets/autocomplete/template-autocomplete-empty.ts +53 -0
  110. package/src/widgets/autocomplete/template-autocomplete-result-default.ts +82 -0
  111. package/src/widgets/autocomplete/template-autocomplete-sheet.ts +74 -0
  112. package/src/widgets/listing/element.ts +1772 -0
  113. package/src/widgets/listing/flow.ts +30 -0
  114. package/src/widgets/listing/instant.ts +133 -0
  115. package/src/widgets/listing/intent.ts +193 -0
  116. package/src/widgets/listing/query.ts +298 -0
  117. package/src/widgets/listing/stash.ts +97 -0
  118. package/src/widgets/listing/state.ts +131 -0
  119. package/src/widgets/listing/view.ts +257 -0
  120. package/src/widgets/plp/index.ts +11 -0
  121. package/src/widgets/plp/route.ts +263 -0
  122. package/src/widgets/recommender/index.ts +261 -0
  123. package/src/widgets/recommender/style-recommender.css +26 -0
  124. package/src/widgets/recommender/template-recommender-box-default.ts +11 -0
  125. package/src/widgets/recommender/template-recommender-popup.ts +12 -0
  126. package/src/widgets/recommender/template-recommender-result-default.ts +10 -0
  127. package/src/widgets/search/assets.ts +7 -0
  128. package/src/widgets/search/first.ts +15 -0
  129. package/src/widgets/search/form-url.ts +59 -0
  130. package/src/widgets/search/in-place.ts +226 -0
  131. package/src/widgets/search/index.ts +16 -0
  132. package/src/widgets/search/range.ts +260 -0
  133. package/src/widgets/search/route.ts +32 -0
  134. package/src/widgets/search/speculate.ts +202 -0
  135. package/src/widgets/search/style-search.css +65 -0
  136. package/src/widgets/search/template-search-box.ts +17 -0
  137. package/src/widgets/search/template-search-facets-default.ts +73 -0
  138. package/src/widgets/search/template-search-header.ts +14 -0
  139. package/src/widgets/search/template-search-pagination.ts +12 -0
  140. package/src/widgets/search/template-search-range-default.ts +48 -0
  141. package/src/widgets/search/template-search-result-default.ts +13 -0
  142. package/src/widgets/search/template-search-results-default.ts +8 -0
  143. package/tasks/model.mjs +116 -0
  144. package/tasks/run.mjs +305 -0
  145. package/tsconfig.json +14 -0
package/LICENSE.md ADDED
@@ -0,0 +1,90 @@
1
+ LUIGI'S BOX COMMERCIAL SOURCE LICENSE
2
+
3
+ Copyright (c) 2026 Luigi's Box s.r.o., registered in Slovakia.
4
+ All rights reserved.
5
+
6
+ 1. GRANT OF LICENSE
7
+
8
+ This software and associated documentation files (the "Software") are
9
+ proprietary to Luigi's Box s.r.o. ("Licensor"). Subject to the terms of
10
+ a valid, current commercial agreement between the Licensor and the
11
+ licensee ("Agreement"), the Licensor grants the licensee a limited,
12
+ non-exclusive, non-transferable, non-sublicensable license to use the
13
+ Software solely for the purposes defined in the Agreement.
14
+
15
+ 2. CONDITIONS OF USE
16
+
17
+ Use of the Software is permitted only:
18
+ (a) by a party that has entered into a valid Agreement with the Licensor;
19
+ (b) for the duration of that Agreement; and
20
+ (c) solely for the purposes expressly permitted under that Agreement.
21
+
22
+ 3. RESTRICTIONS
23
+
24
+ The licensee may not:
25
+ (a) copy, distribute, sublicense, sell, or transfer the Software or any
26
+ portion thereof to any third party;
27
+ (b) modify, adapt, translate, reverse engineer, decompile, or create
28
+ derivative works based on the core Software library. For the
29
+ avoidance of doubt, the licensee is permitted to write, modify,
30
+ and maintain integration code that interfaces with the Software
31
+ through its published public API, provided such integration code
32
+ does not incorporate, derive from, or replicate any portion of
33
+ the Software's internal implementation
34
+ (c) remove or alter any copyright, trademark, or proprietary notices
35
+ contained in the Software.
36
+ (d) use the Software, or any integration code built against it, to
37
+ communicate with, connect to, or interoperate with any backend
38
+ API, service, or infrastructure other than those operated by
39
+ Luigi's Box s.r.o. The Software is licensed exclusively for use
40
+ with Luigi's Box services. Any attempt to adapt, reconfigure, or
41
+ redirect the Software to function with a third-party service is
42
+ a material breach of this license and the Agreement.
43
+
44
+ 4. TERMINATION AND RETURN OF SOURCE CODE
45
+
46
+ This license is effective until terminated. It terminates automatically,
47
+ without notice, upon expiry or termination of the Agreement. Upon
48
+ termination, the licensee must immediately cease all use of the Software
49
+ and permanently destroy all copies of the Software in its possession or
50
+ control, including source code, compiled versions, and any backups.
51
+ Upon request, the licensee shall provide the Licensor with written
52
+ confirmation of such destruction within 14 days.
53
+
54
+ 5. DISCLAIMER OF WARRANTIES
55
+
56
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
57
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
58
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
59
+ THE LICENSOR DOES NOT WARRANT THAT THE SOFTWARE WILL BE ERROR-FREE OR
60
+ UNINTERRUPTED.
61
+
62
+ 6. LIMITATION OF LIABILITY
63
+
64
+ TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL
65
+ THE LICENSOR BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL,
66
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
67
+ LOSS OF PROFITS, DATA, OR BUSINESS INTERRUPTION) ARISING OUT OF OR IN
68
+ CONNECTION WITH THE USE OR INABILITY TO USE THE SOFTWARE, EVEN IF
69
+ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
70
+
71
+ 7. GOVERNING LAW AND JURISDICTION
72
+
73
+ This license shall be governed by and construed in accordance with the
74
+ laws of the Slovak Republic, without regard to its conflict of law
75
+ provisions. Any disputes arising under this license shall be subject
76
+ to the exclusive jurisdiction of the courts of Bratislava, Slovakia.
77
+
78
+ 8. SEVERABILITY
79
+
80
+ If any provision of this license is found to be unenforceable or invalid
81
+ under applicable law, that provision shall be limited or eliminated to
82
+ the minimum extent necessary, and the remaining provisions shall continue
83
+ in full force and effect.
84
+
85
+ 9. ENTIRE AGREEMENT
86
+
87
+ This license, together with the Agreement, constitutes the entire
88
+ agreement between the parties with respect to the Software and
89
+ supersedes all prior or contemporaneous understandings regarding
90
+ such subject matter.