@aquera/nile-elements 2.0.9 → 2.0.11

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 (142) hide show
  1. package/README.md +11 -0
  2. package/demo/app-shell.html +852 -0
  3. package/demo/nxtgen-classes.css +5 -5
  4. package/demo/nxtgen-dark.css +25 -25
  5. package/demo/nxtgen-properties.css +2 -2
  6. package/demo/nxtgen-utilities.css +5 -5
  7. package/demo/nxtgen.css +5 -5
  8. package/demo/utilities.css +2 -2
  9. package/demo/variables.css +2 -2
  10. package/dist/index.cjs.js +1 -1
  11. package/dist/index.esm.js +1 -1
  12. package/dist/index.js +594 -308
  13. package/dist/internal/app-shell-utility-control-styles.cjs.js +2 -0
  14. package/dist/internal/app-shell-utility-control-styles.cjs.js.map +1 -0
  15. package/dist/internal/app-shell-utility-control-styles.esm.js +16 -0
  16. package/dist/nile-app-shell/index.cjs.js +1 -1
  17. package/dist/nile-app-shell/index.esm.js +1 -1
  18. package/dist/nile-app-shell/nile-app-shell.cjs.js +1 -1
  19. package/dist/nile-app-shell/nile-app-shell.cjs.js.map +1 -1
  20. package/dist/nile-app-shell/nile-app-shell.css.cjs.js +1 -1
  21. package/dist/nile-app-shell/nile-app-shell.css.cjs.js.map +1 -1
  22. package/dist/nile-app-shell/nile-app-shell.css.esm.js +270 -92
  23. package/dist/nile-app-shell/nile-app-shell.esm.js +61 -10
  24. package/dist/nile-app-shell/shell-controller.cjs.js.map +1 -1
  25. package/dist/nile-app-shell-main/nile-app-shell-main.cjs.js.map +1 -1
  26. package/dist/nile-app-shell-nav-toggle/index.cjs.js +1 -1
  27. package/dist/nile-app-shell-nav-toggle/index.esm.js +1 -1
  28. package/dist/nile-app-shell-nav-toggle/nile-app-shell-nav-toggle.cjs.js +1 -1
  29. package/dist/nile-app-shell-nav-toggle/nile-app-shell-nav-toggle.cjs.js.map +1 -1
  30. package/dist/nile-app-shell-nav-toggle/nile-app-shell-nav-toggle.css.cjs.js +1 -1
  31. package/dist/nile-app-shell-nav-toggle/nile-app-shell-nav-toggle.css.cjs.js.map +1 -1
  32. package/dist/nile-app-shell-nav-toggle/nile-app-shell-nav-toggle.css.esm.js +7 -3
  33. package/dist/nile-app-shell-nav-toggle/nile-app-shell-nav-toggle.esm.js +3 -3
  34. package/dist/nile-app-shell-panel/index.cjs.js +1 -1
  35. package/dist/nile-app-shell-panel/index.esm.js +1 -1
  36. package/dist/nile-app-shell-panel/nile-app-shell-panel.cjs.js +1 -1
  37. package/dist/nile-app-shell-panel/nile-app-shell-panel.cjs.js.map +1 -1
  38. package/dist/nile-app-shell-panel/nile-app-shell-panel.css.cjs.js +1 -1
  39. package/dist/nile-app-shell-panel/nile-app-shell-panel.css.cjs.js.map +1 -1
  40. package/dist/nile-app-shell-panel/nile-app-shell-panel.css.esm.js +29 -7
  41. package/dist/nile-app-shell-panel/nile-app-shell-panel.esm.js +18 -5
  42. package/dist/nile-app-shell-side-nav/nile-app-shell-side-nav.cjs.js.map +1 -1
  43. package/dist/nile-app-shell-side-nav/nile-app-shell-side-nav.css.cjs.js.map +1 -1
  44. package/dist/nile-badge/nile-badge.css.cjs.js +1 -1
  45. package/dist/nile-badge/nile-badge.css.cjs.js.map +1 -1
  46. package/dist/nile-badge/nile-badge.css.esm.js +2 -2
  47. package/dist/nile-button-toggle/nile-button-toggle.css.cjs.js +1 -1
  48. package/dist/nile-button-toggle/nile-button-toggle.css.cjs.js.map +1 -1
  49. package/dist/nile-button-toggle/nile-button-toggle.css.esm.js +2 -2
  50. package/dist/nile-code-editor/nile-code-editor.cjs.js +1 -1
  51. package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
  52. package/dist/nile-code-editor/nile-code-editor.esm.js +1 -1
  53. package/dist/nile-menu-item/nile-menu-item.css.cjs.js +1 -1
  54. package/dist/nile-menu-item/nile-menu-item.css.cjs.js.map +1 -1
  55. package/dist/nile-menu-item/nile-menu-item.css.esm.js +1 -1
  56. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js +1 -1
  57. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js.map +1 -1
  58. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.esm.js +5 -2
  59. package/dist/nile-toast/nile-toast.css.cjs.js +1 -1
  60. package/dist/nile-toast/nile-toast.css.cjs.js.map +1 -1
  61. package/dist/nile-toast/nile-toast.css.esm.js +5 -5
  62. package/dist/src/internal/app-shell-utility-control-styles.d.ts +12 -0
  63. package/dist/src/internal/app-shell-utility-control-styles.js +29 -0
  64. package/dist/src/internal/app-shell-utility-control-styles.js.map +1 -0
  65. package/dist/src/nile-app-shell/nile-app-shell-regions.test.d.ts +3 -0
  66. package/dist/src/nile-app-shell/nile-app-shell-regions.test.js +206 -0
  67. package/dist/src/nile-app-shell/nile-app-shell-regions.test.js.map +1 -1
  68. package/dist/src/nile-app-shell/nile-app-shell.css.d.ts +1 -9
  69. package/dist/src/nile-app-shell/nile-app-shell.css.js +270 -99
  70. package/dist/src/nile-app-shell/nile-app-shell.css.js.map +1 -1
  71. package/dist/src/nile-app-shell/nile-app-shell.d.ts +90 -122
  72. package/dist/src/nile-app-shell/nile-app-shell.js +224 -143
  73. package/dist/src/nile-app-shell/nile-app-shell.js.map +1 -1
  74. package/dist/src/nile-app-shell/nile-app-shell.test.d.ts +3 -0
  75. package/dist/src/nile-app-shell/nile-app-shell.test.js +898 -29
  76. package/dist/src/nile-app-shell/nile-app-shell.test.js.map +1 -1
  77. package/dist/src/nile-app-shell/shell-controller.d.ts +1 -8
  78. package/dist/src/nile-app-shell/shell-controller.js +2 -14
  79. package/dist/src/nile-app-shell/shell-controller.js.map +1 -1
  80. package/dist/src/nile-app-shell-main/nile-app-shell-main.d.ts +2 -6
  81. package/dist/src/nile-app-shell-main/nile-app-shell-main.js +2 -6
  82. package/dist/src/nile-app-shell-main/nile-app-shell-main.js.map +1 -1
  83. package/dist/src/nile-app-shell-nav-toggle/nile-app-shell-nav-toggle.css.d.ts +1 -4
  84. package/dist/src/nile-app-shell-nav-toggle/nile-app-shell-nav-toggle.css.js +7 -5
  85. package/dist/src/nile-app-shell-nav-toggle/nile-app-shell-nav-toggle.css.js.map +1 -1
  86. package/dist/src/nile-app-shell-nav-toggle/nile-app-shell-nav-toggle.d.ts +4 -8
  87. package/dist/src/nile-app-shell-nav-toggle/nile-app-shell-nav-toggle.js +5 -6
  88. package/dist/src/nile-app-shell-nav-toggle/nile-app-shell-nav-toggle.js.map +1 -1
  89. package/dist/src/nile-app-shell-panel/nile-app-shell-panel.css.js +28 -5
  90. package/dist/src/nile-app-shell-panel/nile-app-shell-panel.css.js.map +1 -1
  91. package/dist/src/nile-app-shell-panel/nile-app-shell-panel.d.ts +18 -13
  92. package/dist/src/nile-app-shell-panel/nile-app-shell-panel.js +45 -16
  93. package/dist/src/nile-app-shell-panel/nile-app-shell-panel.js.map +1 -1
  94. package/dist/src/nile-app-shell-side-nav/nile-app-shell-side-nav.css.d.ts +1 -4
  95. package/dist/src/nile-app-shell-side-nav/nile-app-shell-side-nav.css.js +1 -4
  96. package/dist/src/nile-app-shell-side-nav/nile-app-shell-side-nav.css.js.map +1 -1
  97. package/dist/src/nile-app-shell-side-nav/nile-app-shell-side-nav.d.ts +4 -12
  98. package/dist/src/nile-app-shell-side-nav/nile-app-shell-side-nav.js +4 -12
  99. package/dist/src/nile-app-shell-side-nav/nile-app-shell-side-nav.js.map +1 -1
  100. package/dist/src/nile-badge/nile-badge.css.js +2 -2
  101. package/dist/src/nile-badge/nile-badge.css.js.map +1 -1
  102. package/dist/src/nile-button-toggle/nile-button-toggle.css.js +2 -2
  103. package/dist/src/nile-button-toggle/nile-button-toggle.css.js.map +1 -1
  104. package/dist/src/nile-code-editor/nile-code-editor.d.ts +1 -1
  105. package/dist/src/nile-code-editor/nile-code-editor.js +2 -2
  106. package/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
  107. package/dist/src/nile-menu-item/nile-menu-item.css.js +1 -1
  108. package/dist/src/nile-menu-item/nile-menu-item.css.js.map +1 -1
  109. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js +5 -2
  110. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js.map +1 -1
  111. package/dist/src/nile-toast/nile-toast.css.js +5 -5
  112. package/dist/src/nile-toast/nile-toast.css.js.map +1 -1
  113. package/dist/src/version.js +1 -1
  114. package/dist/src/version.js.map +1 -1
  115. package/dist/tsconfig.tsbuildinfo +1 -1
  116. package/dist/version.cjs.js +1 -1
  117. package/dist/version.cjs.js.map +1 -1
  118. package/dist/version.esm.js +1 -1
  119. package/package.json +1 -1
  120. package/plop-templates/lit/lit.test.ts.hbs +22 -0
  121. package/plop-templates/lit/lit.ts.hbs +10 -5
  122. package/plopfile.js +12 -0
  123. package/src/internal/app-shell-utility-control-styles.ts +30 -0
  124. package/src/nile-app-shell/nile-app-shell-regions.test.ts +248 -0
  125. package/src/nile-app-shell/nile-app-shell.css.ts +270 -99
  126. package/src/nile-app-shell/nile-app-shell.test.ts +1120 -29
  127. package/src/nile-app-shell/nile-app-shell.ts +241 -148
  128. package/src/nile-app-shell/shell-controller.ts +2 -14
  129. package/src/nile-app-shell-main/nile-app-shell-main.ts +2 -6
  130. package/src/nile-app-shell-nav-toggle/nile-app-shell-nav-toggle.css.ts +7 -5
  131. package/src/nile-app-shell-nav-toggle/nile-app-shell-nav-toggle.ts +7 -11
  132. package/src/nile-app-shell-panel/nile-app-shell-panel.css.ts +28 -5
  133. package/src/nile-app-shell-panel/nile-app-shell-panel.ts +44 -16
  134. package/src/nile-app-shell-side-nav/nile-app-shell-side-nav.css.ts +1 -4
  135. package/src/nile-app-shell-side-nav/nile-app-shell-side-nav.ts +4 -12
  136. package/src/nile-badge/nile-badge.css.ts +2 -2
  137. package/src/nile-button-toggle/nile-button-toggle.css.ts +2 -2
  138. package/src/nile-code-editor/nile-code-editor.ts +2 -2
  139. package/src/nile-menu-item/nile-menu-item.css.ts +1 -1
  140. package/src/nile-rich-text-editor/nile-rich-text-editor.css.ts +5 -2
  141. package/src/nile-toast/nile-toast.css.ts +5 -5
  142. package/vscode-html-custom-data.json +114 -37
@@ -73,7 +73,7 @@
73
73
  },
74
74
  {
75
75
  "name": "nile-app-shell-nav-toggle",
76
- "description": "Attributes:\n\n * `with-rule` {`boolean`} - Draws the vertical rule the shell's own bar puts after the toggle.\n\n * `shell` {`string | undefined`} - The shell to drive. Defaults to the nearest `nile-app-shell` ancestor, or\nthe element with this id.\n\nProperties:\n\n * `withRule` {`boolean`} - Draws the vertical rule the shell's own bar puts after the toggle.\n\n * `shell` {`string | undefined`} - The shell to drive. Defaults to the nearest `nile-app-shell` ancestor, or\nthe element with this id.\n\n * `_rail` {`boolean`} - \n\n * `_locked` {`boolean`} - \n\n * `_observed` - \n\n * `appShell` - The shell this toggle drives, if it found one.\n\n * `_onShellToggle` - \n\n * `_onClick` - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
76
+ "description": "Attributes:\n\n * `with-rule` {`boolean`} - Draws the vertical rule the shell's own bar puts after the toggle.\n\n * `shell` {`string | undefined`} - The shell to drive. Defaults to the nearest `nile-app-shell` ancestor, or the element with this id.\n\nProperties:\n\n * `withRule` {`boolean`} - Draws the vertical rule the shell's own bar puts after the toggle.\n\n * `shell` {`string | undefined`} - The shell to drive. Defaults to the nearest `nile-app-shell` ancestor, or the element with this id.\n\n * `_rail` {`boolean`} - \n\n * `_locked` {`boolean`} - \n\n * `_observed` - \n\n * `appShell` - The shell this toggle drives, if it found one.\n\n * `_onShellToggle` - \n\n * `_onClick` - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
77
77
  "attributes": [
78
78
  {
79
79
  "name": "with-rule",
@@ -82,14 +82,14 @@
82
82
  },
83
83
  {
84
84
  "name": "shell",
85
- "description": "`shell` {`string | undefined`} - The shell to drive. Defaults to the nearest `nile-app-shell` ancestor, or\nthe element with this id.\n\nProperty: shell",
85
+ "description": "`shell` {`string | undefined`} - The shell to drive. Defaults to the nearest `nile-app-shell` ancestor, or the element with this id.\n\nProperty: shell",
86
86
  "values": []
87
87
  }
88
88
  ]
89
89
  },
90
90
  {
91
91
  "name": "nile-app-shell-panel",
92
- "description": "Events:\n\n * `nile-close` {} - Emitted when the close button is pressed, after the shell\nhas been told to close. Cancelable is not honoured; listen to it to react,\nand use `no-close` to own the control yourself.\n\nSlots:\n\n * ` ` {} - The panel body. Scrolls.\n\n * `header` {} - Replaces the default heading (mark plus label).\n\n * `actions` {} - Controls added before the close button.\n\n * `footer` {} - A composer, docked below the scroll region.\n\nAttributes:\n\n * `label` {`string`} - The heading, and the accessible name of the region.\n\n * `no-header` {`boolean`} - Drops the header bar entirely.\n\n * `no-close` {`boolean`} - Drops the close button — for a panel the page closes its own way.\n\n * `no-padding` {`boolean`} - Removes the body's padding, for a full-bleed transcript.\n\n * `shell` {`string | undefined`} - Id of the shell to follow. Defaults to the nearest ancestor.\n\n * `mode` {`NileAppShellPanelMode`} - Mirrors the shell's panel mode. Set by the shell; treat it as read-only and\nstyle against it (`nile-app-shell-panel[mode='overlay']`).\n\nProperties:\n\n * `shellLink` - \n\n * `label` {`string`} - The heading, and the accessible name of the region.\n\n * `noHeader` {`boolean`} - Drops the header bar entirely.\n\n * `noClose` {`boolean`} - Drops the close button — for a panel the page closes its own way.\n\n * `noPadding` {`boolean`} - Removes the body's padding, for a full-bleed transcript.\n\n * `shell` {`string | undefined`} - Id of the shell to follow. Defaults to the nearest ancestor.\n\n * `mode` {`NileAppShellPanelMode`} - Mirrors the shell's panel mode. Set by the shell; treat it as read-only and\nstyle against it (`nile-app-shell-panel[mode='overlay']`).\n\n * `_hasFooter` {`boolean`} - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
92
+ "description": "Events:\n\n * `nile-close` {} - Emitted when the close button is pressed, after the shell has been told to close.\n\n * `nile-back` {} - Emitted when the back control is pressed; the page swaps its own content back.\n\n * `nile-panel-back` {} - Emitted right after `nile-back` for the same press, matching the shell's built-in panel chrome, so a page listening on the shell keeps working when it slots this component. Listen for one of the two, not both, or one press is handled twice.\n\nSlots:\n\n * ` ` {} - The panel body. Scrolls.\n\n * `header` {} - Replaces the default heading (mark plus label); the back control renders before it.\n\n * `actions` {} - Controls added before the close button; size and clear their `base` part from page CSS to match the header's bare glyphs.\n\n * `footer` {} - A composer, docked below the scroll region.\n\nAttributes:\n\n * `label` {`string`} - The heading, and the accessible name of the region.\n\n * `no-header` {`boolean`} - Drops the header bar entirely.\n\n * `back` {`boolean`} - Shows a back control at the start of the header for a sub-view; the panel keeps no view stack and only emits `nile-back`.\n\n * `backLabel` {`string`} - Accessible name of the back control.\n\n * `no-close` {`boolean`} - Drops the close button — for a panel the page closes its own way.\n\n * `no-padding` {`boolean`} - Removes the body's padding, for a full-bleed transcript.\n\n * `shell` {`string | undefined`} - Id of the shell to follow. Defaults to the nearest ancestor.\n\n * `mode` {`NileAppShellPanelMode`} - Mirrors the shell's panel mode. Set by the shell; treat it as read-only and style against it (`nile-app-shell-panel[mode='overlay']`).\n\nProperties:\n\n * `shellLink` - \n\n * `label` {`string`} - The heading, and the accessible name of the region.\n\n * `noHeader` {`boolean`} - Drops the header bar entirely.\n\n * `back` {`boolean`} - Shows a back control at the start of the header for a sub-view; the panel keeps no view stack and only emits `nile-back`.\n\n * `backLabel` {`string`} - Accessible name of the back control.\n\n * `noClose` {`boolean`} - Drops the close button — for a panel the page closes its own way.\n\n * `noPadding` {`boolean`} - Removes the body's padding, for a full-bleed transcript.\n\n * `shell` {`string | undefined`} - Id of the shell to follow. Defaults to the nearest ancestor.\n\n * `mode` {`NileAppShellPanelMode`} - Mirrors the shell's panel mode. Set by the shell; treat it as read-only and style against it (`nile-app-shell-panel[mode='overlay']`).\n\n * `_hasFooter` {`boolean`} - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
93
93
  "attributes": [
94
94
  {
95
95
  "name": "label",
@@ -100,6 +100,15 @@
100
100
  "description": "`no-header` {`boolean`} - Drops the header bar entirely.\n\nProperty: noHeader\n\nDefault: false",
101
101
  "valueSet": "v"
102
102
  },
103
+ {
104
+ "name": "back",
105
+ "description": "`back` {`boolean`} - Shows a back control at the start of the header for a sub-view; the panel keeps no view stack and only emits `nile-back`.\n\nProperty: back\n\nDefault: false",
106
+ "valueSet": "v"
107
+ },
108
+ {
109
+ "name": "backLabel",
110
+ "description": "`backLabel` {`string`} - Accessible name of the back control.\n\nProperty: backLabel\n\nDefault: Back"
111
+ },
103
112
  {
104
113
  "name": "no-close",
105
114
  "description": "`no-close` {`boolean`} - Drops the close button — for a panel the page closes its own way.\n\nProperty: noClose\n\nDefault: false",
@@ -117,7 +126,7 @@
117
126
  },
118
127
  {
119
128
  "name": "mode",
120
- "description": "`mode` {`NileAppShellPanelMode`} - Mirrors the shell's panel mode. Set by the shell; treat it as read-only and\nstyle against it (`nile-app-shell-panel[mode='overlay']`).\n\nProperty: mode\n\nDefault: docked",
129
+ "description": "`mode` {`NileAppShellPanelMode`} - Mirrors the shell's panel mode. Set by the shell; treat it as read-only and style against it (`nile-app-shell-panel[mode='overlay']`).\n\nProperty: mode\n\nDefault: docked",
121
130
  "values": [
122
131
  {
123
132
  "name": "docked"
@@ -129,17 +138,25 @@
129
138
  },
130
139
  {
131
140
  "name": "onnile-close",
132
- "description": "`nile-close` {} - Emitted when the close button is pressed, after the shell\nhas been told to close. Cancelable is not honoured; listen to it to react,\nand use `no-close` to own the control yourself."
141
+ "description": "`nile-close` {} - Emitted when the close button is pressed, after the shell has been told to close."
142
+ },
143
+ {
144
+ "name": "onnile-back",
145
+ "description": "`nile-back` {} - Emitted when the back control is pressed; the page swaps its own content back."
146
+ },
147
+ {
148
+ "name": "onnile-panel-back",
149
+ "description": "`nile-panel-back` {} - Emitted right after `nile-back` for the same press, matching the shell's built-in panel chrome, so a page listening on the shell keeps working when it slots this component. Listen for one of the two, not both, or one press is handled twice."
133
150
  }
134
151
  ]
135
152
  },
136
153
  {
137
154
  "name": "nile-app-shell-side-nav",
138
- "description": "Slots:\n\n * ` ` {} - The nav body. Scrolls.\n\n * `header` {} - Pinned above the scroll region — a wordmark or product switcher.\n\n * `footer` {} - Pinned below it — an account row or help link.\n\nAttributes:\n\n * `collapsed` {`boolean`} - Mirrors the shell's effective rail state — the user's preference, or a rail\nforced by the shell's width. Set by the shell; treat it as read-only and\nstyle against it (`nile-app-shell-side-nav[collapsed] .label`).\n\n * `shell` {`string | undefined`} - Id of the shell to follow. Defaults to the nearest ancestor.\n\nProperties:\n\n * `shellLink` - \n\n * `collapsed` {`boolean`} - Mirrors the shell's effective rail state — the user's preference, or a rail\nforced by the shell's width. Set by the shell; treat it as read-only and\nstyle against it (`nile-app-shell-side-nav[collapsed] .label`).\n\n * `shell` {`string | undefined`} - Id of the shell to follow. Defaults to the nearest ancestor.\n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
155
+ "description": "Slots:\n\n * ` ` {} - The nav body. Scrolls.\n\n * `header` {} - Pinned above the scroll region — a wordmark or product switcher.\n\n * `footer` {} - Pinned below it — an account row or help link.\n\nAttributes:\n\n * `collapsed` {`boolean`} - Mirrors the shell's effective rail state. Set by the shell; treat it as read-only and style against it (`nile-app-shell-side-nav[collapsed] .label`).\n\n * `shell` {`string | undefined`} - Id of the shell to follow. Defaults to the nearest ancestor.\n\nProperties:\n\n * `shellLink` - \n\n * `collapsed` {`boolean`} - Mirrors the shell's effective rail state. Set by the shell; treat it as read-only and style against it (`nile-app-shell-side-nav[collapsed] .label`).\n\n * `shell` {`string | undefined`} - Id of the shell to follow. Defaults to the nearest ancestor.\n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
139
156
  "attributes": [
140
157
  {
141
158
  "name": "collapsed",
142
- "description": "`collapsed` {`boolean`} - Mirrors the shell's effective rail state — the user's preference, or a rail\nforced by the shell's width. Set by the shell; treat it as read-only and\nstyle against it (`nile-app-shell-side-nav[collapsed] .label`).\n\nProperty: collapsed\n\nDefault: false",
159
+ "description": "`collapsed` {`boolean`} - Mirrors the shell's effective rail state. Set by the shell; treat it as read-only and style against it (`nile-app-shell-side-nav[collapsed] .label`).\n\nProperty: collapsed\n\nDefault: false",
143
160
  "valueSet": "v"
144
161
  },
145
162
  {
@@ -151,11 +168,11 @@
151
168
  },
152
169
  {
153
170
  "name": "nile-app-shell",
154
- "description": "Events:\n\n * `nile-nav-toggle` {} - Emitted after the nav's collapsed state or its\nforced-rail lock changes. `detail: { collapsed, locked }`.\n\n * `nile-panel-toggle` {} - Emitted after the panel opens or closes.\n`detail: { open, mode }`.\n\n * `nile-panel-mode-change` {} - Emitted when the panel flips between docked\nand overlay. `detail: { mode }`.\n\nSlots:\n\n * ` ` {} - The page body, inside the content container.\n\n * `banner` {} - A full-width strip above every other region.\n\n * `top-bar` {} - The page-title bar. Mounted inside the container by default,\nor spanning the shell when `top-bar-placement=\"shell\"`. The nav toggle is\nrendered before whatever is slotted here.\n\n * `top-bar-actions` {} - Controls pinned to the end of the top bar.\n\n * `tabs` {} - A hoisted second-level tab strip, flush under the top bar and\noutside `<main>`'s scroller, so it never scrolls away. The region carries\nthe strip's height, padding and rule, so slot a `<nile-tab-group>` or the\ntab controls themselves.\n\n * `side-nav` {} - The navigation track. Works best with `<nile-side-bar>`.\n\n * `aside` {} - A secondary column between the content container and the panel.\n\n * `panel` {} - The AI panel's body. When nothing is slotted here the panel is\nunmounted and `openPanel()` is a no-op.\n\n * `panel-header` {} - Replaces the default panel heading (mark plus title).\n\n * `panel-actions` {} - Controls added before the panel's close button.\n\n * `panel-footer` {} - A bar docked below the panel's scroll region, for a\ncomposer.\n\nAttributes:\n\n * `nav-collapsed` {`boolean`} - The user's nav preference. The nav can still render as a rail while this is\nfalse — see `navLocked`.\n\n * `panel-open` {`boolean`} - Whether the AI panel is open.\n\n * `no-panel` {`boolean`} - Unmounts the AI panel for this route even when the `panel` slot is filled.\n`openPanel()` becomes a no-op.\n\n * `panel-label` {`string`} - The default panel heading. Ignored when `panel-header` is slotted.\n\n * `no-nav-toggle` {`boolean`} - Hides the built-in nav toggle. Mount `nile-app-shell-nav-toggle` yourself.\n\n * `no-panel-shortcut` {`boolean`} - Drops the Cmd/Ctrl+J and Escape panel shortcuts.\n\n * `no-skip-link` {`boolean`} - Hides the skip-to-content link.\n\n * `skip-link-label` {`string`} - Label for the skip-to-content link.\n\n * `top-bar-placement` {`NileAppShellTopBarPlacement`} - Where the top bar is mounted: inside the container, or spanning the shell.\n\n * `content-align` {`NileAppShellContentAlign`} - `centered` caps the page body at `--nile-app-shell-centered-width`.\n\n * `content-container` {`boolean`} - Makes the slotted page root a size query container, so page CSS can size\nagainst the content container instead of the viewport. Query it unnamed —\n`@container (min-width: 720px)` — because a container name declared inside\nthe shell's shadow tree is not visible to page CSS. Opt-in, because it\nalso applies layout containment to that element.\n\n * `flat` {`boolean`} - Drops the container's card chrome for a full-bleed page.\n\n * `no-padding` {`boolean`} - Removes the container's inner padding.\n\n * `ask-label` {`string`} - The label on the built-in Ask button.\n\nThe button is the shell's, not the app's: it is the one control that has\nto know whether a panel is mounted for this route and how to open it, and\nslotted content can see neither. Everything else in the bar — the\nbreadcrumb, the page actions, the tab strip — is slotted markup.\n\n * `no-ask` {`boolean`} - Drops the built-in Ask button, for a bar that renders its own.\n\n * `full-height` {`boolean`} - Sizes the shell to the viewport instead of its parent.\n\n * `overlay-breakpoint` {`number`} - Below this shell width the panel overlays the content instead of pushing\nit, and the nav is forced to a rail.\n\nZero — the default — means never: the panel is furniture that squeezes the\npage, at every width. It earns its room from the nav rail first and from\nits own width next (see `--nile-app-shell-panel-min-width`), so it does\nnot have to cover the page to fit. Set a width here to opt back into an\noverlay drawer below it.\n\n * `docked-rail-breakpoint` {`number`} - Below this shell width an open docked panel forces the nav to a rail.\nA floor, not the whole rule: the nav also rails as soon as the expanded\ntrack is what stops the row from fitting. This is the first thing the\npanel takes room from, so it can push rather than cover.\n\n * `persist-key` {`string | undefined`} - Persists the nav preference and the docked panel state under this key.\nOverlay panel state is never persisted — a reload opens closed.\n\nProperties:\n\n * `navCollapsed` {`boolean`} - The user's nav preference. The nav can still render as a rail while this is\nfalse — see `navLocked`.\n\n * `panelOpen` {`boolean`} - Whether the AI panel is open.\n\n * `noPanel` {`boolean`} - Unmounts the AI panel for this route even when the `panel` slot is filled.\n`openPanel()` becomes a no-op.\n\n * `panelLabel` {`string`} - The default panel heading. Ignored when `panel-header` is slotted.\n\n * `noNavToggle` {`boolean`} - Hides the built-in nav toggle. Mount `nile-app-shell-nav-toggle` yourself.\n\n * `noPanelShortcut` {`boolean`} - Drops the Cmd/Ctrl+J and Escape panel shortcuts.\n\n * `noSkipLink` {`boolean`} - Hides the skip-to-content link.\n\n * `skipLinkLabel` {`string`} - Label for the skip-to-content link.\n\n * `topBarPlacement` {`NileAppShellTopBarPlacement`} - Where the top bar is mounted: inside the container, or spanning the shell.\n\n * `contentAlign` {`NileAppShellContentAlign`} - `centered` caps the page body at `--nile-app-shell-centered-width`.\n\n * `contentContainer` {`boolean`} - Makes the slotted page root a size query container, so page CSS can size\nagainst the content container instead of the viewport. Query it unnamed —\n`@container (min-width: 720px)` — because a container name declared inside\nthe shell's shadow tree is not visible to page CSS. Opt-in, because it\nalso applies layout containment to that element.\n\n * `flat` {`boolean`} - Drops the container's card chrome for a full-bleed page.\n\n * `noPadding` {`boolean`} - Removes the container's inner padding.\n\n * `askLabel` {`string`} - The label on the built-in Ask button.\n\nThe button is the shell's, not the app's: it is the one control that has\nto know whether a panel is mounted for this route and how to open it, and\nslotted content can see neither. Everything else in the bar — the\nbreadcrumb, the page actions, the tab strip — is slotted markup.\n\n * `noAsk` {`boolean`} - Drops the built-in Ask button, for a bar that renders its own.\n\n * `fullHeight` {`boolean`} - Sizes the shell to the viewport instead of its parent.\n\n * `overlayBreakpoint` {`number`} - Below this shell width the panel overlays the content instead of pushing\nit, and the nav is forced to a rail.\n\nZero — the default — means never: the panel is furniture that squeezes the\npage, at every width. It earns its room from the nav rail first and from\nits own width next (see `--nile-app-shell-panel-min-width`), so it does\nnot have to cover the page to fit. Set a width here to opt back into an\noverlay drawer below it.\n\n * `dockedRailBreakpoint` {`number`} - Below this shell width an open docked panel forces the nav to a rail.\nA floor, not the whole rule: the nav also rails as soon as the expanded\ntrack is what stops the row from fitting. This is the first thing the\npanel takes room from, so it can push rather than cover.\n\n * `persistKey` {`string | undefined`} - Persists the nav preference and the docked panel state under this key.\nOverlay panel state is never persisted — a reload opens closed.\n\n * `_panelMode` {`NileAppShellPanelMode`} - The panel's current mode. Derived from the shell's width.\n\n * `_navLocked` {`boolean`} - Whether the nav is held at a rail by the shell's width.\n\n * `_hasBanner` {`boolean`} - \n\n * `_hasSideNav` {`boolean`} - \n\n * `_hasTopBar` {`boolean`} - \n\n * `_hasTopBarActions` {`boolean`} - \n\n * `_hasTabs` {`boolean`} - \n\n * `_hasPanel` {`boolean`} - \n\n * `_hasPanelFooter` {`boolean`} - \n\n * `_panelOwnsChrome` {`boolean`} - True when a `nile-app-shell-panel` is slotted. That component owns the\npanel's heading, actions, close button and footer, so the shell renders a\nbare region and keeps only the geometry and the open state — the same\nhand-off as `no-nav-toggle` plus `nile-app-shell-nav-toggle`.\n\n * `_hasAside` {`boolean`} - \n\n * `_main` {`HTMLElement | undefined`} - \n\n * `_width` {`number`} - \n\n * `_resizeObserver` - \n\n * `_restoredPanelOpen` {`boolean | null`} - \n\n * `panelMode` {`NileAppShellPanelMode`} - The panel's current mode: `docked` or `overlay`.\n\n * `navLocked` {`boolean`} - Whether the shell is holding the nav at a rail. The toggle is disabled.\n\n * `panelAvailable` {`boolean`} - Whether a panel is mounted for this route.\n\n * `askVisible` {`boolean`} - Whether the built-in Ask button is rendered.\n\n * `rail` {`boolean`} - Whether the nav renders as a rail right now, preference or lock.\n\n * `_onSideNavToggle` - A slotted sidebar's own expand button is the same toggle.\n\n * `_onKeyDown` - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
171
+ "description": "Events:\n\n * `nile-nav-toggle` {} - Emitted after the nav's collapsed state or forced-rail lock changes. `detail: { collapsed, locked }`.\n\n * `nile-panel-toggle` {} - Emitted after the panel opens or closes. `detail: { open, mode }`.\n\n * `nile-panel-mode-change` {} - Emitted when the panel flips between docked and overlay. `detail: { mode }`.\n\n * `nile-header-back` {} - Emitted when the header's back control is pressed.\n\n * `nile-panel-back` {} - Emitted when the panel's back control is pressed, whether the shell's built-in panel chrome or a slotted `nile-app-shell-panel` draws it.\n\nSlots:\n\n * ` ` {} - The page body, inside the content container.\n\n * `banner` {} - A full-width strip above every other region.\n\n * `top-bar` {} - The page-title bar, mounted inside the container by default or spanning the shell when `top-bar-placement=\"shell\"`.\n\n * `top-bar-actions` {} - Controls pinned to the end of the top bar.\n\n * `tabs` {} - A hoisted second-level tab strip, flush under the top bar and outside `<main>`'s scroller.\n\n * `app-icon` {} - The mark shown when `leading=\"app-icon\"`, clipped to the shell's box.\n\n * `side-nav` {} - The navigation track. Works best with `<nile-side-bar>`.\n\n * `aside` {} - A secondary column between the content container and the panel.\n\n * `panel` {} - The AI panel's body. When empty the panel is unmounted and `openPanel()` is a no-op.\n\n * `panel-header` {} - Replaces the default panel heading (mark plus title).\n\n * `panel-actions` {} - Controls added before the panel's close button.\n\n * `panel-footer` {} - A bar docked below the panel's scroll region, for a composer.\n\nAttributes:\n\n * `nav-collapsed` {`boolean`} - The user's nav preference. The nav can still render as a rail while this is false — see `navLocked`.\n\n * `panel-open` {`boolean`} - Whether the AI panel is open.\n\n * `no-panel` {`boolean`} - Unmounts the AI panel for this route even when the `panel` slot is filled; `openPanel()` becomes a no-op.\n\n * `panel-label` {`string`} - The default panel heading. Ignored when `panel-header` is slotted.\n\n * `pageTitle` {`string | undefined`} - The page title, rendered as the top bar's own heading (`role=\"heading\"`, level from `headingLevel`) before anything slotted into `top-bar`; leave unset and no title block renders.\n\n * `headingLevel` {`number`} - The `aria-level` of the `pageTitle` heading, 1–6, so the title can fit the page's own heading outline; e.g. 2 when the page body or banner already has its h1. Out-of-range values clamp to 1–6 and non-numbers fall back to 1.\n\n * `description` {`string | undefined`} - A second line under the page title; a modifier on `pageTitle` that renders nothing with no title, and takes the bar to 76px.\n\n * `badge` {`string | undefined`} - A pill after the page title; a modifier on `pageTitle` like `description`, so with no title there is no badge.\n\n * `leading` {`NileAppShellLeading`} - What sits before the page title: `back` draws a breadcrumb and emits `nile-header-back`; `app-icon` draws a 20px block for the `app-icon` slot.\n\n * `backLabel` {`string`} - The previous-page label drawn by `leading=\"back\"`.\n\n * `no-nav-toggle` {`boolean`} - Hides the built-in nav toggle. Mount `nile-app-shell-nav-toggle` yourself.\n\n * `no-panel-shortcut` {`boolean`} - Drops the Cmd/Ctrl+J and Escape panel shortcuts.\n\n * `no-skip-link` {`boolean`} - Hides the skip-to-content link.\n\n * `skip-link-label` {`string`} - Label for the skip-to-content link.\n\n * `top-bar-placement` {`NileAppShellTopBarPlacement`} - Where the top bar is mounted: inside the container, or spanning the shell.\n\n * `content-align` {`NileAppShellContentAlign`} - `centered` caps the page body at `--nile-app-shell-centered-width`.\n\n * `content-container` {`boolean`} - Makes the slotted page root a size query container, so page CSS can size against the content container instead of the viewport.\n\n * `flat` {`boolean`} - Drops the container's card chrome for a full-bleed page.\n\n * `no-padding` {`boolean`} - Removes the container's inner padding.\n\n * `ask-label` {`string`} - The label on the built-in Ask button.\n\n * `no-ask` {`boolean`} - Drops the built-in Ask button, for a bar that renders its own.\n\n * `panelBack` {`boolean`} - Shows a back control at the start of the panel header for a panel sub-view; emits `nile-panel-back`.\n\n * `panelBackLabel` {`string`} - Accessible name of the panel's back control.\n\n * `noTabs` {`boolean`} - Hides the tab strip for this route even when the `tabs` slot is filled.\n\n * `full-height` {`boolean`} - Sizes the shell to the viewport instead of its parent.\n\n * `overlay-breakpoint` {`number`} - Below this shell width the panel overlays the content instead of pushing it, and the nav is forced to a rail; zero (default) means never.\n\n * `docked-rail-breakpoint` {`number`} - Below this shell width an open docked panel forces the nav to a rail.\n\n * `persist-key` {`string | undefined`} - Persists the nav preference and docked panel state under this key. Overlay panel state is never persisted.\n\nProperties:\n\n * `navCollapsed` {`boolean`} - The user's nav preference. The nav can still render as a rail while this is false — see `navLocked`.\n\n * `panelOpen` {`boolean`} - Whether the AI panel is open.\n\n * `noPanel` {`boolean`} - Unmounts the AI panel for this route even when the `panel` slot is filled; `openPanel()` becomes a no-op.\n\n * `panelLabel` {`string`} - The default panel heading. Ignored when `panel-header` is slotted.\n\n * `pageTitle` {`string | undefined`} - The page title, rendered as the top bar's own heading (`role=\"heading\"`, level from `headingLevel`) before anything slotted into `top-bar`; leave unset and no title block renders.\n\n * `headingLevel` {`number`} - The `aria-level` of the `pageTitle` heading, 1–6, so the title can fit the page's own heading outline; e.g. 2 when the page body or banner already has its h1. Out-of-range values clamp to 1–6 and non-numbers fall back to 1.\n\n * `description` {`string | undefined`} - A second line under the page title; a modifier on `pageTitle` that renders nothing with no title, and takes the bar to 76px.\n\n * `badge` {`string | undefined`} - A pill after the page title; a modifier on `pageTitle` like `description`, so with no title there is no badge.\n\n * `leading` {`NileAppShellLeading`} - What sits before the page title: `back` draws a breadcrumb and emits `nile-header-back`; `app-icon` draws a 20px block for the `app-icon` slot.\n\n * `backLabel` {`string`} - The previous-page label drawn by `leading=\"back\"`.\n\n * `noNavToggle` {`boolean`} - Hides the built-in nav toggle. Mount `nile-app-shell-nav-toggle` yourself.\n\n * `noPanelShortcut` {`boolean`} - Drops the Cmd/Ctrl+J and Escape panel shortcuts.\n\n * `noSkipLink` {`boolean`} - Hides the skip-to-content link.\n\n * `skipLinkLabel` {`string`} - Label for the skip-to-content link.\n\n * `topBarPlacement` {`NileAppShellTopBarPlacement`} - Where the top bar is mounted: inside the container, or spanning the shell.\n\n * `contentAlign` {`NileAppShellContentAlign`} - `centered` caps the page body at `--nile-app-shell-centered-width`.\n\n * `contentContainer` {`boolean`} - Makes the slotted page root a size query container, so page CSS can size against the content container instead of the viewport.\n\n * `flat` {`boolean`} - Drops the container's card chrome for a full-bleed page.\n\n * `noPadding` {`boolean`} - Removes the container's inner padding.\n\n * `askLabel` {`string`} - The label on the built-in Ask button.\n\n * `noAsk` {`boolean`} - Drops the built-in Ask button, for a bar that renders its own.\n\n * `panelBack` {`boolean`} - Shows a back control at the start of the panel header for a panel sub-view; emits `nile-panel-back`.\n\n * `panelBackLabel` {`string`} - Accessible name of the panel's back control.\n\n * `noTabs` {`boolean`} - Hides the tab strip for this route even when the `tabs` slot is filled.\n\n * `fullHeight` {`boolean`} - Sizes the shell to the viewport instead of its parent.\n\n * `overlayBreakpoint` {`number`} - Below this shell width the panel overlays the content instead of pushing it, and the nav is forced to a rail; zero (default) means never.\n\n * `dockedRailBreakpoint` {`number`} - Below this shell width an open docked panel forces the nav to a rail.\n\n * `persistKey` {`string | undefined`} - Persists the nav preference and docked panel state under this key. Overlay panel state is never persisted.\n\n * `_panelMode` {`NileAppShellPanelMode`} - The panel's current mode. Derived from the shell's width.\n\n * `_navLocked` {`boolean`} - Whether the nav is held at a rail by the shell's width.\n\n * `_hasBanner` {`boolean`} - \n\n * `_hasSideNav` {`boolean`} - \n\n * `_hasTopBar` {`boolean`} - \n\n * `_hasTopBarActions` {`boolean`} - \n\n * `_hasTabs` {`boolean`} - \n\n * `_hasPanel` {`boolean`} - \n\n * `_hasPanelFooter` {`boolean`} - \n\n * `_panelOwnsChrome` {`boolean`} - True when a `nile-app-shell-panel` is slotted, owning the panel's own chrome so the shell renders a bare region.\n\n * `_hasAside` {`boolean`} - \n\n * `_main` {`HTMLElement | undefined`} - \n\n * `_width` {`number`} - \n\n * `_resizeObserver` - \n\n * `_restoredPanelOpen` {`boolean | null`} - \n\n * `panelMode` {`NileAppShellPanelMode`} - The panel's current mode: `docked` or `overlay`.\n\n * `navLocked` {`boolean`} - Whether the shell is holding the nav at a rail. The toggle is disabled.\n\n * `panelAvailable` {`boolean`} - Whether a panel is mounted for this route.\n\n * `tabsVisible` {`boolean`} - Whether the tab strip is rendered: something slotted, and not switched off.\n\n * `askVisible` {`boolean`} - Whether the built-in Ask button is rendered.\n\n * `rail` {`boolean`} - Whether the nav renders as a rail right now, preference or lock.\n\n * `_onSideNavToggle` - A slotted sidebar's own expand button is the same toggle.\n\n * `_onKeyDown` - \n\n * `_hasTitleBlock` {`boolean`} - Whether the header has a title block of its own to draw: only a title or a leading control mounts it.\n\n * `_hasLeading` {`boolean`} - Whether `leading` names a control that renders; an empty or unknown value draws nothing, like `none`.\n\n * `_headingLevel` {`number`} - `headingLevel` as a safe `aria-level`: a whole number clamped to 1–6, and 1 for anything non-numeric.\n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
155
172
  "attributes": [
156
173
  {
157
174
  "name": "nav-collapsed",
158
- "description": "`nav-collapsed` {`boolean`} - The user's nav preference. The nav can still render as a rail while this is\nfalse — see `navLocked`.\n\nProperty: navCollapsed\n\nDefault: false",
175
+ "description": "`nav-collapsed` {`boolean`} - The user's nav preference. The nav can still render as a rail while this is false — see `navLocked`.\n\nProperty: navCollapsed\n\nDefault: false",
159
176
  "valueSet": "v"
160
177
  },
161
178
  {
@@ -165,13 +182,51 @@
165
182
  },
166
183
  {
167
184
  "name": "no-panel",
168
- "description": "`no-panel` {`boolean`} - Unmounts the AI panel for this route even when the `panel` slot is filled.\n`openPanel()` becomes a no-op.\n\nProperty: noPanel\n\nDefault: false",
185
+ "description": "`no-panel` {`boolean`} - Unmounts the AI panel for this route even when the `panel` slot is filled; `openPanel()` becomes a no-op.\n\nProperty: noPanel\n\nDefault: false",
169
186
  "valueSet": "v"
170
187
  },
171
188
  {
172
189
  "name": "panel-label",
173
190
  "description": "`panel-label` {`string`} - The default panel heading. Ignored when `panel-header` is slotted.\n\nProperty: panelLabel\n\nDefault: Ask Aquera"
174
191
  },
192
+ {
193
+ "name": "pageTitle",
194
+ "description": "`pageTitle` {`string | undefined`} - The page title, rendered as the top bar's own heading (`role=\"heading\"`, level from `headingLevel`) before anything slotted into `top-bar`; leave unset and no title block renders.\n\nProperty: pageTitle",
195
+ "values": []
196
+ },
197
+ {
198
+ "name": "headingLevel",
199
+ "description": "`headingLevel` {`number`} - The `aria-level` of the `pageTitle` heading, 1–6, so the title can fit the page's own heading outline; e.g. 2 when the page body or banner already has its h1. Out-of-range values clamp to 1–6 and non-numbers fall back to 1.\n\nProperty: headingLevel\n\nDefault: 1"
200
+ },
201
+ {
202
+ "name": "description",
203
+ "description": "`description` {`string | undefined`} - A second line under the page title; a modifier on `pageTitle` that renders nothing with no title, and takes the bar to 76px.\n\nProperty: description",
204
+ "values": []
205
+ },
206
+ {
207
+ "name": "badge",
208
+ "description": "`badge` {`string | undefined`} - A pill after the page title; a modifier on `pageTitle` like `description`, so with no title there is no badge.\n\nProperty: badge",
209
+ "values": []
210
+ },
211
+ {
212
+ "name": "leading",
213
+ "description": "`leading` {`NileAppShellLeading`} - What sits before the page title: `back` draws a breadcrumb and emits `nile-header-back`; `app-icon` draws a 20px block for the `app-icon` slot.\n\nProperty: leading\n\nDefault: none",
214
+ "values": [
215
+ {
216
+ "name": "none"
217
+ },
218
+ {
219
+ "name": "back"
220
+ },
221
+ {
222
+ "name": "app-icon"
223
+ }
224
+ ]
225
+ },
226
+ {
227
+ "name": "backLabel",
228
+ "description": "`backLabel` {`string`} - The previous-page label drawn by `leading=\"back\"`.\n\nProperty: backLabel\n\nDefault: Back"
229
+ },
175
230
  {
176
231
  "name": "no-nav-toggle",
177
232
  "description": "`no-nav-toggle` {`boolean`} - Hides the built-in nav toggle. Mount `nile-app-shell-nav-toggle` yourself.\n\nProperty: noNavToggle\n\nDefault: false",
@@ -217,7 +272,7 @@
217
272
  },
218
273
  {
219
274
  "name": "content-container",
220
- "description": "`content-container` {`boolean`} - Makes the slotted page root a size query container, so page CSS can size\nagainst the content container instead of the viewport. Query it unnamed —\n`@container (min-width: 720px)` — because a container name declared inside\nthe shell's shadow tree is not visible to page CSS. Opt-in, because it\nalso applies layout containment to that element.\n\nProperty: contentContainer\n\nDefault: false",
275
+ "description": "`content-container` {`boolean`} - Makes the slotted page root a size query container, so page CSS can size against the content container instead of the viewport.\n\nProperty: contentContainer\n\nDefault: false",
221
276
  "valueSet": "v"
222
277
  },
223
278
  {
@@ -232,13 +287,27 @@
232
287
  },
233
288
  {
234
289
  "name": "ask-label",
235
- "description": "`ask-label` {`string`} - The label on the built-in Ask button.\n\nThe button is the shell's, not the app's: it is the one control that has\nto know whether a panel is mounted for this route and how to open it, and\nslotted content can see neither. Everything else in the bar — the\nbreadcrumb, the page actions, the tab strip — is slotted markup.\n\nProperty: askLabel\n\nDefault: Ask"
290
+ "description": "`ask-label` {`string`} - The label on the built-in Ask button.\n\nProperty: askLabel\n\nDefault: Ask"
236
291
  },
237
292
  {
238
293
  "name": "no-ask",
239
294
  "description": "`no-ask` {`boolean`} - Drops the built-in Ask button, for a bar that renders its own.\n\nProperty: noAsk\n\nDefault: false",
240
295
  "valueSet": "v"
241
296
  },
297
+ {
298
+ "name": "panelBack",
299
+ "description": "`panelBack` {`boolean`} - Shows a back control at the start of the panel header for a panel sub-view; emits `nile-panel-back`.\n\nProperty: panelBack\n\nDefault: false",
300
+ "valueSet": "v"
301
+ },
302
+ {
303
+ "name": "panelBackLabel",
304
+ "description": "`panelBackLabel` {`string`} - Accessible name of the panel's back control.\n\nProperty: panelBackLabel\n\nDefault: Back"
305
+ },
306
+ {
307
+ "name": "noTabs",
308
+ "description": "`noTabs` {`boolean`} - Hides the tab strip for this route even when the `tabs` slot is filled.\n\nProperty: noTabs\n\nDefault: false",
309
+ "valueSet": "v"
310
+ },
242
311
  {
243
312
  "name": "full-height",
244
313
  "description": "`full-height` {`boolean`} - Sizes the shell to the viewport instead of its parent.\n\nProperty: fullHeight\n\nDefault: false",
@@ -246,28 +315,36 @@
246
315
  },
247
316
  {
248
317
  "name": "overlay-breakpoint",
249
- "description": "`overlay-breakpoint` {`number`} - Below this shell width the panel overlays the content instead of pushing\nit, and the nav is forced to a rail.\n\nZero — the default — means never: the panel is furniture that squeezes the\npage, at every width. It earns its room from the nav rail first and from\nits own width next (see `--nile-app-shell-panel-min-width`), so it does\nnot have to cover the page to fit. Set a width here to opt back into an\noverlay drawer below it.\n\nProperty: overlayBreakpoint\n\nDefault: 0"
318
+ "description": "`overlay-breakpoint` {`number`} - Below this shell width the panel overlays the content instead of pushing it, and the nav is forced to a rail; zero (default) means never.\n\nProperty: overlayBreakpoint\n\nDefault: 0"
250
319
  },
251
320
  {
252
321
  "name": "docked-rail-breakpoint",
253
- "description": "`docked-rail-breakpoint` {`number`} - Below this shell width an open docked panel forces the nav to a rail.\nA floor, not the whole rule: the nav also rails as soon as the expanded\ntrack is what stops the row from fitting. This is the first thing the\npanel takes room from, so it can push rather than cover.\n\nProperty: dockedRailBreakpoint\n\nDefault: 1440"
322
+ "description": "`docked-rail-breakpoint` {`number`} - Below this shell width an open docked panel forces the nav to a rail.\n\nProperty: dockedRailBreakpoint\n\nDefault: 1440"
254
323
  },
255
324
  {
256
325
  "name": "persist-key",
257
- "description": "`persist-key` {`string | undefined`} - Persists the nav preference and the docked panel state under this key.\nOverlay panel state is never persisted — a reload opens closed.\n\nProperty: persistKey",
326
+ "description": "`persist-key` {`string | undefined`} - Persists the nav preference and docked panel state under this key. Overlay panel state is never persisted.\n\nProperty: persistKey",
258
327
  "values": []
259
328
  },
260
329
  {
261
330
  "name": "onnile-nav-toggle",
262
- "description": "`nile-nav-toggle` {} - Emitted after the nav's collapsed state or its\nforced-rail lock changes. `detail: { collapsed, locked }`."
331
+ "description": "`nile-nav-toggle` {} - Emitted after the nav's collapsed state or forced-rail lock changes. `detail: { collapsed, locked }`."
263
332
  },
264
333
  {
265
334
  "name": "onnile-panel-toggle",
266
- "description": "`nile-panel-toggle` {} - Emitted after the panel opens or closes.\n`detail: { open, mode }`."
335
+ "description": "`nile-panel-toggle` {} - Emitted after the panel opens or closes. `detail: { open, mode }`."
267
336
  },
268
337
  {
269
338
  "name": "onnile-panel-mode-change",
270
- "description": "`nile-panel-mode-change` {} - Emitted when the panel flips between docked\nand overlay. `detail: { mode }`."
339
+ "description": "`nile-panel-mode-change` {} - Emitted when the panel flips between docked and overlay. `detail: { mode }`."
340
+ },
341
+ {
342
+ "name": "onnile-header-back",
343
+ "description": "`nile-header-back` {} - Emitted when the header's back control is pressed."
344
+ },
345
+ {
346
+ "name": "onnile-panel-back",
347
+ "description": "`nile-panel-back` {} - Emitted when the panel's back control is pressed, whether the shell's built-in panel chrome or a slotted `nile-app-shell-panel` draws it."
271
348
  }
272
349
  ]
273
350
  },
@@ -4133,7 +4210,7 @@
4133
4210
  },
4134
4211
  {
4135
4212
  "name": "nile-input",
4136
- "description": "Nile icon component.\n\nAttributes:\n\n * `title` {`string`} - \n\n * `type` {`\"number\" | \"text\" | \"time\" | \"date\" | \"datetime-local\" | \"email\" | \"password\" | \"search\" | \"tel\" | \"url\"`} - The type of input. Works the same as a native `<input>` element, but only a subset of types are supported. Defaults\nto `text`.\n\n * `checkNonPrintableChar` {`boolean`} - \n\n * `size` {`\"small\" | \"medium\" | \"large\"`} - The input's size.\n\n * `filled` {`boolean`} - Draws a filled input.\n\n * `warning` {`boolean`} - Sets the input to a warning state, changing its visual appearance.\n\n * `error` {`boolean`} - Sets the input to an error state, changing its visual appearance.\n\n * `success` {`boolean`} - Sets the input to a success state, changing its visual appearance.\n\n * `destructive` {`boolean`} - Sets the input to a Destructive state, changing its visual appearance.\n\n * `pill` {`boolean`} - Draws a pill-style input with rounded edges.\n\n * `label` {`string`} - The input's label. If you need to display HTML, use the `label` slot instead.\n\n * `help-text` {`string`} - \n\n * `error-message` {`string`} - \n\n * `clearable` {`boolean`} - Adds a clear button when the input is not empty.\n\n * `placeholder` {`string`} - Placeholder text to show as a hint when the input is empty.\n\n * `readonly` {`boolean`} - Makes the input readonly.\n\n * `password-toggle` {`boolean`} - Adds a button to toggle the password's visibility. Only applies to password types.\n\n * `password-visible` {`boolean`} - Determines whether or not the password is currently visible. Only applies to password input types.\n\n * `no-spin-buttons` {`boolean`} - Hides the browser's built-in increment/decrement spin buttons for number inputs.\n\n * `autocapitalize` {`\"none\" | \"off\" | \"on\" | \"sentences\" | \"words\" | \"characters\"`} - Controls whether and how text input is automatically capitalized as it is entered by the user.\n\n * `autocorrect` {`\"off\" | \"on\"`} - Indicates whether the browser's autocorrect feature is on or off.\n\n * `autocomplete` {`string`} - Specifies what permission the browser has to provide assistance in filling out form field values. Refer to\n[this page on MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) for available values.\n\n * `autofocus` {`boolean`} - Indicates that the input should receive focus on page load.\n\n * `enterkeyhint` {`\"search\" | \"enter\" | \"done\" | \"go\" | \"next\" | \"previous\" | \"send\"`} - Used to customize the label or icon of the Enter key on virtual keyboards.\n\n * `spellcheck` {`boolean`} - Enables spell checking on the input.\n\n * `canSavePassword` {`boolean`} - \n\n * `inputmode` {`\"text\" | \"none\" | \"numeric\" | \"email\" | \"search\" | \"tel\" | \"url\" | \"decimal\"`} - Tells the browser what type of data will be entered by the user, allowing it to display the appropriate virtual\nkeyboard on supportive devices.\n\n * `noOutline` - \n\n * `noPadding` - \n\n * `name` {`string`} - The name of the input, submitted as a name/value pair with form data.\n\n * `value` {`string`} - The current value of the input, submitted as a name/value pair with form data.\n\n * `disabled` {`boolean`} - Disables the input.\n\n * `form` {`string`} - By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.\n\n * `pattern` {`string`} - A regular expression pattern to validate input against.\n\n * `min` {`string | number`} - The input's minimum value. Only applies to date and number input types.\n\n * `max` {`string | number`} - The input's maximum value. Only applies to date and number input types.\n\n * `step` {`number | \"any\"`} - Specifies the granularity that the value must adhere to, or the special value `any` which means no stepping is\nimplied, allowing any numeric value. Only applies to date and number input types.\n\n * `required` {`boolean`} - Makes the input a required field.\n\n * `minlength` {`number`} - The minimum length of input that will be considered valid.\n\n * `maxlength` {`number`} - The maximum length of input that will be considered valid.\n\nProperties:\n\n * `styles` - \n\n * `formControlController` - \n\n * `hasSlotController` - \n\n * `input` {`HTMLInputElement`} - \n\n * `hasFocus` {`boolean`} - \n\n * `title` {`string`} - \n\n * `type` {`\"number\" | \"text\" | \"time\" | \"date\" | \"datetime-local\" | \"email\" | \"password\" | \"search\" | \"tel\" | \"url\"`} - The type of input. Works the same as a native `<input>` element, but only a subset of types are supported. Defaults\nto `text`.\n\n * `checkNonPrintableChar` {`boolean`} - \n\n * `size` {`\"small\" | \"medium\" | \"large\"`} - The input's size.\n\n * `filled` {`boolean`} - Draws a filled input.\n\n * `warning` {`boolean`} - Sets the input to a warning state, changing its visual appearance.\n\n * `error` {`boolean`} - Sets the input to an error state, changing its visual appearance.\n\n * `success` {`boolean`} - Sets the input to a success state, changing its visual appearance.\n\n * `destructive` {`boolean`} - Sets the input to a Destructive state, changing its visual appearance.\n\n * `pill` {`boolean`} - Draws a pill-style input with rounded edges.\n\n * `label` {`string`} - The input's label. If you need to display HTML, use the `label` slot instead.\n\n * `helpText` {`string`} - \n\n * `errorMessage` {`string`} - \n\n * `clearable` {`boolean`} - Adds a clear button when the input is not empty.\n\n * `placeholder` {`string`} - Placeholder text to show as a hint when the input is empty.\n\n * `readonly` {`boolean`} - Makes the input readonly.\n\n * `passwordToggle` {`boolean`} - Adds a button to toggle the password's visibility. Only applies to password types.\n\n * `passwordVisible` {`boolean`} - Determines whether or not the password is currently visible. Only applies to password input types.\n\n * `noSpinButtons` {`boolean`} - Hides the browser's built-in increment/decrement spin buttons for number inputs.\n\n * `autocapitalize` {`\"none\" | \"off\" | \"on\" | \"sentences\" | \"words\" | \"characters\"`} - Controls whether and how text input is automatically capitalized as it is entered by the user.\n\n * `autocorrect` {`\"off\" | \"on\"`} - Indicates whether the browser's autocorrect feature is on or off.\n\n * `autocomplete` {`string`} - Specifies what permission the browser has to provide assistance in filling out form field values. Refer to\n[this page on MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) for available values.\n\n * `autofocus` {`boolean`} - Indicates that the input should receive focus on page load.\n\n * `enterkeyhint` {`\"search\" | \"enter\" | \"done\" | \"go\" | \"next\" | \"previous\" | \"send\"`} - Used to customize the label or icon of the Enter key on virtual keyboards.\n\n * `spellcheck` {`boolean`} - Enables spell checking on the input.\n\n * `canSavePassword` {`boolean`} - \n\n * `inputmode` {`\"text\" | \"none\" | \"numeric\" | \"email\" | \"search\" | \"tel\" | \"url\" | \"decimal\"`} - Tells the browser what type of data will be entered by the user, allowing it to display the appropriate virtual\nkeyboard on supportive devices.\n\n * `hasPrintableCharacters` {`boolean`} - \n\n * `markedValue` {`string`} - \n\n * `noOutline` - \n\n * `noPadding` - \n\n * `valueAsDate` {`Date | null`} - Gets or sets the current value as a `Date` object. Returns `null` if the value can't be converted.\n\n * `valueAsNumber` {`number`} - Gets or sets the current value as a number. Returns `NaN` if the value can't be converted.\n\n * `name` {`string`} - The name of the input, submitted as a name/value pair with form data.\n\n * `value` {`string`} - The current value of the input, submitted as a name/value pair with form data.\n\n * `disabled` {`boolean`} - Disables the input.\n\n * `defaultValue` {`string`} - The default value of the form control. Primarily used for resetting the form control.\n\n * `defaultChecked` {`boolean | undefined`} - \n\n * `form` {`string`} - By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.\n\n * `pattern` {`string`} - A regular expression pattern to validate input against.\n\n * `min` {`string | number`} - The input's minimum value. Only applies to date and number input types.\n\n * `max` {`string | number`} - The input's maximum value. Only applies to date and number input types.\n\n * `step` {`number | \"any\"`} - Specifies the granularity that the value must adhere to, or the special value `any` which means no stepping is\nimplied, allowing any numeric value. Only applies to date and number input types.\n\n * `required` {`boolean`} - Makes the input a required field.\n\n * `minlength` {`number`} - The minimum length of input that will be considered valid.\n\n * `maxlength` {`number`} - The maximum length of input that will be considered valid.\n\n * `validity` {`ValidityState`} - Gets the validity state object\n\n * `validationMessage` {`string`} - Gets the validation message\n\n * `checkValidity` - \n\n * `getForm` - \n\n * `reportValidity` - \n\n * `setCustomValidity` - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
4213
+ "description": "Nile icon component.\n\nAttributes:\n\n * `title` {`string`} - \n\n * `type` {`\"number\" | \"text\" | \"time\" | \"date\" | \"datetime-local\" | \"email\" | \"password\" | \"search\" | \"tel\" | \"url\"`} - The type of input. Works the same as a native `<input>` element, but only a subset of types are supported. Defaults\nto `text`.\n\n * `checkNonPrintableChar` {`boolean`} - \n\n * `size` {`\"small\" | \"medium\" | \"large\"`} - The input's size.\n\n * `filled` {`boolean`} - Draws a filled input.\n\n * `warning` {`boolean`} - Sets the input to a warning state, changing its visual appearance.\n\n * `error` {`boolean`} - Sets the input to an error state, changing its visual appearance.\n\n * `success` {`boolean`} - Sets the input to a success state, changing its visual appearance.\n\n * `destructive` {`boolean`} - Sets the input to a Destructive state, changing its visual appearance.\n\n * `pill` {`boolean`} - Draws a pill-style input with rounded edges.\n\n * `label` {`string`} - The input's label. If you need to display HTML, use the `label` slot instead.\n\n * `help-text` {`string`} - \n\n * `error-message` {`string`} - \n\n * `clearable` {`boolean`} - Adds a clear button when the input is not empty.\n\n * `placeholder` {`string`} - Placeholder text to show as a hint when the input is empty.\n\n * `readonly` {`boolean`} - Makes the input readonly.\n\n * `password-toggle` {`boolean`} - Adds a button to toggle the password's visibility. Only applies to password types.\n\n * `password-visible` {`boolean`} - Determines whether or not the password is currently visible. Only applies to password input types.\n\n * `no-spin-buttons` {`boolean`} - Hides the browser's built-in increment/decrement spin buttons for number inputs.\n\n * `autocapitalize` {`\"none\" | \"off\" | \"on\" | \"sentences\" | \"words\" | \"characters\"`} - Controls whether and how text input is automatically capitalized as it is entered by the user.\n\n * `autocorrect` {`\"off\" | \"on\"`} - Indicates whether the browser's autocorrect feature is on or off.\n\n * `autocomplete` {`string`} - Specifies what permission the browser has to provide assistance in filling out form field values. Refer to\n[this page on MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) for available values.\n\n * `autofocus` {`boolean`} - Indicates that the input should receive focus on page load.\n\n * `enterkeyhint` {`\"search\" | \"enter\" | \"done\" | \"go\" | \"next\" | \"previous\" | \"send\"`} - Used to customize the label or icon of the Enter key on virtual keyboards.\n\n * `spellcheck` {`boolean`} - Enables spell checking on the input.\n\n * `canSavePassword` {`boolean`} - \n\n * `inputmode` {`\"none\" | \"text\" | \"numeric\" | \"email\" | \"search\" | \"tel\" | \"url\" | \"decimal\"`} - Tells the browser what type of data will be entered by the user, allowing it to display the appropriate virtual\nkeyboard on supportive devices.\n\n * `noOutline` - \n\n * `noPadding` - \n\n * `name` {`string`} - The name of the input, submitted as a name/value pair with form data.\n\n * `value` {`string`} - The current value of the input, submitted as a name/value pair with form data.\n\n * `disabled` {`boolean`} - Disables the input.\n\n * `form` {`string`} - By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.\n\n * `pattern` {`string`} - A regular expression pattern to validate input against.\n\n * `min` {`string | number`} - The input's minimum value. Only applies to date and number input types.\n\n * `max` {`string | number`} - The input's maximum value. Only applies to date and number input types.\n\n * `step` {`number | \"any\"`} - Specifies the granularity that the value must adhere to, or the special value `any` which means no stepping is\nimplied, allowing any numeric value. Only applies to date and number input types.\n\n * `required` {`boolean`} - Makes the input a required field.\n\n * `minlength` {`number`} - The minimum length of input that will be considered valid.\n\n * `maxlength` {`number`} - The maximum length of input that will be considered valid.\n\nProperties:\n\n * `styles` - \n\n * `formControlController` - \n\n * `hasSlotController` - \n\n * `input` {`HTMLInputElement`} - \n\n * `hasFocus` {`boolean`} - \n\n * `title` {`string`} - \n\n * `type` {`\"number\" | \"text\" | \"time\" | \"date\" | \"datetime-local\" | \"email\" | \"password\" | \"search\" | \"tel\" | \"url\"`} - The type of input. Works the same as a native `<input>` element, but only a subset of types are supported. Defaults\nto `text`.\n\n * `checkNonPrintableChar` {`boolean`} - \n\n * `size` {`\"small\" | \"medium\" | \"large\"`} - The input's size.\n\n * `filled` {`boolean`} - Draws a filled input.\n\n * `warning` {`boolean`} - Sets the input to a warning state, changing its visual appearance.\n\n * `error` {`boolean`} - Sets the input to an error state, changing its visual appearance.\n\n * `success` {`boolean`} - Sets the input to a success state, changing its visual appearance.\n\n * `destructive` {`boolean`} - Sets the input to a Destructive state, changing its visual appearance.\n\n * `pill` {`boolean`} - Draws a pill-style input with rounded edges.\n\n * `label` {`string`} - The input's label. If you need to display HTML, use the `label` slot instead.\n\n * `helpText` {`string`} - \n\n * `errorMessage` {`string`} - \n\n * `clearable` {`boolean`} - Adds a clear button when the input is not empty.\n\n * `placeholder` {`string`} - Placeholder text to show as a hint when the input is empty.\n\n * `readonly` {`boolean`} - Makes the input readonly.\n\n * `passwordToggle` {`boolean`} - Adds a button to toggle the password's visibility. Only applies to password types.\n\n * `passwordVisible` {`boolean`} - Determines whether or not the password is currently visible. Only applies to password input types.\n\n * `noSpinButtons` {`boolean`} - Hides the browser's built-in increment/decrement spin buttons for number inputs.\n\n * `autocapitalize` {`\"none\" | \"off\" | \"on\" | \"sentences\" | \"words\" | \"characters\"`} - Controls whether and how text input is automatically capitalized as it is entered by the user.\n\n * `autocorrect` {`\"off\" | \"on\"`} - Indicates whether the browser's autocorrect feature is on or off.\n\n * `autocomplete` {`string`} - Specifies what permission the browser has to provide assistance in filling out form field values. Refer to\n[this page on MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) for available values.\n\n * `autofocus` {`boolean`} - Indicates that the input should receive focus on page load.\n\n * `enterkeyhint` {`\"search\" | \"enter\" | \"done\" | \"go\" | \"next\" | \"previous\" | \"send\"`} - Used to customize the label or icon of the Enter key on virtual keyboards.\n\n * `spellcheck` {`boolean`} - Enables spell checking on the input.\n\n * `canSavePassword` {`boolean`} - \n\n * `inputmode` {`\"none\" | \"text\" | \"numeric\" | \"email\" | \"search\" | \"tel\" | \"url\" | \"decimal\"`} - Tells the browser what type of data will be entered by the user, allowing it to display the appropriate virtual\nkeyboard on supportive devices.\n\n * `hasPrintableCharacters` {`boolean`} - \n\n * `markedValue` {`string`} - \n\n * `noOutline` - \n\n * `noPadding` - \n\n * `valueAsDate` {`Date | null`} - Gets or sets the current value as a `Date` object. Returns `null` if the value can't be converted.\n\n * `valueAsNumber` {`number`} - Gets or sets the current value as a number. Returns `NaN` if the value can't be converted.\n\n * `name` {`string`} - The name of the input, submitted as a name/value pair with form data.\n\n * `value` {`string`} - The current value of the input, submitted as a name/value pair with form data.\n\n * `disabled` {`boolean`} - Disables the input.\n\n * `defaultValue` {`string`} - The default value of the form control. Primarily used for resetting the form control.\n\n * `defaultChecked` {`boolean | undefined`} - \n\n * `form` {`string`} - By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.\n\n * `pattern` {`string`} - A regular expression pattern to validate input against.\n\n * `min` {`string | number`} - The input's minimum value. Only applies to date and number input types.\n\n * `max` {`string | number`} - The input's maximum value. Only applies to date and number input types.\n\n * `step` {`number | \"any\"`} - Specifies the granularity that the value must adhere to, or the special value `any` which means no stepping is\nimplied, allowing any numeric value. Only applies to date and number input types.\n\n * `required` {`boolean`} - Makes the input a required field.\n\n * `minlength` {`number`} - The minimum length of input that will be considered valid.\n\n * `maxlength` {`number`} - The maximum length of input that will be considered valid.\n\n * `validity` {`ValidityState`} - Gets the validity state object\n\n * `validationMessage` {`string`} - Gets the validation message\n\n * `checkValidity` - \n\n * `getForm` - \n\n * `reportValidity` - \n\n * `setCustomValidity` - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
4137
4214
  "attributes": [
4138
4215
  {
4139
4216
  "name": "title",
@@ -4350,13 +4427,13 @@
4350
4427
  },
4351
4428
  {
4352
4429
  "name": "inputmode",
4353
- "description": "`inputmode` {`\"text\" | \"none\" | \"numeric\" | \"email\" | \"search\" | \"tel\" | \"url\" | \"decimal\"`} - Tells the browser what type of data will be entered by the user, allowing it to display the appropriate virtual\nkeyboard on supportive devices.\n\nProperty: inputmode",
4430
+ "description": "`inputmode` {`\"none\" | \"text\" | \"numeric\" | \"email\" | \"search\" | \"tel\" | \"url\" | \"decimal\"`} - Tells the browser what type of data will be entered by the user, allowing it to display the appropriate virtual\nkeyboard on supportive devices.\n\nProperty: inputmode",
4354
4431
  "values": [
4355
4432
  {
4356
- "name": "text"
4433
+ "name": "none"
4357
4434
  },
4358
4435
  {
4359
- "name": "none"
4436
+ "name": "text"
4360
4437
  },
4361
4438
  {
4362
4439
  "name": "numeric"
@@ -4490,7 +4567,7 @@
4490
4567
  },
4491
4568
  {
4492
4569
  "name": "nile-lite-tooltip",
4493
- "description": "Nile lite-tooltip component.\n\nSupports wrapper, sibling (for), and singleton modes.\nAligns with Tippy.js props and Nile design system.\n\nEvents:\n\n * `nile-show` {`CustomEvent<{ instance: Instance<Props>; target: ReferenceElement<Props>; }>`} - \n\n * `nile-toggle` {`CustomEvent<{ open: boolean; instance: Instance<Props>; target: ReferenceElement<Props>; }>`} - \n\n * `nile-hide` {`CustomEvent<{ instance: Instance<Props>; target: ReferenceElement<Props>; }>`} - \n\nAttributes:\n\n * `for` {`string | null`} - ID of the target element (for sibling mode)\n\n * `content` {`string`} - Tooltip content text or HTML\n\n * `size` {`\"small\" | \"large\"`} - Tooltip size (applies CSS class)\n\n * `duration` {`string | number | [number, number]`} - Animation duration for show/hide (ms). Can be a single value or [show, hide].\n\n * `interactive` {`boolean`} - Interactive mode\n\n * `placement` {`\"left\" | \"right\" | \"top\" | \"top-start\" | \"top-end\" | \"right-start\" | \"right-end\" | \"bottom\" | \"bottom-start\" | \"bottom-end\" | \"left-start\" | \"left-end\" | \"auto\" | \"auto-start\" | \"auto-end\"`} - Placement of the tooltip\n\n * `disabled` {`boolean`} - \n\n * `distance` {`number`} - \n\n * `skidding` {`number`} - \n\n * `open` {`boolean`} - \n\n * `trigger` {`string`} - \n\n * `allowHTML` {`boolean`} - \n\n * `followCursor` {`boolean | \"vertical\" | \"horizontal\" | \"initial\" | \"true\" | \"false\"`} - \n\n * `arrow` {`\"small\" | \"none\" | \"default\" | \"large\" | \"round\" | \"narrow\" | \"wide\"`} - \n\n * `singleton` {`boolean`} - \n\n * `enableRecursiveMode` {`boolean`} - \n\n * `delay` {`number | [number, number]`} - Not added in Doc\n\n * `maxWidth` {`string | number`} - \n\n * `zIndex` {`number`} - \n\n * `hideOnClick` {`boolean | \"toggle\"`} - \n\n * `inertia` {`boolean`} - \n\n * `interactiveBorder` {`number`} - \n\n * `enableVisibilityEffect` {`boolean`} - \n\n * `enableTabClose` {`boolean`} - \n\n * `width` {`string | undefined`} - \n\n * `height` {`string | undefined`} - \n\nProperties:\n\n * `for` {`string | null`} - ID of the target element (for sibling mode)\n\n * `content` {`string`} - Tooltip content text or HTML\n\n * `size` {`\"small\" | \"large\"`} - Tooltip size (applies CSS class)\n\n * `duration` {`string | number | [number, number]`} - Animation duration for show/hide (ms). Can be a single value or [show, hide].\n\n * `interactive` {`boolean`} - Interactive mode\n\n * `placement` {`\"left\" | \"right\" | \"top\" | \"top-start\" | \"top-end\" | \"right-start\" | \"right-end\" | \"bottom\" | \"bottom-start\" | \"bottom-end\" | \"left-start\" | \"left-end\" | \"auto\" | \"auto-start\" | \"auto-end\"`} - Placement of the tooltip\n\n * `disabled` {`boolean`} - \n\n * `distance` {`number`} - \n\n * `skidding` {`number`} - \n\n * `open` {`boolean`} - \n\n * `trigger` {`string`} - \n\n * `allowHTML` {`boolean`} - \n\n * `followCursor` {`boolean | \"vertical\" | \"horizontal\" | \"initial\" | \"true\" | \"false\"`} - \n\n * `arrow` {`\"small\" | \"none\" | \"default\" | \"large\" | \"round\" | \"narrow\" | \"wide\"`} - \n\n * `singleton` {`boolean`} - \n\n * `enableRecursiveMode` {`boolean`} - \n\n * `delay` {`number | [number, number]`} - Not added in Doc\n\n * `maxWidth` {`string | number`} - \n\n * `zIndex` {`number`} - \n\n * `hideOnClick` {`boolean | \"toggle\"`} - \n\n * `inertia` {`boolean`} - \n\n * `interactiveBorder` {`number`} - \n\n * `visibilityManager` - \n\n * `enableVisibilityEffect` {`boolean`} - \n\n * `enableTabClose` {`boolean`} - \n\n * `width` {`string | undefined`} - \n\n * `height` {`string | undefined`} - \n\n * `tooltipInstances` {`Instance<Props>[] | undefined`} - \n\n * `singleInstance` {`Instance<Props> | undefined`} - \n\n * `singletonInstance` {`Instance<Props> | undefined`} - \n\n * `targetEl` {`HTMLElement | null | undefined`} - \n\n * `generatedId` {`string | undefined`} - \n\n * `prevDescribedby` {`string | null | undefined`} - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
4570
+ "description": "Nile lite-tooltip component.\n\nSupports wrapper, sibling (for), and singleton modes.\nAligns with Tippy.js props and Nile design system.\n\nEvents:\n\n * `nile-show` {`CustomEvent<{ instance: Instance<Props>; target: ReferenceElement<Props>; }>`} - \n\n * `nile-toggle` {`CustomEvent<{ open: boolean; instance: Instance<Props>; target: ReferenceElement<Props>; }>`} - \n\n * `nile-hide` {`CustomEvent<{ instance: Instance<Props>; target: ReferenceElement<Props>; }>`} - \n\nAttributes:\n\n * `for` {`string | null`} - ID of the target element (for sibling mode)\n\n * `content` {`string`} - Tooltip content text or HTML\n\n * `size` {`\"small\" | \"large\"`} - Tooltip size (applies CSS class)\n\n * `duration` {`string | number | [number, number]`} - Animation duration for show/hide (ms). Can be a single value or [show, hide].\n\n * `interactive` {`boolean`} - Interactive mode\n\n * `placement` {`\"left\" | \"right\" | \"top\" | \"top-start\" | \"top-end\" | \"right-start\" | \"right-end\" | \"bottom\" | \"bottom-start\" | \"bottom-end\" | \"left-start\" | \"left-end\" | \"auto\" | \"auto-start\" | \"auto-end\"`} - Placement of the tooltip\n\n * `disabled` {`boolean`} - \n\n * `distance` {`number`} - \n\n * `skidding` {`number`} - \n\n * `open` {`boolean`} - \n\n * `trigger` {`string`} - \n\n * `allowHTML` {`boolean`} - \n\n * `followCursor` {`boolean | \"vertical\" | \"horizontal\" | \"initial\" | \"true\" | \"false\"`} - \n\n * `arrow` {`\"none\" | \"small\" | \"default\" | \"large\" | \"round\" | \"narrow\" | \"wide\"`} - \n\n * `singleton` {`boolean`} - \n\n * `enableRecursiveMode` {`boolean`} - \n\n * `delay` {`number | [number, number]`} - Not added in Doc\n\n * `maxWidth` {`string | number`} - \n\n * `zIndex` {`number`} - \n\n * `hideOnClick` {`boolean | \"toggle\"`} - \n\n * `inertia` {`boolean`} - \n\n * `interactiveBorder` {`number`} - \n\n * `enableVisibilityEffect` {`boolean`} - \n\n * `enableTabClose` {`boolean`} - \n\n * `width` {`string | undefined`} - \n\n * `height` {`string | undefined`} - \n\nProperties:\n\n * `for` {`string | null`} - ID of the target element (for sibling mode)\n\n * `content` {`string`} - Tooltip content text or HTML\n\n * `size` {`\"small\" | \"large\"`} - Tooltip size (applies CSS class)\n\n * `duration` {`string | number | [number, number]`} - Animation duration for show/hide (ms). Can be a single value or [show, hide].\n\n * `interactive` {`boolean`} - Interactive mode\n\n * `placement` {`\"left\" | \"right\" | \"top\" | \"top-start\" | \"top-end\" | \"right-start\" | \"right-end\" | \"bottom\" | \"bottom-start\" | \"bottom-end\" | \"left-start\" | \"left-end\" | \"auto\" | \"auto-start\" | \"auto-end\"`} - Placement of the tooltip\n\n * `disabled` {`boolean`} - \n\n * `distance` {`number`} - \n\n * `skidding` {`number`} - \n\n * `open` {`boolean`} - \n\n * `trigger` {`string`} - \n\n * `allowHTML` {`boolean`} - \n\n * `followCursor` {`boolean | \"vertical\" | \"horizontal\" | \"initial\" | \"true\" | \"false\"`} - \n\n * `arrow` {`\"none\" | \"small\" | \"default\" | \"large\" | \"round\" | \"narrow\" | \"wide\"`} - \n\n * `singleton` {`boolean`} - \n\n * `enableRecursiveMode` {`boolean`} - \n\n * `delay` {`number | [number, number]`} - Not added in Doc\n\n * `maxWidth` {`string | number`} - \n\n * `zIndex` {`number`} - \n\n * `hideOnClick` {`boolean | \"toggle\"`} - \n\n * `inertia` {`boolean`} - \n\n * `interactiveBorder` {`number`} - \n\n * `visibilityManager` - \n\n * `enableVisibilityEffect` {`boolean`} - \n\n * `enableTabClose` {`boolean`} - \n\n * `width` {`string | undefined`} - \n\n * `height` {`string | undefined`} - \n\n * `tooltipInstances` {`Instance<Props>[] | undefined`} - \n\n * `singleInstance` {`Instance<Props> | undefined`} - \n\n * `singletonInstance` {`Instance<Props> | undefined`} - \n\n * `targetEl` {`HTMLElement | null | undefined`} - \n\n * `generatedId` {`string | undefined`} - \n\n * `prevDescribedby` {`string | null | undefined`} - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
4494
4571
  "attributes": [
4495
4572
  {
4496
4573
  "name": "for",
@@ -4624,13 +4701,13 @@
4624
4701
  },
4625
4702
  {
4626
4703
  "name": "arrow",
4627
- "description": "`arrow` {`\"small\" | \"none\" | \"default\" | \"large\" | \"round\" | \"narrow\" | \"wide\"`} - \n\nProperty: arrow\n\nDefault: default",
4704
+ "description": "`arrow` {`\"none\" | \"small\" | \"default\" | \"large\" | \"round\" | \"narrow\" | \"wide\"`} - \n\nProperty: arrow\n\nDefault: default",
4628
4705
  "values": [
4629
4706
  {
4630
- "name": "small"
4707
+ "name": "none"
4631
4708
  },
4632
4709
  {
4633
- "name": "none"
4710
+ "name": "small"
4634
4711
  },
4635
4712
  {
4636
4713
  "name": "default"
@@ -5154,7 +5231,7 @@
5154
5231
  },
5155
5232
  {
5156
5233
  "name": "nile-otp-input",
5157
- "description": "Events:\n\n * `nile-input` {} - Emitted whenever the OTP value changes from user input.\n\n * `nile-change` {} - Emitted whenever the OTP value changes from user input.\n\n * `nile-complete` {} - Emitted when all OTP cells are filled.\n\n * `nile-focus` {} - Emitted when focus enters the component.\n\n * `nile-blur` {} - Emitted when focus leaves the component.\n\n * `nile-paste` {} - Emitted when OTP text is pasted.\n\n * `nile-invalid` {} - Emitted when the control is invalid.\n\nSlots:\n\n * `label` {} - The input label. Alternatively, use the `label` attribute.\n\n * `help-text` {} - Helpful guidance text. Alternatively, use the `help-text` attribute.\n\nAttributes:\n\n * `length` {`number`} - Number of OTP cells. Values below 4 are clamped to 4.\n\n * `numericOnly` {`boolean`} - Restricts input to numeric digits when true. Overridden by `alphanumeric`.\n\n * `alphanumeric` {`boolean`} - Allows both letters and digits. When present, overrides `numeric-only`.\n\n * `label` {`string`} - The input's label.\n\n * `helpText` {`string`} - \n\n * `errorMessage` {`string`} - \n\n * `placeholder` {`string`} - Placeholder shown inside each OTP cell.\n\n * `separator` {`string`} - Optional separator text rendered between configured OTP groups (for example \"-\").\n\n * `separatorEvery` {`number`} - Renders a separator after each N cells when `separator` is set.\n\n * `separator-positions` {`string`} - Comma-separated zero-based cell indexes after which separators are rendered.\n\n * `masked` {`boolean`} - Masks filled cells with dots, showing each character briefly while typing.\n\n * `warning` {`boolean`} - Sets the input to a warning state, changing its visual appearance.\n\n * `error` {`boolean`} - Sets the input to an error state, changing its visual appearance.\n\n * `success` {`boolean`} - Sets the input to a success state, changing its visual appearance.\n\n * `readonly` {`boolean`} - Makes the control readonly.\n\n * `autofocus` {`boolean`} - Indicates that the input should receive focus on page load.\n\n * `inputmode` {`\"text\" | \"none\" | \"numeric\" | \"email\" | \"search\" | \"tel\" | \"url\" | \"decimal\"`} - Controls keyboard type shown on supporting virtual keyboards.\n\n * `autocomplete` {`string`} - The autocomplete mode used on the first OTP cell.\n\n * `name` {`string`} - The name of the input, submitted as a name/value pair with form data.\n\n * `value` {`string`} - The current value of the OTP control.\n\n * `disabled` {`boolean`} - Disables the control.\n\n * `form` {`string`} - By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`.\n\n * `pattern` {`string`} - Optional regex pattern for full OTP validation.\n\n * `required` {`boolean`} - Makes this field required.\n\nProperties:\n\n * `styles` - \n\n * `formControlController` - \n\n * `hasSlotController` - \n\n * `customValidationMessage` {`string`} - \n\n * `wasComplete` {`boolean`} - \n\n * `valueInput` {`HTMLInputElement`} - \n\n * `cellInputs` {`NodeListOf<HTMLInputElement>`} - \n\n * `hasFocus` {`boolean`} - \n\n * `activeIndex` {`number`} - \n\n * `cells` {`string[]`} - \n\n * `length` {`number`} - Number of OTP cells. Values below 4 are clamped to 4.\n\n * `numericOnly` {`boolean`} - Restricts input to numeric digits when true. Overridden by `alphanumeric`.\n\n * `alphanumeric` {`boolean`} - Allows both letters and digits. When present, overrides `numeric-only`.\n\n * `label` {`string`} - The input's label.\n\n * `helpText` {`string`} - \n\n * `errorMessage` {`string`} - \n\n * `placeholder` {`string`} - Placeholder shown inside each OTP cell.\n\n * `separator` {`string`} - Optional separator text rendered between configured OTP groups (for example \"-\").\n\n * `separatorEvery` {`number`} - Renders a separator after each N cells when `separator` is set.\n\n * `separatorPositions` {`string`} - Comma-separated zero-based cell indexes after which separators are rendered.\n\n * `masked` {`boolean`} - Masks filled cells with dots, showing each character briefly while typing.\n\n * `warning` {`boolean`} - Sets the input to a warning state, changing its visual appearance.\n\n * `error` {`boolean`} - Sets the input to an error state, changing its visual appearance.\n\n * `success` {`boolean`} - Sets the input to a success state, changing its visual appearance.\n\n * `readonly` {`boolean`} - Makes the control readonly.\n\n * `autofocus` {`boolean`} - Indicates that the input should receive focus on page load.\n\n * `inputmode` {`\"text\" | \"none\" | \"numeric\" | \"email\" | \"search\" | \"tel\" | \"url\" | \"decimal\"`} - Controls keyboard type shown on supporting virtual keyboards.\n\n * `autocomplete` {`string`} - The autocomplete mode used on the first OTP cell.\n\n * `complete` {`boolean`} - Returns true when all OTP cells have values.\n\n * `name` {`string`} - The name of the input, submitted as a name/value pair with form data.\n\n * `value` {`string`} - The current value of the OTP control.\n\n * `disabled` {`boolean`} - Disables the control.\n\n * `defaultValue` {`string`} - The default value of the form control. Primarily used for resetting the form control.\n\n * `defaultChecked` {`boolean | undefined`} - \n\n * `form` {`string`} - By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`.\n\n * `pattern` {`string`} - Optional regex pattern for full OTP validation.\n\n * `min` {`string | number | Date | undefined`} - \n\n * `max` {`string | number | Date | undefined`} - \n\n * `step` {`number | \"any\" | undefined`} - \n\n * `required` {`boolean`} - Makes this field required.\n\n * `minlength` {`number | undefined`} - \n\n * `maxlength` {`number | undefined`} - \n\n * `validity` {`ValidityState`} - Gets the validity state object.\n\n * `validationMessage` {`string`} - Gets the validation message.\n\n * `checkValidity` - \n\n * `getForm` - \n\n * `reportValidity` - \n\n * `setCustomValidity` - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
5234
+ "description": "Events:\n\n * `nile-input` {} - Emitted whenever the OTP value changes from user input.\n\n * `nile-change` {} - Emitted whenever the OTP value changes from user input.\n\n * `nile-complete` {} - Emitted when all OTP cells are filled.\n\n * `nile-focus` {} - Emitted when focus enters the component.\n\n * `nile-blur` {} - Emitted when focus leaves the component.\n\n * `nile-paste` {} - Emitted when OTP text is pasted.\n\n * `nile-invalid` {} - Emitted when the control is invalid.\n\nSlots:\n\n * `label` {} - The input label. Alternatively, use the `label` attribute.\n\n * `help-text` {} - Helpful guidance text. Alternatively, use the `help-text` attribute.\n\nAttributes:\n\n * `length` {`number`} - Number of OTP cells. Values below 4 are clamped to 4.\n\n * `numericOnly` {`boolean`} - Restricts input to numeric digits when true. Overridden by `alphanumeric`.\n\n * `alphanumeric` {`boolean`} - Allows both letters and digits. When present, overrides `numeric-only`.\n\n * `label` {`string`} - The input's label.\n\n * `helpText` {`string`} - \n\n * `errorMessage` {`string`} - \n\n * `placeholder` {`string`} - Placeholder shown inside each OTP cell.\n\n * `separator` {`string`} - Optional separator text rendered between configured OTP groups (for example \"-\").\n\n * `separatorEvery` {`number`} - Renders a separator after each N cells when `separator` is set.\n\n * `separator-positions` {`string`} - Comma-separated zero-based cell indexes after which separators are rendered.\n\n * `masked` {`boolean`} - Masks filled cells with dots, showing each character briefly while typing.\n\n * `warning` {`boolean`} - Sets the input to a warning state, changing its visual appearance.\n\n * `error` {`boolean`} - Sets the input to an error state, changing its visual appearance.\n\n * `success` {`boolean`} - Sets the input to a success state, changing its visual appearance.\n\n * `readonly` {`boolean`} - Makes the control readonly.\n\n * `autofocus` {`boolean`} - Indicates that the input should receive focus on page load.\n\n * `inputmode` {`\"none\" | \"text\" | \"numeric\" | \"email\" | \"search\" | \"tel\" | \"url\" | \"decimal\"`} - Controls keyboard type shown on supporting virtual keyboards.\n\n * `autocomplete` {`string`} - The autocomplete mode used on the first OTP cell.\n\n * `name` {`string`} - The name of the input, submitted as a name/value pair with form data.\n\n * `value` {`string`} - The current value of the OTP control.\n\n * `disabled` {`boolean`} - Disables the control.\n\n * `form` {`string`} - By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`.\n\n * `pattern` {`string`} - Optional regex pattern for full OTP validation.\n\n * `required` {`boolean`} - Makes this field required.\n\nProperties:\n\n * `styles` - \n\n * `formControlController` - \n\n * `hasSlotController` - \n\n * `customValidationMessage` {`string`} - \n\n * `wasComplete` {`boolean`} - \n\n * `valueInput` {`HTMLInputElement`} - \n\n * `cellInputs` {`NodeListOf<HTMLInputElement>`} - \n\n * `hasFocus` {`boolean`} - \n\n * `activeIndex` {`number`} - \n\n * `cells` {`string[]`} - \n\n * `length` {`number`} - Number of OTP cells. Values below 4 are clamped to 4.\n\n * `numericOnly` {`boolean`} - Restricts input to numeric digits when true. Overridden by `alphanumeric`.\n\n * `alphanumeric` {`boolean`} - Allows both letters and digits. When present, overrides `numeric-only`.\n\n * `label` {`string`} - The input's label.\n\n * `helpText` {`string`} - \n\n * `errorMessage` {`string`} - \n\n * `placeholder` {`string`} - Placeholder shown inside each OTP cell.\n\n * `separator` {`string`} - Optional separator text rendered between configured OTP groups (for example \"-\").\n\n * `separatorEvery` {`number`} - Renders a separator after each N cells when `separator` is set.\n\n * `separatorPositions` {`string`} - Comma-separated zero-based cell indexes after which separators are rendered.\n\n * `masked` {`boolean`} - Masks filled cells with dots, showing each character briefly while typing.\n\n * `warning` {`boolean`} - Sets the input to a warning state, changing its visual appearance.\n\n * `error` {`boolean`} - Sets the input to an error state, changing its visual appearance.\n\n * `success` {`boolean`} - Sets the input to a success state, changing its visual appearance.\n\n * `readonly` {`boolean`} - Makes the control readonly.\n\n * `autofocus` {`boolean`} - Indicates that the input should receive focus on page load.\n\n * `inputmode` {`\"none\" | \"text\" | \"numeric\" | \"email\" | \"search\" | \"tel\" | \"url\" | \"decimal\"`} - Controls keyboard type shown on supporting virtual keyboards.\n\n * `autocomplete` {`string`} - The autocomplete mode used on the first OTP cell.\n\n * `complete` {`boolean`} - Returns true when all OTP cells have values.\n\n * `name` {`string`} - The name of the input, submitted as a name/value pair with form data.\n\n * `value` {`string`} - The current value of the OTP control.\n\n * `disabled` {`boolean`} - Disables the control.\n\n * `defaultValue` {`string`} - The default value of the form control. Primarily used for resetting the form control.\n\n * `defaultChecked` {`boolean | undefined`} - \n\n * `form` {`string`} - By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`.\n\n * `pattern` {`string`} - Optional regex pattern for full OTP validation.\n\n * `min` {`string | number | Date | undefined`} - \n\n * `max` {`string | number | Date | undefined`} - \n\n * `step` {`number | \"any\" | undefined`} - \n\n * `required` {`boolean`} - Makes this field required.\n\n * `minlength` {`number | undefined`} - \n\n * `maxlength` {`number | undefined`} - \n\n * `validity` {`ValidityState`} - Gets the validity state object.\n\n * `validationMessage` {`string`} - Gets the validation message.\n\n * `checkValidity` - \n\n * `getForm` - \n\n * `reportValidity` - \n\n * `setCustomValidity` - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
5158
5235
  "attributes": [
5159
5236
  {
5160
5237
  "name": "length",
@@ -5230,13 +5307,13 @@
5230
5307
  },
5231
5308
  {
5232
5309
  "name": "inputmode",
5233
- "description": "`inputmode` {`\"text\" | \"none\" | \"numeric\" | \"email\" | \"search\" | \"tel\" | \"url\" | \"decimal\"`} - Controls keyboard type shown on supporting virtual keyboards.\n\nProperty: inputmode",
5310
+ "description": "`inputmode` {`\"none\" | \"text\" | \"numeric\" | \"email\" | \"search\" | \"tel\" | \"url\" | \"decimal\"`} - Controls keyboard type shown on supporting virtual keyboards.\n\nProperty: inputmode",
5234
5311
  "values": [
5235
5312
  {
5236
- "name": "text"
5313
+ "name": "none"
5237
5314
  },
5238
5315
  {
5239
- "name": "none"
5316
+ "name": "text"
5240
5317
  },
5241
5318
  {
5242
5319
  "name": "numeric"
@@ -7266,13 +7343,13 @@
7266
7343
  "description": "`valueLabel` {`ValueLabelMode`} - \n\nProperty: valueLabel\n\nDefault: tooltip",
7267
7344
  "values": [
7268
7345
  {
7269
- "name": "bottom"
7346
+ "name": "none"
7270
7347
  },
7271
7348
  {
7272
- "name": "tooltip"
7349
+ "name": "bottom"
7273
7350
  },
7274
7351
  {
7275
- "name": "none"
7352
+ "name": "tooltip"
7276
7353
  }
7277
7354
  ]
7278
7355
  }
@@ -7728,7 +7805,7 @@
7728
7805
  },
7729
7806
  {
7730
7807
  "name": "nile-textarea",
7731
- "description": "Events:\n\n * `nile-blur` {} - Emitted when the control loses focus.\n\n * `nile-change` {} - Emitted when an alteration to the control's value is committed by the user.\n\n * `nile-focus` {} - Emitted when the control gains focus.\n\n * `nile-input` {} - Emitted when the control receives input.\n\nSlots:\n\n * `label` {} - The textarea's label. Alternatively, you can use the `label` attribute.\n\n * `help-text` {} - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n\nAttributes:\n\n * `title` {`string`} - \n\n * `name` {`string`} - The name of the textarea, submitted as a name/value pair with form data.\n\n * `value` {`string`} - The current value of the textarea, submitted as a name/value pair with form data.\n\n * `size` {`string`} - The textarea's size.\n\n * `filled` {`boolean`} - Draws a filled textarea.\n\n * `label` {`string`} - The textarea's label. If you need to display HTML, use the `label` slot instead.\n\n * `help-text` {`string`} - \n\n * `error-message` {`string`} - \n\n * `placeholder` {`string`} - Placeholder text to show as a hint when the input is empty.\n\n * `rows` {`number`} - The number of rows to display by default.\n\n * `resize` {`\"none\" | \"vertical\" | \"auto\"`} - Controls how the textarea can be resized.\n\n * `disabled` {`boolean`} - Disables the textarea.\n\n * `readonly` {`boolean`} - Makes the textarea readonly.\n\n * `form` {`string`} - By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.\n\n * `required` {`boolean`} - Makes the textarea a required field.\n\n * `minlength` {`number`} - \n\n * `maxlength` {`number`} - \n\n * `warning` {`boolean`} - Sets the input to a warning state, changing its visual appearance.\n\n * `error` {`boolean`} - Sets the input to an error state, changing its visual appearance.\n\n * `success` {`boolean`} - Sets the input to a success state, changing its visual appearance.\n\n * `autocapitalize` {`\"none\" | \"off\" | \"on\" | \"sentences\" | \"words\" | \"characters\"`} - Controls whether and how text input is automatically capitalized as it is entered by the user.\n\n * `autocorrect` {`string`} - Indicates whether the browser's autocorrect feature is on or off.\n\n * `autocomplete` {`string`} - Specifies what permission the browser has to provide assistance in filling out form field values. Refer to\n[this page on MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) for available values.\n\n * `autofocus` {`boolean`} - Indicates that the input should receive focus on page load.\n\n * `enterkeyhint` {`\"search\" | \"enter\" | \"done\" | \"go\" | \"next\" | \"previous\" | \"send\"`} - Used to customize the label or icon of the Enter key on virtual keyboards.\n\n * `spellcheck` {`boolean`} - Enables spell checking on the textarea.\n\n * `inputmode` {`\"text\" | \"none\" | \"numeric\" | \"email\" | \"search\" | \"tel\" | \"url\" | \"decimal\"`} - Tells the browser what type of data will be entered by the user, allowing it to display the appropriate virtual\nkeyboard on supportive devices.\n\n * `fullHeight` {`boolean`} - \n\n * `checkNonPrintableChar` {`boolean`} - \n\nProperties:\n\n * `styles` - \n\n * `hasSlotController` - \n\n * `resizeObserver` - \n\n * `input` {`HTMLTextAreaElement`} - \n\n * `hasFocus` {`boolean`} - \n\n * `title` {`string`} - \n\n * `name` {`string`} - The name of the textarea, submitted as a name/value pair with form data.\n\n * `value` {`string`} - The current value of the textarea, submitted as a name/value pair with form data.\n\n * `size` {`string`} - The textarea's size.\n\n * `filled` {`boolean`} - Draws a filled textarea.\n\n * `label` {`string`} - The textarea's label. If you need to display HTML, use the `label` slot instead.\n\n * `helpText` {`string`} - \n\n * `errorMessage` {`string`} - \n\n * `placeholder` {`string`} - Placeholder text to show as a hint when the input is empty.\n\n * `rows` {`number`} - The number of rows to display by default.\n\n * `resize` {`\"none\" | \"vertical\" | \"auto\"`} - Controls how the textarea can be resized.\n\n * `disabled` {`boolean`} - Disables the textarea.\n\n * `readonly` {`boolean`} - Makes the textarea readonly.\n\n * `form` {`string`} - By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.\n\n * `required` {`boolean`} - Makes the textarea a required field.\n\n * `minlength` {`number`} - \n\n * `maxlength` {`number`} - \n\n * `warning` {`boolean`} - Sets the input to a warning state, changing its visual appearance.\n\n * `error` {`boolean`} - Sets the input to an error state, changing its visual appearance.\n\n * `success` {`boolean`} - Sets the input to a success state, changing its visual appearance.\n\n * `autocapitalize` {`\"none\" | \"off\" | \"on\" | \"sentences\" | \"words\" | \"characters\"`} - Controls whether and how text input is automatically capitalized as it is entered by the user.\n\n * `autocorrect` {`string`} - Indicates whether the browser's autocorrect feature is on or off.\n\n * `autocomplete` {`string`} - Specifies what permission the browser has to provide assistance in filling out form field values. Refer to\n[this page on MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) for available values.\n\n * `autofocus` {`boolean`} - Indicates that the input should receive focus on page load.\n\n * `enterkeyhint` {`\"search\" | \"enter\" | \"done\" | \"go\" | \"next\" | \"previous\" | \"send\"`} - Used to customize the label or icon of the Enter key on virtual keyboards.\n\n * `spellcheck` {`boolean`} - Enables spell checking on the textarea.\n\n * `inputmode` {`\"text\" | \"none\" | \"numeric\" | \"email\" | \"search\" | \"tel\" | \"url\" | \"decimal\"`} - Tells the browser what type of data will be entered by the user, allowing it to display the appropriate virtual\nkeyboard on supportive devices.\n\n * `defaultValue` {`string`} - The default value of the form control. Primarily used for resetting the form control.\n\n * `fullHeight` {`boolean`} - \n\n * `checkNonPrintableChar` {`boolean`} - \n\n * `hasPrintableCharacters` {`boolean`} - \n\n * `markedValue` {`string`} - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
7808
+ "description": "Events:\n\n * `nile-blur` {} - Emitted when the control loses focus.\n\n * `nile-change` {} - Emitted when an alteration to the control's value is committed by the user.\n\n * `nile-focus` {} - Emitted when the control gains focus.\n\n * `nile-input` {} - Emitted when the control receives input.\n\nSlots:\n\n * `label` {} - The textarea's label. Alternatively, you can use the `label` attribute.\n\n * `help-text` {} - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n\nAttributes:\n\n * `title` {`string`} - \n\n * `name` {`string`} - The name of the textarea, submitted as a name/value pair with form data.\n\n * `value` {`string`} - The current value of the textarea, submitted as a name/value pair with form data.\n\n * `size` {`string`} - The textarea's size.\n\n * `filled` {`boolean`} - Draws a filled textarea.\n\n * `label` {`string`} - The textarea's label. If you need to display HTML, use the `label` slot instead.\n\n * `help-text` {`string`} - \n\n * `error-message` {`string`} - \n\n * `placeholder` {`string`} - Placeholder text to show as a hint when the input is empty.\n\n * `rows` {`number`} - The number of rows to display by default.\n\n * `resize` {`\"none\" | \"vertical\" | \"auto\"`} - Controls how the textarea can be resized.\n\n * `disabled` {`boolean`} - Disables the textarea.\n\n * `readonly` {`boolean`} - Makes the textarea readonly.\n\n * `form` {`string`} - By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.\n\n * `required` {`boolean`} - Makes the textarea a required field.\n\n * `minlength` {`number`} - \n\n * `maxlength` {`number`} - \n\n * `warning` {`boolean`} - Sets the input to a warning state, changing its visual appearance.\n\n * `error` {`boolean`} - Sets the input to an error state, changing its visual appearance.\n\n * `success` {`boolean`} - Sets the input to a success state, changing its visual appearance.\n\n * `autocapitalize` {`\"none\" | \"off\" | \"on\" | \"sentences\" | \"words\" | \"characters\"`} - Controls whether and how text input is automatically capitalized as it is entered by the user.\n\n * `autocorrect` {`string`} - Indicates whether the browser's autocorrect feature is on or off.\n\n * `autocomplete` {`string`} - Specifies what permission the browser has to provide assistance in filling out form field values. Refer to\n[this page on MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) for available values.\n\n * `autofocus` {`boolean`} - Indicates that the input should receive focus on page load.\n\n * `enterkeyhint` {`\"search\" | \"enter\" | \"done\" | \"go\" | \"next\" | \"previous\" | \"send\"`} - Used to customize the label or icon of the Enter key on virtual keyboards.\n\n * `spellcheck` {`boolean`} - Enables spell checking on the textarea.\n\n * `inputmode` {`\"none\" | \"text\" | \"numeric\" | \"email\" | \"search\" | \"tel\" | \"url\" | \"decimal\"`} - Tells the browser what type of data will be entered by the user, allowing it to display the appropriate virtual\nkeyboard on supportive devices.\n\n * `fullHeight` {`boolean`} - \n\n * `checkNonPrintableChar` {`boolean`} - \n\nProperties:\n\n * `styles` - \n\n * `hasSlotController` - \n\n * `resizeObserver` - \n\n * `input` {`HTMLTextAreaElement`} - \n\n * `hasFocus` {`boolean`} - \n\n * `title` {`string`} - \n\n * `name` {`string`} - The name of the textarea, submitted as a name/value pair with form data.\n\n * `value` {`string`} - The current value of the textarea, submitted as a name/value pair with form data.\n\n * `size` {`string`} - The textarea's size.\n\n * `filled` {`boolean`} - Draws a filled textarea.\n\n * `label` {`string`} - The textarea's label. If you need to display HTML, use the `label` slot instead.\n\n * `helpText` {`string`} - \n\n * `errorMessage` {`string`} - \n\n * `placeholder` {`string`} - Placeholder text to show as a hint when the input is empty.\n\n * `rows` {`number`} - The number of rows to display by default.\n\n * `resize` {`\"none\" | \"vertical\" | \"auto\"`} - Controls how the textarea can be resized.\n\n * `disabled` {`boolean`} - Disables the textarea.\n\n * `readonly` {`boolean`} - Makes the textarea readonly.\n\n * `form` {`string`} - By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.\n\n * `required` {`boolean`} - Makes the textarea a required field.\n\n * `minlength` {`number`} - \n\n * `maxlength` {`number`} - \n\n * `warning` {`boolean`} - Sets the input to a warning state, changing its visual appearance.\n\n * `error` {`boolean`} - Sets the input to an error state, changing its visual appearance.\n\n * `success` {`boolean`} - Sets the input to a success state, changing its visual appearance.\n\n * `autocapitalize` {`\"none\" | \"off\" | \"on\" | \"sentences\" | \"words\" | \"characters\"`} - Controls whether and how text input is automatically capitalized as it is entered by the user.\n\n * `autocorrect` {`string`} - Indicates whether the browser's autocorrect feature is on or off.\n\n * `autocomplete` {`string`} - Specifies what permission the browser has to provide assistance in filling out form field values. Refer to\n[this page on MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) for available values.\n\n * `autofocus` {`boolean`} - Indicates that the input should receive focus on page load.\n\n * `enterkeyhint` {`\"search\" | \"enter\" | \"done\" | \"go\" | \"next\" | \"previous\" | \"send\"`} - Used to customize the label or icon of the Enter key on virtual keyboards.\n\n * `spellcheck` {`boolean`} - Enables spell checking on the textarea.\n\n * `inputmode` {`\"none\" | \"text\" | \"numeric\" | \"email\" | \"search\" | \"tel\" | \"url\" | \"decimal\"`} - Tells the browser what type of data will be entered by the user, allowing it to display the appropriate virtual\nkeyboard on supportive devices.\n\n * `defaultValue` {`string`} - The default value of the form control. Primarily used for resetting the form control.\n\n * `fullHeight` {`boolean`} - \n\n * `checkNonPrintableChar` {`boolean`} - \n\n * `hasPrintableCharacters` {`boolean`} - \n\n * `markedValue` {`string`} - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
7732
7809
  "attributes": [
7733
7810
  {
7734
7811
  "name": "title",
@@ -7899,13 +7976,13 @@
7899
7976
  },
7900
7977
  {
7901
7978
  "name": "inputmode",
7902
- "description": "`inputmode` {`\"text\" | \"none\" | \"numeric\" | \"email\" | \"search\" | \"tel\" | \"url\" | \"decimal\"`} - Tells the browser what type of data will be entered by the user, allowing it to display the appropriate virtual\nkeyboard on supportive devices.\n\nProperty: inputmode",
7979
+ "description": "`inputmode` {`\"none\" | \"text\" | \"numeric\" | \"email\" | \"search\" | \"tel\" | \"url\" | \"decimal\"`} - Tells the browser what type of data will be entered by the user, allowing it to display the appropriate virtual\nkeyboard on supportive devices.\n\nProperty: inputmode",
7903
7980
  "values": [
7904
7981
  {
7905
- "name": "text"
7982
+ "name": "none"
7906
7983
  },
7907
7984
  {
7908
- "name": "none"
7985
+ "name": "text"
7909
7986
  },
7910
7987
  {
7911
7988
  "name": "numeric"