@lo-tek/interfaces 0.38.0 → 0.40.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 (153) hide show
  1. package/CHANGELOG.md +123 -0
  2. package/README.md +1 -1
  3. package/agent/astro.md +9 -9
  4. package/agent/bundles.md +14 -12
  5. package/agent/datastar.md +65 -65
  6. package/agent/html.md +59 -59
  7. package/agent/react.md +16 -15
  8. package/agent/templates.md +65 -58
  9. package/core/lotek-core.wasm +0 -0
  10. package/core/lotek.wasm +0 -0
  11. package/dist/components/css/accordion/accordion.d.ts +1 -1
  12. package/dist/components/css/accordion/accordion.js +1 -1
  13. package/dist/components/css/alert/alert.d.ts +1 -1
  14. package/dist/components/css/alert/alert.js +1 -1
  15. package/dist/components/css/avatar/avatar.d.ts +1 -1
  16. package/dist/components/css/avatar/avatar.js +1 -1
  17. package/dist/components/css/badge/badge.d.ts +1 -1
  18. package/dist/components/css/badge/badge.js +1 -1
  19. package/dist/components/css/breadcrumbs/breadcrumbs.d.ts +1 -1
  20. package/dist/components/css/breadcrumbs/breadcrumbs.js +1 -1
  21. package/dist/components/css/card/card.d.ts +1 -1
  22. package/dist/components/css/card/card.js +1 -1
  23. package/dist/components/css/file-upload/file-upload.d.ts +1 -1
  24. package/dist/components/css/file-upload/file-upload.js +1 -1
  25. package/dist/components/css/icon/icon.d.ts +1 -1
  26. package/dist/components/css/icon/icon.js +1 -1
  27. package/dist/components/css/label/label.d.ts +1 -1
  28. package/dist/components/css/label/label.js +1 -1
  29. package/dist/components/css/link/link.d.ts +1 -1
  30. package/dist/components/css/link/link.js +1 -1
  31. package/dist/components/css/spinner/spinner.d.ts +7 -5
  32. package/dist/components/css/spinner/spinner.d.ts.map +1 -1
  33. package/dist/components/css/spinner/spinner.js +7 -5
  34. package/dist/components/css/spinner/spinner.js.map +1 -1
  35. package/dist/components/css/tag/tag.d.ts +1 -1
  36. package/dist/components/css/tag/tag.js +1 -1
  37. package/dist/components/css/toggle-group/toggle-group.d.ts +1 -1
  38. package/dist/components/css/toggle-group/toggle-group.js +1 -1
  39. package/dist/components/css/tooltip/tooltip.d.ts +2 -2
  40. package/dist/components/css/tooltip/tooltip.js +2 -2
  41. package/dist/components/frame/dialog/dialog.d.ts +11 -6
  42. package/dist/components/frame/dialog/dialog.d.ts.map +1 -1
  43. package/dist/components/frame/dialog/dialog.js +4 -4
  44. package/dist/components/frame/dialog/dialog.js.map +1 -1
  45. package/dist/components/frame/dialog/lt-dialog.d.ts +1 -1
  46. package/dist/components/frame/dialog/lt-dialog.js +7 -7
  47. package/dist/components/frame/error-summary/error-summary.d.ts +6 -2
  48. package/dist/components/frame/error-summary/error-summary.d.ts.map +1 -1
  49. package/dist/components/frame/error-summary/error-summary.js +1 -1
  50. package/dist/components/frame/error-summary/error-summary.js.map +1 -1
  51. package/dist/components/frame/error-summary/lt-error-summary.d.ts +1 -1
  52. package/dist/components/frame/error-summary/lt-error-summary.js +6 -6
  53. package/dist/components/frame/field/field-core.d.ts +4 -2
  54. package/dist/components/frame/field/field-core.d.ts.map +1 -1
  55. package/dist/components/frame/field/field-core.js.map +1 -1
  56. package/dist/components/frame/field/lt-field.d.ts +5 -4
  57. package/dist/components/frame/field/lt-field.d.ts.map +1 -1
  58. package/dist/components/frame/field/lt-field.js +5 -4
  59. package/dist/components/frame/field/lt-field.js.map +1 -1
  60. package/dist/components/frame/popover/lt-popover.d.ts +3 -3
  61. package/dist/components/frame/popover/lt-popover.js +3 -3
  62. package/dist/components/frame/popover/popover.d.ts +7 -3
  63. package/dist/components/frame/popover/popover.d.ts.map +1 -1
  64. package/dist/components/frame/popover/popover.js +2 -2
  65. package/dist/components/frame/popover/popover.js.map +1 -1
  66. package/dist/components/frame/session-timeout/lt-session-timeout.d.ts +8 -8
  67. package/dist/components/frame/session-timeout/lt-session-timeout.js +7 -7
  68. package/dist/components/frame/session-timeout/session-timeout.d.ts +10 -5
  69. package/dist/components/frame/session-timeout/session-timeout.d.ts.map +1 -1
  70. package/dist/components/frame/session-timeout/session-timeout.js +4 -4
  71. package/dist/components/frame/session-timeout/session-timeout.js.map +1 -1
  72. package/dist/components/frame/suggestion/lt-suggestion.d.ts +12 -11
  73. package/dist/components/frame/suggestion/lt-suggestion.d.ts.map +1 -1
  74. package/dist/components/frame/suggestion/lt-suggestion.js +11 -10
  75. package/dist/components/frame/suggestion/lt-suggestion.js.map +1 -1
  76. package/dist/components/frame/suggestion/suggestion.d.ts +3 -1
  77. package/dist/components/frame/suggestion/suggestion.d.ts.map +1 -1
  78. package/dist/components/frame/suggestion/suggestion.js.map +1 -1
  79. package/dist/components/frame/tabs/lt-tabs.d.ts +3 -3
  80. package/dist/components/frame/tabs/lt-tabs.js +5 -5
  81. package/dist/components/frame/tabs/lt-tabs.js.map +1 -1
  82. package/dist/components/frame/tabs/tabs.d.ts +8 -6
  83. package/dist/components/frame/tabs/tabs.d.ts.map +1 -1
  84. package/dist/components/frame/tabs/tabs.js +4 -4
  85. package/dist/components/frame/tabs/tabs.js.map +1 -1
  86. package/dist/components/host-element.d.ts +3 -0
  87. package/dist/components/host-element.d.ts.map +1 -1
  88. package/dist/components/host-element.js +90 -1
  89. package/dist/components/host-element.js.map +1 -1
  90. package/dist/components/standalone/connection-status/lt-connection-status.d.ts +1 -1
  91. package/dist/components/standalone/connection-status/lt-connection-status.js +1 -1
  92. package/dist/components/standalone/toast/lt-toast.d.ts +1 -1
  93. package/dist/components/standalone/toast/lt-toast.js +1 -1
  94. package/dist/diagnostics/index.d.ts +2 -2
  95. package/dist/diagnostics/index.js +2 -2
  96. package/dist/dom.d.ts +2 -1
  97. package/dist/dom.d.ts.map +1 -1
  98. package/dist/dom.js +2 -1
  99. package/dist/dom.js.map +1 -1
  100. package/dist/lotek.css +20 -1
  101. package/dist/lt.d.ts +5 -5
  102. package/dist/lt.js +5 -5
  103. package/dist/react.d.ts.map +1 -1
  104. package/dist/vocabulary/elements.js +1 -1
  105. package/dist/vocabulary/elements.js.map +1 -1
  106. package/dist/vocabulary/types.d.ts +26 -0
  107. package/dist/vocabulary/types.d.ts.map +1 -1
  108. package/live-templates-kotlin.xml +64 -0
  109. package/live-templates.xml +23 -23
  110. package/manifest/manifest.json +407 -80
  111. package/manifest/manifest.schema.json +61 -7
  112. package/package.json +2 -1
  113. package/src/components/css/accordion/accordion.ts +1 -1
  114. package/src/components/css/alert/alert.ts +1 -1
  115. package/src/components/css/avatar/avatar.ts +1 -1
  116. package/src/components/css/badge/badge.ts +1 -1
  117. package/src/components/css/breadcrumbs/breadcrumbs.ts +1 -1
  118. package/src/components/css/card/card.ts +1 -1
  119. package/src/components/css/file-upload/file-upload.ts +1 -1
  120. package/src/components/css/icon/icon.ts +1 -1
  121. package/src/components/css/input/input.css +21 -0
  122. package/src/components/css/label/label.ts +1 -1
  123. package/src/components/css/link/link.ts +1 -1
  124. package/src/components/css/spinner/spinner.ts +8 -5
  125. package/src/components/css/tag/tag.ts +1 -1
  126. package/src/components/css/toggle-group/toggle-group.ts +1 -1
  127. package/src/components/css/tooltip/tooltip.ts +2 -2
  128. package/src/components/frame/dialog/dialog.ts +11 -6
  129. package/src/components/frame/dialog/lt-dialog.ts +7 -7
  130. package/src/components/frame/error-summary/error-summary.ts +6 -2
  131. package/src/components/frame/error-summary/lt-error-summary.ts +6 -6
  132. package/src/components/frame/field/field-core.ts +4 -2
  133. package/src/components/frame/field/lt-field.ts +5 -4
  134. package/src/components/frame/popover/lt-popover.ts +3 -3
  135. package/src/components/frame/popover/popover.ts +7 -3
  136. package/src/components/frame/session-timeout/lt-session-timeout.ts +8 -8
  137. package/src/components/frame/session-timeout/session-timeout.ts +10 -5
  138. package/src/components/frame/suggestion/lt-suggestion.ts +13 -12
  139. package/src/components/frame/suggestion/suggestion.css +1 -1
  140. package/src/components/frame/suggestion/suggestion.ts +3 -1
  141. package/src/components/frame/tabs/lt-tabs.ts +5 -5
  142. package/src/components/frame/tabs/tabs.css +1 -1
  143. package/src/components/frame/tabs/tabs.ts +8 -6
  144. package/src/components/host-element.ts +97 -1
  145. package/src/components/standalone/connection-status/lt-connection-status.ts +1 -1
  146. package/src/components/standalone/toast/lt-toast.ts +1 -1
  147. package/src/diagnostics/index.ts +2 -2
  148. package/src/dom.ts +2 -1
  149. package/src/lt.ts +5 -5
  150. package/src/tokens/boundary.css +4 -0
  151. package/src/vocabulary/elements.ts +1 -1
  152. package/src/vocabulary/types.ts +23 -0
  153. package/web-types.json +2 -2
@@ -17,7 +17,7 @@ export type BreadcrumbsAttributes = {
17
17
  * <nav aria-label="You are here">
18
18
  * <ol {...breadcrumbs()}>
19
19
  * <li><a href="/">Home</a></li>
20
- * <li><a href="/cases" aria-current="page">My cases</a></li>
20
+ * <li><a href="/claims" aria-current="page">My claims</a></li>
21
21
  * </ol>
22
22
  * </nav>
23
23
  * ```
@@ -15,7 +15,7 @@ export const BREADCRUMBS_CLASS = "lt-breadcrumbs";
15
15
  * <nav aria-label="You are here">
16
16
  * <ol {...breadcrumbs()}>
17
17
  * <li><a href="/">Home</a></li>
18
- * <li><a href="/cases" aria-current="page">My cases</a></li>
18
+ * <li><a href="/claims" aria-current="page">My claims</a></li>
19
19
  * </ol>
20
20
  * </nav>
21
21
  * ```
@@ -24,7 +24,7 @@ export type CardAttributes = {
24
24
  * reached with the keyboard nor be announced as something to press.
25
25
  *
26
26
  * ```ts
27
- * <a {...card({ interactive: true })} href="/case/481">…</a>
27
+ * <a {...card({ interactive: true })} href="/claims/AV-2079-0481">…</a>
28
28
  * ```
29
29
  */
30
30
  export declare const card: (({ variant, interactive }?: CardOptions) => CardAttributes) & {
@@ -12,7 +12,7 @@ export const cardVariants = ["outline", "filled"];
12
12
  * reached with the keyboard nor be announced as something to press.
13
13
  *
14
14
  * ```ts
15
- * <a {...card({ interactive: true })} href="/case/481">…</a>
15
+ * <a {...card({ interactive: true })} href="/claims/AV-2079-0481">…</a>
16
16
  * ```
17
17
  */
18
18
  export const card = Object.assign(({ variant = "outline", interactive } = {}) => attributes({
@@ -29,7 +29,7 @@ export type FileUploadAttributes = {
29
29
  * "all files", so the type must be checked on the server anyway.
30
30
  *
31
31
  * ```ts
32
- * <input {...fileUpload({ multiple: true, accept: ".pdf" })} />
32
+ * <input {...fileUpload({ multiple: true, accept: ".bin" })} />
33
33
  * ```
34
34
  */
35
35
  export declare const fileUpload: (({ state, multiple, accept, }?: FileUploadOptions) => FileUploadAttributes) & {
@@ -13,7 +13,7 @@ export const FILE_UPLOAD_LIST_CLASS = "lt-file-upload-list";
13
13
  * "all files", so the type must be checked on the server anyway.
14
14
  *
15
15
  * ```ts
16
- * <input {...fileUpload({ multiple: true, accept: ".pdf" })} />
16
+ * <input {...fileUpload({ multiple: true, accept: ".bin" })} />
17
17
  * ```
18
18
  */
19
19
  export const fileUpload = Object.assign(({ state = "default", multiple, accept, } = {}) => attributes({
@@ -25,7 +25,7 @@ export type IconAttributes = {
25
25
  * reports a button that lacks one.
26
26
  *
27
27
  * ```ts
28
- * <button {...button()} aria-label="Delete the application">
28
+ * <button {...button()} aria-label="Delete ticket #0331">
29
29
  * <svg {...icon()} viewBox="0 0 24 24">…</svg>
30
30
  * </button>
31
31
  * ```
@@ -11,7 +11,7 @@ export const ICON_CLASS = "lt-icon";
11
11
  * reports a button that lacks one.
12
12
  *
13
13
  * ```ts
14
- * <button {...button()} aria-label="Delete the application">
14
+ * <button {...button()} aria-label="Delete ticket #0331">
15
15
  * <svg {...icon()} viewBox="0 0 24 24">…</svg>
16
16
  * </button>
17
17
  * ```
@@ -23,7 +23,7 @@ export type LabelAttributes = {
23
23
  * or the screen reader is not told that it must be filled in.
24
24
  *
25
25
  * ```ts
26
- * <label {...label({ required: "symbol" })} htmlFor="email">Email address</label>
26
+ * <label {...label({ required: "symbol" })} htmlFor="fixer">Fixer's address</label>
27
27
  * ```
28
28
  */
29
29
  export declare const label: (({ required, optional, disabled }?: LabelOptions) => LabelAttributes) & {
@@ -8,7 +8,7 @@ export { requiredMarkers };
8
8
  * or the screen reader is not told that it must be filled in.
9
9
  *
10
10
  * ```ts
11
- * <label {...label({ required: "symbol" })} htmlFor="email">Email address</label>
11
+ * <label {...label({ required: "symbol" })} htmlFor="fixer">Fixer's address</label>
12
12
  * ```
13
13
  */
14
14
  export const label = Object.assign(({ required, optional, disabled } = {}) => attributes({
@@ -17,7 +17,7 @@ export type LinkAttributes = {
17
17
  * The attributes for a link.
18
18
  *
19
19
  * ```ts
20
- * <a {...link()} href="/receipt">See receipt</a>
20
+ * <a {...link()} href="/small-print">Read the small print</a>
21
21
  * <a {...link({ disabled: true })}>See annual statement</a>
22
22
  * ```
23
23
  *
@@ -4,7 +4,7 @@ export const LINK_CLASS = "lt-link";
4
4
  * The attributes for a link.
5
5
  *
6
6
  * ```ts
7
- * <a {...link()} href="/receipt">See receipt</a>
7
+ * <a {...link()} href="/small-print">Read the small print</a>
8
8
  * <a {...link({ disabled: true })}>See annual statement</a>
9
9
  * ```
10
10
  *
@@ -13,17 +13,19 @@ export type SpinnerAttributes = {
13
13
  "data-size"?: NonDefaultSpinnerSize;
14
14
  role?: "status";
15
15
  "aria-label"?: string;
16
+ "aria-hidden"?: "true";
16
17
  };
17
18
  /**
18
19
  * The attributes for a loading indicator.
19
20
  *
20
- * Without `label` the ring is only a shape, and screen readers announce
21
- * nothing. With `label` it becomes a `role="status"` that says what is going
22
- * on. If you already have a visible text next to it, let that carry the
23
- * message and drop `label`, so the same thing is not announced twice.
21
+ * Without `label` the ring is only a shape, and is hidden from screen readers
22
+ * with `aria-hidden`, as an icon without a label is. With `label` it becomes a
23
+ * `role="status"` that says what is going on. If you already have a visible
24
+ * text next to it, let that carry the message and drop `label`, so the same
25
+ * thing is not announced twice.
24
26
  *
25
27
  * ```ts
26
- * <span {...spinner({ label: "Loading applications" })} />
28
+ * <span {...spinner({ label: "Loading sectors" })} />
27
29
  * ```
28
30
  */
29
31
  export declare const spinner: (({ size, label }?: SpinnerOptions) => SpinnerAttributes) & {
@@ -1 +1 @@
1
- {"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../../../../src/components/css/spinner/spinner.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,EAAG,YAAqB,CAAA;AAElD,eAAO,MAAM,YAAY,uCAAwC,CAAA;AAEjE,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAA;AACvD,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;AAElE,MAAM,MAAM,cAAc,GAAG;IAC3B,+BAA+B;IAC/B,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,wFAAwF;IACxF,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,OAAO,aAAa,CAAA;IAC3B,WAAW,CAAC,EAAE,qBAAqB,CAAA;IACnC,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,OAAO,sBACW,cAAc,KAAQ,iBAAiB;;;CAWrE,CAAA"}
1
+ {"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../../../../src/components/css/spinner/spinner.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,EAAG,YAAqB,CAAA;AAElD,eAAO,MAAM,YAAY,uCAAwC,CAAA;AAEjE,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAA;AACvD,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;AAElE,MAAM,MAAM,cAAc,GAAG;IAC3B,+BAA+B;IAC/B,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,wFAAwF;IACxF,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,OAAO,aAAa,CAAA;IAC3B,WAAW,CAAC,EAAE,qBAAqB,CAAA;IACnC,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,OAAO,sBACW,cAAc,KAAQ,iBAAiB;;;CAYrE,CAAA"}
@@ -4,13 +4,14 @@ export const spinnerSizes = ["small", "medium", "large"];
4
4
  /**
5
5
  * The attributes for a loading indicator.
6
6
  *
7
- * Without `label` the ring is only a shape, and screen readers announce
8
- * nothing. With `label` it becomes a `role="status"` that says what is going
9
- * on. If you already have a visible text next to it, let that carry the
10
- * message and drop `label`, so the same thing is not announced twice.
7
+ * Without `label` the ring is only a shape, and is hidden from screen readers
8
+ * with `aria-hidden`, as an icon without a label is. With `label` it becomes a
9
+ * `role="status"` that says what is going on. If you already have a visible
10
+ * text next to it, let that carry the message and drop `label`, so the same
11
+ * thing is not announced twice.
11
12
  *
12
13
  * ```ts
13
- * <span {...spinner({ label: "Loading applications" })} />
14
+ * <span {...spinner({ label: "Loading sectors" })} />
14
15
  * ```
15
16
  */
16
17
  export const spinner = Object.assign(({ size = "medium", label } = {}) => attributes({
@@ -18,6 +19,7 @@ export const spinner = Object.assign(({ size = "medium", label } = {}) => attrib
18
19
  "data-size": size === "medium" ? undefined : size,
19
20
  role: label ? "status" : undefined,
20
21
  "aria-label": label,
22
+ "aria-hidden": label ? undefined : "true",
21
23
  }), {
22
24
  sizes: spinnerSizes,
23
25
  isSize: createGuard(spinnerSizes),
@@ -1 +1 @@
1
- {"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../../../src/components/css/spinner/spinner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAEtD,MAAM,CAAC,MAAM,aAAa,GAAG,YAAqB,CAAA;AAElD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAA;AAmBjE;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAClC,CAAC,EAAE,IAAI,GAAG,QAAQ,EAAE,KAAK,KAAqB,EAAE,EAAqB,EAAE,CACrE,UAAU,CAAC;IACT,KAAK,EAAE,aAAa;IACpB,WAAW,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;IACjD,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE,QAAkB,CAAC,CAAC,CAAC,SAAS;IAC7C,YAAY,EAAE,KAAK;CACpB,CAAC,EACJ;IACE,KAAK,EAAE,YAAY;IACnB,MAAM,EAAE,WAAW,CAAC,YAAY,CAAC;CAClC,CACF,CAAA"}
1
+ {"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../../../src/components/css/spinner/spinner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAEtD,MAAM,CAAC,MAAM,aAAa,GAAG,YAAqB,CAAA;AAElD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAA;AAoBjE;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAClC,CAAC,EAAE,IAAI,GAAG,QAAQ,EAAE,KAAK,KAAqB,EAAE,EAAqB,EAAE,CACrE,UAAU,CAAC;IACT,KAAK,EAAE,aAAa;IACpB,WAAW,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;IACjD,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE,QAAkB,CAAC,CAAC,CAAC,SAAS;IAC7C,YAAY,EAAE,KAAK;IACnB,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,MAAgB;CACrD,CAAC,EACJ;IACE,KAAK,EAAE,YAAY;IACnB,MAAM,EAAE,WAAW,CAAC,YAAY,CAAC;CAClC,CACF,CAAA"}
@@ -25,7 +25,7 @@ export type TagAttributes = {
25
25
  * since only you know whether the tag is selected.
26
26
  *
27
27
  * ```ts
28
- * <button {...tag({ selectable: true })} aria-pressed="true">Housing benefit</button>
28
+ * <button {...tag({ selectable: true })} aria-pressed="true">Cutter</button>
29
29
  * ```
30
30
  */
31
31
  export declare const tag: (({ variant, selectable }?: TagOptions) => TagAttributes) & {
@@ -13,7 +13,7 @@ export const tagVariants = ["outline", "filled"];
13
13
  * since only you know whether the tag is selected.
14
14
  *
15
15
  * ```ts
16
- * <button {...tag({ selectable: true })} aria-pressed="true">Housing benefit</button>
16
+ * <button {...tag({ selectable: true })} aria-pressed="true">Cutter</button>
17
17
  * ```
18
18
  */
19
19
  export const tag = Object.assign(({ variant = "outline", selectable } = {}) => attributes({
@@ -19,7 +19,7 @@ export type ToggleGroupAttributes = {
19
19
  * <fieldset {...toggleGroup()}>
20
20
  * <legend class="lt-sr-only">View</legend>
21
21
  * <label class={toggleGroup.option}>
22
- * <input type="radio" name="view" value="list" checked /> List
22
+ * <input type="radio" name="view" value="dry" checked /> Dry
23
23
  * </label>
24
24
  * </fieldset>
25
25
  * ```
@@ -17,7 +17,7 @@ export const TOGGLE_GROUP_OPTION_CLASS = "lt-toggle-group__option";
17
17
  * <fieldset {...toggleGroup()}>
18
18
  * <legend class="lt-sr-only">View</legend>
19
19
  * <label class={toggleGroup.option}>
20
- * <input type="radio" name="view" value="list" checked /> List
20
+ * <input type="radio" name="view" value="dry" checked /> Dry
21
21
  * </label>
22
22
  * </fieldset>
23
23
  * ```
@@ -19,8 +19,8 @@ export type TooltipAttributes = {
19
19
  *
20
20
  * ```ts
21
21
  * <span {...tooltip()}>
22
- * <button aria-describedby="hint">Archive</button>
23
- * <span class={tooltip.bubble} role="tooltip" id="hint">Moves it to the archive</span>
22
+ * <button aria-describedby="hint">Appraise</button>
23
+ * <span class={tooltip.bubble} role="tooltip" id="hint">At street value</span>
24
24
  * </span>
25
25
  * ```
26
26
  */
@@ -17,8 +17,8 @@ export const TOOLTIP_BUBBLE_CLASS = "lt-tooltip__bubble";
17
17
  *
18
18
  * ```ts
19
19
  * <span {...tooltip()}>
20
- * <button aria-describedby="hint">Archive</button>
21
- * <span class={tooltip.bubble} role="tooltip" id="hint">Moves it to the archive</span>
20
+ * <button aria-describedby="hint">Appraise</button>
21
+ * <span class={tooltip.bubble} role="tooltip" id="hint">At street value</span>
22
22
  * </span>
23
23
  * ```
24
24
  */
@@ -14,7 +14,12 @@ export declare const DIALOG_FOOTER_CLASS: "lt-dialog__footer";
14
14
  export declare const dialogColors: readonly ["neutral", "brand", "info", "success", "warning", "danger"];
15
15
  export type DialogColor = (typeof dialogColors)[number];
16
16
  export type DialogOptions = {
17
- /** Id of the heading. The dialog takes its name from it with `aria-labelledby`. */
17
+ /**
18
+ * Id of the heading. The dialog takes its name from it with
19
+ * `aria-labelledby`. Make it from a key in the data, never from the loop
20
+ * index or a counter, so it is unique on the page and the same on every
21
+ * render.
22
+ */
18
23
  titleId: string;
19
24
  /**
20
25
  * The dialog is open. Default: closed.
@@ -25,7 +30,7 @@ export type DialogOptions = {
25
30
  */
26
31
  open?: boolean;
27
32
  /**
28
- * Colour of the header. Default: none.
33
+ * Colour of the header. Default: `neutral`, which gives none.
29
34
  *
30
35
  * The colour applies to `header`, so the header must be in the markup for
31
36
  * it to show: `<div {...box.header}>` around the heading. Without a header
@@ -89,15 +94,15 @@ export type DialogAttributes = {
89
94
  * turns it into a modal.
90
95
  *
91
96
  * ```ts
92
- * const box = lt.dialog({ titleId: "delete-title", open: true })
97
+ * const box = lt.dialog({ titleId: "cancel-title", open: true })
93
98
  * ```
94
99
  * ```html
95
100
  * <lt-dialog {...box.host}>
96
101
  * <dialog {...box.dialog}>
97
- * <h2 {...box.title}>Delete the application?</h2>
98
- * <div {...box.body}>The application and its attachments will be gone.</div>
102
+ * <h2 {...box.title}>Cancel job 222-0481?</h2>
103
+ * <div {...box.body}>The crew keeps the advance. This cannot be undone.</div>
99
104
  * <form method="dialog" {...box.footer}>
100
- * <button class="lt-button" value="cancel">Cancel</button>
105
+ * <button class="lt-button" value="keep">Keep the job</button>
101
106
  * </form>
102
107
  * </dialog>
103
108
  * </lt-dialog>
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../../../src/components/frame/dialog/dialog.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,EAAG,WAAoB,CAAA;AAChD,eAAO,MAAM,mBAAmB,EAAG,mBAA4B,CAAA;AAC/D,eAAO,MAAM,kBAAkB,EAAG,kBAA2B,CAAA;AAC7D,eAAO,MAAM,qBAAqB,EAAG,qBAA8B,CAAA;AACnE,eAAO,MAAM,iBAAiB,EAAG,iBAA0B,CAAA;AAC3D,eAAO,MAAM,mBAAmB,EAAG,mBAA4B,CAAA;AAE/D;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,uEAOf,CAAA;AACV,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAA;AAEvD,MAAM,MAAM,aAAa,GAAG;IAC1B,mFAAmF;IACnF,OAAO,EAAE,MAAM,CAAA;IACf;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IACd;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,WAAW,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE;QACJ,IAAI,CAAC,EAAE,IAAI,CAAA;KACZ,CAAA;IACD,MAAM,EAAE;QACN,KAAK,EAAE,OAAO,YAAY,CAAA;QAC1B,iBAAiB,EAAE,MAAM,CAAA;QACzB,IAAI,CAAC,EAAE,IAAI,CAAA;QACX,YAAY,CAAC,EAAE,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;KAC/C,CAAA;IACD,0EAA0E;IAC1E,MAAM,EAAE;QAAE,KAAK,EAAE,OAAO,mBAAmB,CAAA;KAAE,CAAA;IAC7C,KAAK,EAAE;QACL,KAAK,EAAE,OAAO,kBAAkB,CAAA;QAChC,EAAE,EAAE,MAAM,CAAA;KACX,CAAA;IACD,6DAA6D;IAC7D,QAAQ,EAAE;QAAE,KAAK,EAAE,OAAO,qBAAqB,CAAA;KAAE,CAAA;IACjD,IAAI,EAAE;QAAE,KAAK,EAAE,OAAO,iBAAiB,CAAA;KAAE,CAAA;IACzC,MAAM,EAAE;QAAE,KAAK,EAAE,OAAO,mBAAmB,CAAA;KAAE,CAAA;CAC9C,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,eAAO,MAAM,MAAM,wCAKd,aAAa,KAAG,gBAAgB;IAmCjC,0CAA0C;;IAE1C,yDAAyD;;IAEzD,8CAA8C;;IAE9C,+CAA+C;;IAE/C,6EAA6E;;IAE7E,qDAAqD;;;;CAKxD,CAAA"}
1
+ {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../../../src/components/frame/dialog/dialog.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,EAAG,WAAoB,CAAA;AAChD,eAAO,MAAM,mBAAmB,EAAG,mBAA4B,CAAA;AAC/D,eAAO,MAAM,kBAAkB,EAAG,kBAA2B,CAAA;AAC7D,eAAO,MAAM,qBAAqB,EAAG,qBAA8B,CAAA;AACnE,eAAO,MAAM,iBAAiB,EAAG,iBAA0B,CAAA;AAC3D,eAAO,MAAM,mBAAmB,EAAG,mBAA4B,CAAA;AAE/D;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,uEAOf,CAAA;AACV,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAA;AAEvD,MAAM,MAAM,aAAa,GAAG;IAC1B;;;;;OAKG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IACd;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,WAAW,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE;QACJ,IAAI,CAAC,EAAE,IAAI,CAAA;KACZ,CAAA;IACD,MAAM,EAAE;QACN,KAAK,EAAE,OAAO,YAAY,CAAA;QAC1B,iBAAiB,EAAE,MAAM,CAAA;QACzB,IAAI,CAAC,EAAE,IAAI,CAAA;QACX,YAAY,CAAC,EAAE,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;KAC/C,CAAA;IACD,0EAA0E;IAC1E,MAAM,EAAE;QAAE,KAAK,EAAE,OAAO,mBAAmB,CAAA;KAAE,CAAA;IAC7C,KAAK,EAAE;QACL,KAAK,EAAE,OAAO,kBAAkB,CAAA;QAChC,EAAE,EAAE,MAAM,CAAA;KACX,CAAA;IACD,6DAA6D;IAC7D,QAAQ,EAAE;QAAE,KAAK,EAAE,OAAO,qBAAqB,CAAA;KAAE,CAAA;IACjD,IAAI,EAAE;QAAE,KAAK,EAAE,OAAO,iBAAiB,CAAA;KAAE,CAAA;IACzC,MAAM,EAAE;QAAE,KAAK,EAAE,OAAO,mBAAmB,CAAA;KAAE,CAAA;CAC9C,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,eAAO,MAAM,MAAM,wCAKd,aAAa,KAAG,gBAAgB;IAmCjC,0CAA0C;;IAE1C,yDAAyD;;IAEzD,8CAA8C;;IAE9C,+CAA+C;;IAE/C,6EAA6E;;IAE7E,qDAAqD;;;;CAKxD,CAAA"}
@@ -47,15 +47,15 @@ export const dialogColors = [
47
47
  * turns it into a modal.
48
48
  *
49
49
  * ```ts
50
- * const box = lt.dialog({ titleId: "delete-title", open: true })
50
+ * const box = lt.dialog({ titleId: "cancel-title", open: true })
51
51
  * ```
52
52
  * ```html
53
53
  * <lt-dialog {...box.host}>
54
54
  * <dialog {...box.dialog}>
55
- * <h2 {...box.title}>Delete the application?</h2>
56
- * <div {...box.body}>The application and its attachments will be gone.</div>
55
+ * <h2 {...box.title}>Cancel job 222-0481?</h2>
56
+ * <div {...box.body}>The crew keeps the advance. This cannot be undone.</div>
57
57
  * <form method="dialog" {...box.footer}>
58
- * <button class="lt-button" value="cancel">Cancel</button>
58
+ * <button class="lt-button" value="keep">Keep the job</button>
59
59
  * </form>
60
60
  * </dialog>
61
61
  * </lt-dialog>
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../../../src/components/frame/dialog/dialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAE3E,MAAM,CAAC,MAAM,YAAY,GAAG,WAAoB,CAAA;AAChD,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAA4B,CAAA;AAC/D,MAAM,CAAC,MAAM,kBAAkB,GAAG,kBAA2B,CAAA;AAC7D,MAAM,CAAC,MAAM,qBAAqB,GAAG,qBAA8B,CAAA;AACnE,MAAM,CAAC,MAAM,iBAAiB,GAAG,iBAA0B,CAAA;AAC3D,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAA4B,CAAA;AAE/D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,SAAS;IACT,OAAO;IACP,MAAM;IACN,SAAS;IACT,SAAS;IACT,QAAQ;CACA,CAAA;AA8CV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CACjC,CAAC,EACC,OAAO,EAAE,OAAO,EAChB,IAAI,GAAG,KAAK,EACZ,KAAK,GAAG,SAAS,GACH,EAAoB,EAAE;IACpC,6DAA6D;IAC7D,MAAM,OAAO,GAAG,YAAY,CAAC,aAAa,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;IAE/D,OAAO;QACL,IAAI,EAAE,UAAU,CAAC;YACf,IAAI,EAAE,IAAI,CAAC,CAAC,CAAE,IAAc,CAAC,CAAC,CAAC,SAAS;SACzC,CAAC;QACF,MAAM,EAAE,UAAU,CAAC;YACjB,KAAK,EAAE,YAAY;YACnB,iBAAiB,EAAE,OAAO;YAC1B;;;;;;;;;;;;eAYG;YACH,IAAI,EAAE,IAAI,CAAC,CAAC,CAAE,IAAc,CAAC,CAAC,CAAC,SAAS;YACxC,YAAY,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK;SACtD,CAAC;QACF,MAAM,EAAE,UAAU,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;QAClD,KAAK,EAAE,UAAU,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;QAC7D,QAAQ,EAAE,UAAU,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;QACtD,IAAI,EAAE,UAAU,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;QAC9C,MAAM,EAAE,UAAU,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;KACnD,CAAA;AACH,CAAC,EACD;IACE,0CAA0C;IAC1C,MAAM,EAAE,YAAY;IACpB,yDAAyD;IACzD,MAAM,EAAE,mBAAmB;IAC3B,8CAA8C;IAC9C,KAAK,EAAE,kBAAkB;IACzB,+CAA+C;IAC/C,QAAQ,EAAE,qBAAqB;IAC/B,6EAA6E;IAC7E,IAAI,EAAE,iBAAiB;IACvB,qDAAqD;IACrD,MAAM,EAAE,mBAAmB;IAC3B,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,WAAW,CAAC,YAAY,CAAC;CACnC,CACF,CAAA"}
1
+ {"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../../../src/components/frame/dialog/dialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAE3E,MAAM,CAAC,MAAM,YAAY,GAAG,WAAoB,CAAA;AAChD,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAA4B,CAAA;AAC/D,MAAM,CAAC,MAAM,kBAAkB,GAAG,kBAA2B,CAAA;AAC7D,MAAM,CAAC,MAAM,qBAAqB,GAAG,qBAA8B,CAAA;AACnE,MAAM,CAAC,MAAM,iBAAiB,GAAG,iBAA0B,CAAA;AAC3D,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAA4B,CAAA;AAE/D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,SAAS;IACT,OAAO;IACP,MAAM;IACN,SAAS;IACT,SAAS;IACT,QAAQ;CACA,CAAA;AAmDV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CACjC,CAAC,EACC,OAAO,EAAE,OAAO,EAChB,IAAI,GAAG,KAAK,EACZ,KAAK,GAAG,SAAS,GACH,EAAoB,EAAE;IACpC,6DAA6D;IAC7D,MAAM,OAAO,GAAG,YAAY,CAAC,aAAa,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;IAE/D,OAAO;QACL,IAAI,EAAE,UAAU,CAAC;YACf,IAAI,EAAE,IAAI,CAAC,CAAC,CAAE,IAAc,CAAC,CAAC,CAAC,SAAS;SACzC,CAAC;QACF,MAAM,EAAE,UAAU,CAAC;YACjB,KAAK,EAAE,YAAY;YACnB,iBAAiB,EAAE,OAAO;YAC1B;;;;;;;;;;;;eAYG;YACH,IAAI,EAAE,IAAI,CAAC,CAAC,CAAE,IAAc,CAAC,CAAC,CAAC,SAAS;YACxC,YAAY,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK;SACtD,CAAC;QACF,MAAM,EAAE,UAAU,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;QAClD,KAAK,EAAE,UAAU,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;QAC7D,QAAQ,EAAE,UAAU,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;QACtD,IAAI,EAAE,UAAU,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;QAC9C,MAAM,EAAE,UAAU,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;KACnD,CAAA;AACH,CAAC,EACD;IACE,0CAA0C;IAC1C,MAAM,EAAE,YAAY;IACpB,yDAAyD;IACzD,MAAM,EAAE,mBAAmB;IAC3B,8CAA8C;IAC9C,KAAK,EAAE,kBAAkB;IACzB,+CAA+C;IAC/C,QAAQ,EAAE,qBAAqB;IAC/B,6EAA6E;IAC7E,IAAI,EAAE,iBAAiB;IACvB,qDAAqD;IACrD,MAAM,EAAE,mBAAmB;IAC3B,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,WAAW,CAAC,YAAY,CAAC;CACnC,CACF,CAAA"}
@@ -72,7 +72,7 @@ export declare class LtDialog extends HostElement {
72
72
  */
73
73
  private nameless;
74
74
  /**
75
- * Fills in what a template without JavaScript did not write: the class on
75
+ * Fills in what a template without a builder function did not write: the class on
76
76
  * the dialog, and the title. The title is what `aria-labelledby` points to
77
77
  * when the server wrote it, otherwise the first heading outside the body,
78
78
  * and only when the dialog does not already have a name from `aria-label`.
@@ -48,8 +48,8 @@ export const LT_DIALOG_PARTS = {
48
48
  * ```html
49
49
  * <lt-dialog open>
50
50
  * <dialog class="lt-dialog" aria-labelledby="title" open>
51
- * <h2 class="lt-dialog__title" id="title">The decision is registered</h2>
52
- * <div class="lt-dialog__body">The case has been processed.</div>
51
+ * <h2 class="lt-dialog__title" id="title">The order is placed</h2>
52
+ * <div class="lt-dialog__body">Job 222-0481 is open to crews.</div>
53
53
  * <form method="dialog" class="lt-dialog__footer">
54
54
  * <button class="lt-button" value="close">Close</button>
55
55
  * </form>
@@ -193,7 +193,7 @@ export class LtDialog extends HostElement {
193
193
  this.headingOf(dialog) === null);
194
194
  }
195
195
  /**
196
- * Fills in what a template without JavaScript did not write: the class on
196
+ * Fills in what a template without a builder function did not write: the class on
197
197
  * the dialog, and the title. The title is what `aria-labelledby` points to
198
198
  * when the server wrote it, otherwise the first heading outside the body,
199
199
  * and only when the dialog does not already have a name from `aria-label`.
@@ -371,7 +371,7 @@ export class LtDialog extends HostElement {
371
371
  * run. When something wrote `open` on the host in the meantime, such as a
372
372
  * framework setting the same value again, the component opened the dialog
373
373
  * again and cleared `returnValue`, and a listener on `close` read an empty
374
- * value instead of "delete". `returnValue` is cleared every time the
374
+ * value instead of "cancel". `returnValue` is cleared every time the
375
375
  * dialog opens, so a value here comes from a button in this round.
376
376
  */
377
377
  if (this.open &&
@@ -397,9 +397,9 @@ export class LtDialog extends HostElement {
397
397
  /*
398
398
  * Escape and `close()` without an argument leave the previous
399
399
  * `returnValue` in place. A dialog the server opened again then
400
- * reported "delete" from last time when it was closed from the server,
401
- * and the app that tells "Cancel" from "Delete" by the value deleted
402
- * something the user never asked for.
400
+ * reported "cancel" from last time when it was closed from the server,
401
+ * and the app that tells "Keep the job" from "Cancel the job" by the
402
+ * value cancelled something the user never asked for.
403
403
  */
404
404
  dialog.returnValue = "";
405
405
  dialog.showModal();
@@ -3,7 +3,11 @@ export declare const ERROR_SUMMARY_TITLE_CLASS: "lt-error-summary__title";
3
3
  export type ErrorSummaryOptions = {
4
4
  /** The number of errors the server found. When it is zero, the box is hidden. */
5
5
  count?: number;
6
- /** The id of the box, so the form can move focus here after submission. */
6
+ /**
7
+ * The id of the box, so the form can move focus here after submission.
8
+ * Make it from a key in the data, never from the loop index or a counter,
9
+ * so it is unique on the page and the same on every render.
10
+ */
7
11
  id?: string;
8
12
  /**
9
13
  * The id of the heading. The box takes its name from it with
@@ -45,7 +49,7 @@ export type ErrorSummaryAttributes = {
45
49
  * ```html
46
50
  * <lt-error-summary {...summary.host}>
47
51
  * <h2 {...summary.title}>You need to fix 2 errors</h2>
48
- * <ul><li><a href="#email">The email address is missing an @</a></li></ul>
52
+ * <ul><li><a href="#fixer">The fixer's address is missing an @</a></li></ul>
49
53
  * </lt-error-summary>
50
54
  * ```
51
55
  */
@@ -1 +1 @@
1
- {"version":3,"file":"error-summary.d.ts","sourceRoot":"","sources":["../../../../src/components/frame/error-summary/error-summary.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,EAAG,kBAA2B,CAAA;AAC9D,eAAO,MAAM,yBAAyB,EAAG,yBAAkC,CAAA;AAE3E,MAAM,MAAM,mBAAmB,GAAG;IAChC,iFAAiF;IACjF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,2EAA2E;IAC3E,EAAE,CAAC,EAAE,MAAM,CAAA;IACX;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE;QACJ,KAAK,EAAE,OAAO,mBAAmB,CAAA;QACjC,IAAI,EAAE,OAAO,CAAA;QACb,QAAQ,EAAE,IAAI,CAAA;QACd,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,MAAM,CAAC,EAAE,IAAI,CAAA;QACb,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAC3B,CAAA;IACD,KAAK,EAAE;QACL,KAAK,EAAE,OAAO,yBAAyB,CAAA;QACvC,EAAE,CAAC,EAAE,MAAM,CAAA;KACZ,CAAA;CACF,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,YAAY,GAAI,wCAI1B,mBAAwB,KAAG,sBA6B7B,CAAA"}
1
+ {"version":3,"file":"error-summary.d.ts","sourceRoot":"","sources":["../../../../src/components/frame/error-summary/error-summary.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,EAAG,kBAA2B,CAAA;AAC9D,eAAO,MAAM,yBAAyB,EAAG,yBAAkC,CAAA;AAE3E,MAAM,MAAM,mBAAmB,GAAG;IAChC,iFAAiF;IACjF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;;OAIG;IACH,EAAE,CAAC,EAAE,MAAM,CAAA;IACX;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE;QACJ,KAAK,EAAE,OAAO,mBAAmB,CAAA;QACjC,IAAI,EAAE,OAAO,CAAA;QACb,QAAQ,EAAE,IAAI,CAAA;QACd,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,MAAM,CAAC,EAAE,IAAI,CAAA;QACb,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAC3B,CAAA;IACD,KAAK,EAAE;QACL,KAAK,EAAE,OAAO,yBAAyB,CAAA;QACvC,EAAE,CAAC,EAAE,MAAM,CAAA;KACZ,CAAA;CACF,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,YAAY,GAAI,wCAI1B,mBAAwB,KAAG,sBA6B7B,CAAA"}
@@ -19,7 +19,7 @@ export const ERROR_SUMMARY_TITLE_CLASS = "lt-error-summary__title";
19
19
  * ```html
20
20
  * <lt-error-summary {...summary.host}>
21
21
  * <h2 {...summary.title}>You need to fix 2 errors</h2>
22
- * <ul><li><a href="#email">The email address is missing an @</a></li></ul>
22
+ * <ul><li><a href="#fixer">The fixer's address is missing an @</a></li></ul>
23
23
  * </lt-error-summary>
24
24
  * ```
25
25
  */
@@ -1 +1 @@
1
- {"version":3,"file":"error-summary.js","sourceRoot":"","sources":["../../../../src/components/frame/error-summary/error-summary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAEhD,MAAM,CAAC,MAAM,mBAAmB,GAAG,kBAA2B,CAAA;AAC9D,MAAM,CAAC,MAAM,yBAAyB,GAAG,yBAAkC,CAAA;AA+B3E;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAC3B,KAAK,GAAG,CAAC,EACT,EAAE,EACF,OAAO,EAAE,YAAY,MACE,EAAE,EAA0B,EAAE;IACrD;;;;;OAKG;IACH,MAAM,OAAO,GAAG,YAAY,EAAE,IAAI,EAAE;QAClC,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE;YACV,CAAC,CAAC,GAAG,EAAE,QAAQ;YACf,CAAC,CAAC,SAAS,CAAA;IACf,wEAAwE;IACxE,sCAAsC;IACtC,IAAI,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QAC7C,MAAM,IAAI,KAAK,CACb,mCAAmC,OAAO,wHAAwH,CACnK,CAAA;IACH,OAAO;QACL,IAAI,EAAE,UAAU,CAAC;YACf,KAAK,EAAE,mBAAmB;YAC1B,IAAI,EAAE,OAAgB;YACtB,QAAQ,EAAE,IAAa;YACvB,EAAE;YACF,MAAM,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAE,IAAc,CAAC,CAAC,CAAC,SAAS;YACjD,iBAAiB,EAAE,OAAO;SAC3B,CAAC;QACF,KAAK,EAAE,UAAU,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;KACrE,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"error-summary.js","sourceRoot":"","sources":["../../../../src/components/frame/error-summary/error-summary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAEhD,MAAM,CAAC,MAAM,mBAAmB,GAAG,kBAA2B,CAAA;AAC9D,MAAM,CAAC,MAAM,yBAAyB,GAAG,yBAAkC,CAAA;AAmC3E;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAC3B,KAAK,GAAG,CAAC,EACT,EAAE,EACF,OAAO,EAAE,YAAY,MACE,EAAE,EAA0B,EAAE;IACrD;;;;;OAKG;IACH,MAAM,OAAO,GAAG,YAAY,EAAE,IAAI,EAAE;QAClC,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE;YACV,CAAC,CAAC,GAAG,EAAE,QAAQ;YACf,CAAC,CAAC,SAAS,CAAA;IACf,wEAAwE;IACxE,sCAAsC;IACtC,IAAI,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QAC7C,MAAM,IAAI,KAAK,CACb,mCAAmC,OAAO,wHAAwH,CACnK,CAAA;IACH,OAAO;QACL,IAAI,EAAE,UAAU,CAAC;YACf,KAAK,EAAE,mBAAmB;YAC1B,IAAI,EAAE,OAAgB;YACtB,QAAQ,EAAE,IAAa;YACvB,EAAE;YACF,MAAM,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAE,IAAc,CAAC,CAAC,CAAC,SAAS;YACjD,iBAAiB,EAAE,OAAO;SAC3B,CAAC;QACF,KAAK,EAAE,UAAU,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;KACrE,CAAA;AACH,CAAC,CAAA"}
@@ -53,7 +53,7 @@ export declare class LtErrorSummary extends HostElement {
53
53
  */
54
54
  private get shouldFocus();
55
55
  /**
56
- * Fills in what a template without JavaScript did not write. Only what is
56
+ * Fills in what a template without a builder function did not write. Only what is
57
57
  * missing: a role the server chose stays, and so does a `tabindex`.
58
58
  */
59
59
  private wire;
@@ -15,10 +15,10 @@ export const LT_ERROR_SUMMARY_PARTS = {
15
15
  * Takes the user from an error in the summary to the field that failed.
16
16
  *
17
17
  * The server writes the content: the heading and the list of links. When the
18
- * markup is written with JavaScript, `lt.errorSummary()` also writes the
19
- * class, `role="alert"` and `tabindex="-1"` on the box, and the component
20
- * leaves them alone. When the markup comes from a template without
21
- * JavaScript, the component fills in those three and the class on the
18
+ * markup is written with a builder function, `lt.errorSummary()` also writes
19
+ * the class, `role="alert"` and `tabindex="-1"` on the box, and the component
20
+ * leaves them alone. When the markup comes from a template without one, the
21
+ * component fills in those three and the class on the
22
22
  * heading, and sets them back when a patch removes them. Either way, a box
23
23
  * without a name gets `aria-labelledby` pointing at its heading. The component
24
24
  * creates no nodes: it used to, and then the heading disappeared on the
@@ -38,7 +38,7 @@ export const LT_ERROR_SUMMARY_PARTS = {
38
38
  * <lt-error-summary>
39
39
  * <h2>The form has two errors</h2>
40
40
  * <ul class="lt-list">
41
- * <li><a href="#email">Enter a valid email address</a></li>
41
+ * <li><a href="#fixer">Enter a valid address</a></li>
42
42
  * </ul>
43
43
  * </lt-error-summary>
44
44
  * ```
@@ -203,7 +203,7 @@ export class LtErrorSummary extends HostElement {
203
203
  return this.dataset.autofocus !== "false";
204
204
  }
205
205
  /**
206
- * Fills in what a template without JavaScript did not write. Only what is
206
+ * Fills in what a template without a builder function did not write. Only what is
207
207
  * missing: a role the server chose stays, and so does a `tabindex`.
208
208
  */
209
209
  wire() {
@@ -12,10 +12,12 @@ export { createFieldId };
12
12
  */
13
13
  export type FieldOptions = {
14
14
  /**
15
- * The id of the control. Required.
15
+ * The id of the control. Required. Make it from a key in the data, never
16
+ * from the loop index or a counter, so it is unique on the page and the
17
+ * same on every render.
16
18
  *
17
19
  * In React it comes from `useId()`. Otherwise the field's name is usually
18
- * the obvious choice. If you know for certain that the markup is rendered
20
+ * the obvious choice, and in a loop the name with the row's key. If you know for certain that the markup is rendered
19
21
  * once, call `createFieldId()` yourself.
20
22
  *
21
23
  * It used to be optional, and the function created one when it was
@@ -1 +1 @@
1
- {"version":3,"file":"field-core.d.ts","sourceRoot":"","sources":["../../../../src/components/frame/field/field-core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACrE,OAAO,EAAc,aAAa,EAAgB,MAAM,qBAAqB,CAAA;AAI7E,OAAO,EAAE,aAAa,EAAE,CAAA;AAExB;;;;;;;;GAQG;AAEH,MAAM,MAAM,YAAY,GAAG;IACzB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,EAAE,EAAE,MAAM,CAAA;IACV,oEAAoE;IACpE,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,4EAA4E;IAC5E,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE;QACL,KAAK,EAAE,UAAU,CAAA;QACjB,GAAG,EAAE,MAAM,CAAA;QACX,eAAe,CAAC,EAAE,cAAc,CAAA;QAChC,eAAe,CAAC,EAAE,EAAE,CAAA;QACpB,eAAe,CAAC,EAAE,MAAM,CAAA;KACzB,CAAA;IACD,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,CAAA;QACV,kBAAkB,CAAC,EAAE,MAAM,CAAA;QAC3B,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,YAAY,CAAC,EAAE,SAAS,CAAA;QACxB,QAAQ,CAAC,EAAE,IAAI,CAAA;KAChB,CAAA;IACD,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAA;IACpB,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,IAAI,CAAA;KAAE,CAAA;IACpC,qFAAqF;IACrF,KAAK,EAAE,UAAU,CAAA;CAClB,CAAA;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,GAAG,KAAK,CAAC,GACrC,MAAM,GAAG,SAAS,CASpB;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,YAAY,GAAG,eAAe,CA+C7E"}
1
+ {"version":3,"file":"field-core.d.ts","sourceRoot":"","sources":["../../../../src/components/frame/field/field-core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACrE,OAAO,EAAc,aAAa,EAAgB,MAAM,qBAAqB,CAAA;AAI7E,OAAO,EAAE,aAAa,EAAE,CAAA;AAExB;;;;;;;;GAQG;AAEH,MAAM,MAAM,YAAY,GAAG;IACzB;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,EAAE,EAAE,MAAM,CAAA;IACV,oEAAoE;IACpE,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,4EAA4E;IAC5E,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE;QACL,KAAK,EAAE,UAAU,CAAA;QACjB,GAAG,EAAE,MAAM,CAAA;QACX,eAAe,CAAC,EAAE,cAAc,CAAA;QAChC,eAAe,CAAC,EAAE,EAAE,CAAA;QACpB,eAAe,CAAC,EAAE,MAAM,CAAA;KACzB,CAAA;IACD,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,CAAA;QACV,kBAAkB,CAAC,EAAE,MAAM,CAAA;QAC3B,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,YAAY,CAAC,EAAE,SAAS,CAAA;QACxB,QAAQ,CAAC,EAAE,IAAI,CAAA;KAChB,CAAA;IACD,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAA;IACpB,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,IAAI,CAAA;KAAE,CAAA;IACpC,qFAAqF;IACrF,KAAK,EAAE,UAAU,CAAA;CAClB,CAAA;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,GAAG,KAAK,CAAC,GACrC,MAAM,GAAG,SAAS,CASpB;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,YAAY,GAAG,eAAe,CA+C7E"}
@@ -1 +1 @@
1
- {"version":3,"file":"field-core.js","sourceRoot":"","sources":["../../../../src/components/frame/field/field-core.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAE7E,yEAAyE;AACzE,yCAAyC;AACzC,OAAO,EAAE,aAAa,EAAE,CAAA;AA6ExB;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAC7B,GAAsC;IAEtC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAA;IAChC,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,EAAE;YAAE,SAAQ;QACjB,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,IAAI,IAAI;gBAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAC5D,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAqB;IAC1D,MAAM,EACJ,EAAE,EAAE,OAAO,EACX,IAAI,GAAG,KAAK,EACZ,KAAK,GAAG,KAAK,EACb,QAAQ,EACR,QAAQ,EACR,OAAO,GAAG,KAAK,EACf,QAAQ,GAAG,KAAK,EAChB,WAAW,GAAG,EAAE,GACjB,GAAG,OAAO,CAAA;IAEX,6EAA6E;IAC7E,MAAM,EAAE,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,GAAG,EAAE,OAAO,CAAA;IAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,GAAG,EAAE,QAAQ,CAAA;IAEhD,OAAO;QACL,KAAK,EAAE,UAAU,CAAC;YAChB,KAAK,EAAE,UAAmB;YAC1B,GAAG,EAAE,EAAE;YACP,eAAe,EAAE,QAAQ;YACzB,eAAe,EAAE,QAAQ,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAE,EAAY,CAAC,CAAC,CAAC,SAAS;YAClE,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAE,MAAgB,CAAC,CAAC,CAAC,SAAS;SAC1D,CAAC;QACF,OAAO,EAAE,UAAU,CAAC;YAClB,EAAE;YACF,kBAAkB,EAAE,eAAe,CAAC;gBAClC,IAAI,IAAI,MAAM;gBACd,OAAO,IAAI,KAAK,IAAI,OAAO;gBAC3B,GAAG,WAAW;aACf,CAAC;YACF,cAAc,EAAE,OAAO,CAAC,CAAC,CAAE,MAAgB,CAAC,CAAC,CAAC,SAAS;YACvD,oEAAoE;YACpE,qEAAqE;YACrE,iEAAiE;YACjE,kBAAkB;YAClB,YAAY,EAAE,OAAO,CAAC,CAAC,CAAE,SAAmB,CAAC,CAAC,CAAC,SAAS;YACxD,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAE,IAAc,CAAC,CAAC,CAAC,SAAS;SACjD,CAAC;QACF,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;QAChC,KAAK,EAAE,UAAU,CAAC;YAChB,EAAE,EAAE,OAAO;YACX,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,IAAc;SAC9C,CAAC;QACF,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;KACvC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"field-core.js","sourceRoot":"","sources":["../../../../src/components/frame/field/field-core.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAE7E,yEAAyE;AACzE,yCAAyC;AACzC,OAAO,EAAE,aAAa,EAAE,CAAA;AA+ExB;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAC7B,GAAsC;IAEtC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAA;IAChC,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,EAAE;YAAE,SAAQ;QACjB,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,IAAI,IAAI;gBAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAC5D,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAqB;IAC1D,MAAM,EACJ,EAAE,EAAE,OAAO,EACX,IAAI,GAAG,KAAK,EACZ,KAAK,GAAG,KAAK,EACb,QAAQ,EACR,QAAQ,EACR,OAAO,GAAG,KAAK,EACf,QAAQ,GAAG,KAAK,EAChB,WAAW,GAAG,EAAE,GACjB,GAAG,OAAO,CAAA;IAEX,6EAA6E;IAC7E,MAAM,EAAE,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,GAAG,EAAE,OAAO,CAAA;IAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,GAAG,EAAE,QAAQ,CAAA;IAEhD,OAAO;QACL,KAAK,EAAE,UAAU,CAAC;YAChB,KAAK,EAAE,UAAmB;YAC1B,GAAG,EAAE,EAAE;YACP,eAAe,EAAE,QAAQ;YACzB,eAAe,EAAE,QAAQ,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAE,EAAY,CAAC,CAAC,CAAC,SAAS;YAClE,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAE,MAAgB,CAAC,CAAC,CAAC,SAAS;SAC1D,CAAC;QACF,OAAO,EAAE,UAAU,CAAC;YAClB,EAAE;YACF,kBAAkB,EAAE,eAAe,CAAC;gBAClC,IAAI,IAAI,MAAM;gBACd,OAAO,IAAI,KAAK,IAAI,OAAO;gBAC3B,GAAG,WAAW;aACf,CAAC;YACF,cAAc,EAAE,OAAO,CAAC,CAAC,CAAE,MAAgB,CAAC,CAAC,CAAC,SAAS;YACvD,oEAAoE;YACpE,qEAAqE;YACrE,iEAAiE;YACjE,kBAAkB;YAClB,YAAY,EAAE,OAAO,CAAC,CAAC,CAAE,SAAmB,CAAC,CAAC,CAAC,SAAS;YACxD,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAE,IAAc,CAAC,CAAC,CAAC,SAAS;SACjD,CAAC;QACF,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;QAChC,KAAK,EAAE,UAAU,CAAC;YAChB,EAAE,EAAE,OAAO;YACX,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,IAAc;SAC9C,CAAC;QACF,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;KACvC,CAAA;AACH,CAAC"}
@@ -15,10 +15,11 @@ export declare const LT_FIELD_PARTS: {
15
15
  /**
16
16
  * Connects label, control, help text and error text in plain DOM.
17
17
  *
18
- * The component is for markup produced without JavaScript: a Go template, a
19
- * PHP file, a Razor view or handwritten HTML. When the markup is written with
20
- * JavaScript, wherever the code runs, `lt.field()` should write the
21
- * attributes instead, and this element is not needed.
18
+ * The component is for markup from code that cannot call a builder function:
19
+ * a Go template, a PHP file, a Razor view or handwritten HTML. When the code
20
+ * can, in TypeScript wherever it runs, or in Kotlin or Java, `lt.field()` or
21
+ * `Lt.field()` should write the attributes instead, and this element is not
22
+ * needed.
22
23
  *
23
24
  * The component renders nothing. It used to insert a `<slot>` element into
24
25
  * plain DOM, and since the server did not know about it, Datastar's morph
@@ -1 +1 @@
1
- {"version":3,"file":"lt-field.d.ts","sourceRoot":"","sources":["../../../../src/components/frame/field/lt-field.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,WAAW,EASZ,MAAM,uBAAuB,CAAA;AAG9B,eAAO,MAAM,YAAY,EAAG,UAAmB,CAAA;AAE/C;;;;;GAKG;AACH,eAAO,MAAM,cAAc;;;;;CAKjB,CAAA;AA6FV;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,OAAQ,SAAQ,WAAW;IACtC,MAAM,CAAC,kBAAkB,oDAAoD;IAE7E,OAAO,CAAC,QAAQ,CAAC,CAAkB;IACnC;;;;;;OAMG;IACH,OAAO,CAAC,UAAU,CAAC,CAAQ;IAC3B,OAAO,CAAC,WAAW,CAAC,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C;;;;;;;;;;OAUG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;IAC/D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;IAClE,yDAAyD;IACzD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiC;IACzD;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAClD;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,WAAW,CAAC,CAAa;IACjC,oEAAoE;IACpE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IAEnD;;;;;OAKG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAE1B;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAE1B;IAED,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,IAAI,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAExC;IAED,iBAAiB,IAAI,IAAI;IAyCzB,oBAAoB,IAAI,IAAI;IAK5B,wBAAwB,IAAI,IAAI;IAIhC;;;;;;;;OAQG;IACH;;;OAGG;IACH,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,YAAY;IAYpB;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,UAAU;IA2BlB;;;;;;;;OAQG;IACH,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,OAAO;IAIf;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,wBAAwB;IAyBhC;;;;;;OAMG;IACH,OAAO,CAAC,OAAO;IAqBf,OAAO,CAAC,IAAI;CAsUb;AAED,wBAAgB,aAAa,CAAC,OAAO,GAAE,MAAqB,GAAG,IAAI,CAElE"}
1
+ {"version":3,"file":"lt-field.d.ts","sourceRoot":"","sources":["../../../../src/components/frame/field/lt-field.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,WAAW,EASZ,MAAM,uBAAuB,CAAA;AAG9B,eAAO,MAAM,YAAY,EAAG,UAAmB,CAAA;AAE/C;;;;;GAKG;AACH,eAAO,MAAM,cAAc;;;;;CAKjB,CAAA;AA6FV;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,OAAQ,SAAQ,WAAW;IACtC,MAAM,CAAC,kBAAkB,oDAAoD;IAE7E,OAAO,CAAC,QAAQ,CAAC,CAAkB;IACnC;;;;;;OAMG;IACH,OAAO,CAAC,UAAU,CAAC,CAAQ;IAC3B,OAAO,CAAC,WAAW,CAAC,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C;;;;;;;;;;OAUG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;IAC/D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;IAClE,yDAAyD;IACzD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiC;IACzD;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAClD;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,WAAW,CAAC,CAAa;IACjC,oEAAoE;IACpE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IAEnD;;;;;OAKG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAE1B;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAE1B;IAED,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,IAAI,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAExC;IAED,iBAAiB,IAAI,IAAI;IAyCzB,oBAAoB,IAAI,IAAI;IAK5B,wBAAwB,IAAI,IAAI;IAIhC;;;;;;;;OAQG;IACH;;;OAGG;IACH,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,YAAY;IAYpB;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,UAAU;IA2BlB;;;;;;;;OAQG;IACH,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,OAAO;IAIf;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,wBAAwB;IAyBhC;;;;;;OAMG;IACH,OAAO,CAAC,OAAO;IAqBf,OAAO,CAAC,IAAI;CAsUb;AAED,wBAAgB,aAAa,CAAC,OAAO,GAAE,MAAqB,GAAG,IAAI,CAElE"}
@@ -59,10 +59,11 @@ function readControlWord(control) {
59
59
  /**
60
60
  * Connects label, control, help text and error text in plain DOM.
61
61
  *
62
- * The component is for markup produced without JavaScript: a Go template, a
63
- * PHP file, a Razor view or handwritten HTML. When the markup is written with
64
- * JavaScript, wherever the code runs, `lt.field()` should write the
65
- * attributes instead, and this element is not needed.
62
+ * The component is for markup from code that cannot call a builder function:
63
+ * a Go template, a PHP file, a Razor view or handwritten HTML. When the code
64
+ * can, in TypeScript wherever it runs, or in Kotlin or Java, `lt.field()` or
65
+ * `Lt.field()` should write the attributes instead, and this element is not
66
+ * needed.
66
67
  *
67
68
  * The component renders nothing. It used to insert a `<slot>` element into
68
69
  * plain DOM, and since the server did not know about it, Datastar's morph