@slotted/angular 0.1.0-beta.1 → 0.1.0-beta.2

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 (88) hide show
  1. package/README.md +4 -0
  2. package/docs/AGENTS.snippet.md +10 -0
  3. package/docs/checkbox.json +7 -0
  4. package/docs/checkbox.md +1 -0
  5. package/docs/event-calendar.json +7 -0
  6. package/docs/event-calendar.md +1 -0
  7. package/docs/guidelines/README.md +27 -0
  8. package/docs/guidelines/async-feedback.md +108 -0
  9. package/docs/guidelines/browsing.md +74 -0
  10. package/docs/guidelines/builders.md +97 -0
  11. package/docs/guidelines/composition.md +129 -0
  12. package/docs/guidelines/conversations.md +59 -0
  13. package/docs/guidelines/errors-and-conflicts.md +71 -0
  14. package/docs/guidelines/forms.md +192 -0
  15. package/docs/guidelines/index.md +121 -0
  16. package/docs/guidelines/layout-alignment.md +95 -0
  17. package/docs/guidelines/ledgers.md +45 -0
  18. package/docs/guidelines/list-pages.md +165 -0
  19. package/docs/guidelines/overviews.md +66 -0
  20. package/docs/guidelines/own-elements.md +115 -0
  21. package/docs/guidelines/reading-permissions.md +55 -0
  22. package/docs/guidelines/record-pages.md +178 -0
  23. package/docs/guidelines/reports.md +123 -0
  24. package/docs/guidelines/shell-composition.md +94 -0
  25. package/docs/guidelines/workspaces.md +46 -0
  26. package/docs/index.md +12 -0
  27. package/docs/progress-indicator.json +1 -2
  28. package/docs/progress-indicator.md +2 -2
  29. package/docs/skills/build-own-element/SKILL.md +90 -0
  30. package/docs/skills/compose-screen/SKILL.md +76 -0
  31. package/docs/skills/index.md +9 -0
  32. package/docs/skills/review-screen/SKILL.md +70 -0
  33. package/docs/skills/theme-app/SKILL.md +74 -0
  34. package/docs/skills/waiting-states/SKILL.md +139 -0
  35. package/docs/stat-card.json +1 -0
  36. package/docs/stat-card.md +1 -1
  37. package/docs/tabs.json +1 -4
  38. package/docs/tabs.md +1 -1
  39. package/docs/tokens.md +424 -0
  40. package/fesm2022/slotted-angular-app-shell.mjs +2 -2
  41. package/fesm2022/slotted-angular-app-shell.mjs.map +1 -1
  42. package/fesm2022/slotted-angular-checkbox.mjs +11 -2
  43. package/fesm2022/slotted-angular-checkbox.mjs.map +1 -1
  44. package/fesm2022/slotted-angular-column-manager.mjs +1 -1
  45. package/fesm2022/slotted-angular-column-manager.mjs.map +1 -1
  46. package/fesm2022/slotted-angular-combobox.mjs +12 -6
  47. package/fesm2022/slotted-angular-combobox.mjs.map +1 -1
  48. package/fesm2022/slotted-angular-dashboard-grid.mjs +18 -22
  49. package/fesm2022/slotted-angular-dashboard-grid.mjs.map +1 -1
  50. package/fesm2022/slotted-angular-data-grid.mjs +6 -2
  51. package/fesm2022/slotted-angular-data-grid.mjs.map +1 -1
  52. package/fesm2022/slotted-angular-data-list.mjs +1 -1
  53. package/fesm2022/slotted-angular-data-list.mjs.map +1 -1
  54. package/fesm2022/slotted-angular-drawer.mjs +5 -1
  55. package/fesm2022/slotted-angular-drawer.mjs.map +1 -1
  56. package/fesm2022/slotted-angular-event-calendar.mjs +17 -7
  57. package/fesm2022/slotted-angular-event-calendar.mjs.map +1 -1
  58. package/fesm2022/slotted-angular-loading-overlay.mjs +2 -2
  59. package/fesm2022/slotted-angular-markdown.mjs +1 -1
  60. package/fesm2022/slotted-angular-markdown.mjs.map +1 -1
  61. package/fesm2022/slotted-angular-multi-select.mjs +32 -27
  62. package/fesm2022/slotted-angular-multi-select.mjs.map +1 -1
  63. package/fesm2022/slotted-angular-number-field.mjs +2 -2
  64. package/fesm2022/slotted-angular-number-field.mjs.map +1 -1
  65. package/fesm2022/slotted-angular-progress-indicator.mjs +6 -6
  66. package/fesm2022/slotted-angular-select.mjs +1 -25
  67. package/fesm2022/slotted-angular-select.mjs.map +1 -1
  68. package/fesm2022/slotted-angular-stat-card.mjs +2 -2
  69. package/fesm2022/slotted-angular-stat-card.mjs.map +1 -1
  70. package/fesm2022/slotted-angular-table.mjs +3 -3
  71. package/fesm2022/slotted-angular-table.mjs.map +1 -1
  72. package/fesm2022/slotted-angular-tabs.mjs +2 -2
  73. package/fesm2022/slotted-angular-tabs.mjs.map +1 -1
  74. package/fesm2022/slotted-angular-transfer.mjs +1 -1
  75. package/fesm2022/slotted-angular-transfer.mjs.map +1 -1
  76. package/fesm2022/slotted-angular-upload.mjs +2 -2
  77. package/package.json +3 -3
  78. package/types/slotted-angular-checkbox.d.ts +7 -1
  79. package/types/slotted-angular-checkbox.d.ts.map +1 -1
  80. package/types/slotted-angular-combobox.d.ts.map +1 -1
  81. package/types/slotted-angular-dashboard-grid.d.ts.map +1 -1
  82. package/types/slotted-angular-data-grid.d.ts.map +1 -1
  83. package/types/slotted-angular-drawer.d.ts.map +1 -1
  84. package/types/slotted-angular-event-calendar.d.ts +9 -2
  85. package/types/slotted-angular-event-calendar.d.ts.map +1 -1
  86. package/types/slotted-angular-multi-select.d.ts +10 -0
  87. package/types/slotted-angular-multi-select.d.ts.map +1 -1
  88. package/types/slotted-angular-select.d.ts.map +1 -1
@@ -1,4 +1,4 @@
1
- import { createFilter, moveIndex } from '@slotted/core/collection';
1
+ import { createFilter, revealWithin, moveIndex } from '@slotted/core/collection';
2
2
  import { tabbables } from '@slotted/core/focus';
3
3
  import { createWidthGate } from '@slotted/core/measure';
4
4
  import { createCollapse } from '@slotted/core/overflow';
@@ -105,30 +105,6 @@ const NARROW_WIDTH = 120;
105
105
  the movement keys, the count, the entry highlight — takes the visible ones,
106
106
  which is the selector `combobox` already writes for the same reason. */
107
107
  const OPTION_SELECTOR = "[data-part='item']:not([hidden])";
108
- /**
109
- * Brings an option into view without moving the page: the nearest scrolling
110
- * box between the option and the popup surface is scrolled, by the least
111
- * distance that shows the whole row, and nothing past it. `scrollIntoView`
112
- * would scroll every ancestor too, and on the first open it runs before the
113
- * popup is positioned — a select far down a page sent the page to its top.
114
- */
115
- function revealWithin(option, surface) {
116
- let box = surface;
117
- for (let node = option.parentElement; node !== null && node !== surface; node = node.parentElement) {
118
- const overflow = getComputedStyle(node).overflowY;
119
- if (overflow === 'auto' || overflow === 'scroll') {
120
- box = node;
121
- break;
122
- }
123
- }
124
- const row = option.getBoundingClientRect();
125
- const top = box.getBoundingClientRect().top + box.clientTop;
126
- const bottom = top + box.clientHeight;
127
- if (row.top < top)
128
- box.scrollTop -= top - row.top;
129
- else if (row.bottom > bottom)
130
- box.scrollTop += Math.min(row.bottom - bottom, row.top - top);
131
- }
132
108
  const isGroup = (entry) => 'options' in entry;
133
109
  const flatten = (items) => items === undefined ? [] : items.flatMap((entry) => (isGroup(entry) ? entry.options : [entry]));
134
110
  /**