@nxgt/material 3.54.0 → 3.55.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +1 -0
  3. package/dist/{async-slice-DDSsekfm.js → async-slice-yhXT9cml.js} +2 -2
  4. package/dist/{button-Ct8DSLVv.js → button-CD7f4KFL.js} +1 -1
  5. package/dist/charts.js +3 -3
  6. package/dist/{chip-BzoNsd-W.js → chip-Cl7Wm8Pn.js} +2 -2
  7. package/dist/{code-editor-DsLQeiZc.js → code-editor-tOhXy6Qo.js} +6 -6
  8. package/dist/code-editor.js +5 -5
  9. package/dist/{code-language-items-4zXlIEZ0.js → code-language-items-BxlY6onk.js} +2 -2
  10. package/dist/components/components.css +4 -0
  11. package/dist/components/ui/display/seat-ring/seat-ring-index.css +125 -0
  12. package/dist/components/ui/display/seat-ring/seat-ring-ring.css +87 -0
  13. package/dist/components/ui/display/seat-ring/seat-ring.css +139 -0
  14. package/dist/{components-DFG2mgsM.js → components-B58ZWZYR.js} +15485 -15285
  15. package/dist/components.js +26 -26
  16. package/dist/{dialog-DwPmwmA3.js → dialog-BzfHcRo6.js} +4 -4
  17. package/dist/dnd.js +1 -1
  18. package/dist/{dropdown-menu-CDN6Nqx6.js → dropdown-menu-DUZF4xAJ.js} +1 -1
  19. package/dist/editor.js +9 -9
  20. package/dist/{empty-state-Bb9W9did.js → empty-state-D9o2id1p.js} +2 -2
  21. package/dist/{escape-owner-DI_lg2ID.js → escape-owner-BYs2_7T5.js} +1 -1
  22. package/dist/{field-blur-context-Dg1nwWOV.js → field-blur-context-ZsK8OTNg.js} +1 -1
  23. package/dist/{field-blur-BcJH8H9B.js → field-blur-r1tHwqdF.js} +1 -1
  24. package/dist/hooks.js +2 -2
  25. package/dist/{hover-card-Qse4gnop.js → hover-card-NfF8taLj.js} +2 -2
  26. package/dist/{i18n-provider-DlVPS58N.js → i18n-provider-TQAEPlJ5.js} +1 -1
  27. package/dist/i18n.js +5 -5
  28. package/dist/{icon-badge-DVPBQOKe.js → icon-badge-BlaY_a-P.js} +3 -3
  29. package/dist/{icon-button-C3wDxsh6.js → icon-button-B8tdlP6R.js} +1 -1
  30. package/dist/lib/components/ui/display/index.d.ts +1 -0
  31. package/dist/lib/components/ui/display/seat-ring/index.d.ts +2 -0
  32. package/dist/lib/components/ui/display/seat-ring/partials/empty-seat.d.ts +5 -0
  33. package/dist/lib/components/ui/display/seat-ring/partials/seat-body.d.ts +9 -0
  34. package/dist/lib/components/ui/display/seat-ring/partials/seat-item.d.ts +17 -0
  35. package/dist/lib/components/ui/display/seat-ring/seat-ring.d.ts +9 -0
  36. package/dist/lib/components/ui/display/seat-ring/seat-ring.utils.d.ts +9 -0
  37. package/dist/lib/components/ui/display/seat-ring/types.d.ts +67 -0
  38. package/dist/lib/components/ui/display/seat-ring/use-seat-ring.d.ts +12 -0
  39. package/dist/lib/components/ui/fields/contacts/placeholders.d.ts +1 -1
  40. package/dist/lib/i18n/resources/en/en.d.ts +3 -0
  41. package/dist/lib/i18n/resources/en/material.json.d.ts +3 -0
  42. package/dist/lib/i18n/resources/fr/fr.d.ts +3 -0
  43. package/dist/lib/i18n/resources/fr/material.json.d.ts +3 -0
  44. package/dist/lib/i18n/resources/resources.d.ts +6 -0
  45. package/dist/lib/i18n/translator.d.ts +1 -1
  46. package/dist/lib.js +1 -1
  47. package/dist/main.js +43 -43
  48. package/dist/map.js +8 -8
  49. package/dist/material.css +1 -1
  50. package/dist/pdf-reader.js +1 -1
  51. package/dist/print.js +2 -2
  52. package/dist/{public-BoVE0ffh.js → public-tWgM204K.js} +9 -9
  53. package/dist/{rich-code-block-DAUM7Yh_.js → rich-code-block-0OcsqURY.js} +5 -5
  54. package/dist/{sortable-provider-BLXsGE_0.js → sortable-provider-DzFAlPU_.js} +2 -2
  55. package/dist/{spinner-Rg4PnBPH.js → spinner-GKZcQmrR.js} +1 -1
  56. package/dist/{stored-language-B1lJMPbR.js → stored-language-B39mABN7.js} +2 -0
  57. package/dist/theme-picker.js +2 -2
  58. package/dist/{theme-toggle-jVdxF_mc.js → theme-toggle-C8idk_jQ.js} +1 -1
  59. package/dist/{toolbar-items-BFY_hns5.js → toolbar-items-BrJI-BCs.js} +4 -4
  60. package/dist/{translate-material-q-JNxP1m.js → translate-material-hUA-UAP6.js} +2 -2
  61. package/dist/{translator-BU1o3_l9.js → translator-1ql2sxrx.js} +1 -1
  62. package/dist/{use-chat-composer-DGbDuIUa.js → use-chat-composer-DQpb8ZXV.js} +16 -16
  63. package/dist/{use-heading-spy-CP63sAcS.js → use-heading-spy-vlPOI1Aj.js} +1 -1
  64. package/dist/{use-material-translation-nNF8fUXz.js → use-material-translation-B1p5y3s9.js} +2 -2
  65. package/docs/components/data-display.md +65 -0
  66. package/docs/previews/data-display-seatring.webp +0 -0
  67. package/lib/components/components.css +4 -0
  68. package/lib/components/ui/display/seat-ring/seat-ring-index.css +125 -0
  69. package/lib/components/ui/display/seat-ring/seat-ring-ring.css +87 -0
  70. package/lib/components/ui/display/seat-ring/seat-ring.css +139 -0
  71. package/package.json +1 -1
@@ -0,0 +1,139 @@
1
+ /* SeatRing: seats as a grid of cards, or on a circle when the box is wide
2
+ * enough. The component is a size container, so the switch follows its own
3
+ * width (a column, a dialog, a phone), never the window. The ring is pure CSS
4
+ * (trigonometry on `--i`, the seat's index, and `--n`, their count, both set by
5
+ * the attribute rules below, so server markup carries no `style`). It holds up
6
+ * to 10 seats (RING_LIMIT); more is a grid. Selected: the primary tint, a
7
+ * border and a check mark, so colour is never the only cue. */
8
+ @layer components {
9
+ .nxgt-seat-ring {
10
+ --seat: 6rem;
11
+ --seat-avatar: 2.5rem;
12
+ --seat-dir: 1;
13
+ container: seat-ring / inline-size;
14
+ }
15
+ .nxgt-seat-ring:dir(rtl) {
16
+ --seat-dir: -1;
17
+ }
18
+ .nxgt-seat-ring[data-size="sm"] {
19
+ --seat: 4.75rem;
20
+ --seat-avatar: 2rem;
21
+ }
22
+ .nxgt-seat-ring[data-size="lg"] {
23
+ --seat: 8rem;
24
+ --seat-avatar: 3.5rem;
25
+ }
26
+
27
+ .nxgt-seat-ring [data-slot="seat-ring-orbit"] {
28
+ display: flex;
29
+ flex-direction: column;
30
+ gap: 0.75rem;
31
+ }
32
+ .nxgt-seat-ring [data-slot="seat-ring-center"] {
33
+ order: -1;
34
+ display: grid;
35
+ place-items: center;
36
+ text-align: center;
37
+ }
38
+ .nxgt-seat-ring [data-slot="seat-ring-list"] {
39
+ display: grid;
40
+ grid-template-columns: repeat(
41
+ auto-fill,
42
+ minmax(min(var(--seat), 100%), 1fr)
43
+ );
44
+ gap: 0.5rem;
45
+ margin: 0;
46
+ padding: 0;
47
+ list-style: none;
48
+ }
49
+ @container seat-ring (max-width: 30rem) {
50
+ .nxgt-seat-ring [data-slot="seat-ring-list"] {
51
+ grid-template-columns: repeat(2, minmax(0, 1fr));
52
+ }
53
+ }
54
+
55
+ .nxgt-seat-ring [data-slot="seat-ring-seat"] {
56
+ position: relative;
57
+ display: flex;
58
+ flex-direction: column;
59
+ align-items: center;
60
+ gap: 0.25rem;
61
+ min-inline-size: 0;
62
+ min-block-size: 2.75rem;
63
+ padding: 0.5rem 0.375rem;
64
+ border: 1px solid var(--border);
65
+ border-radius: var(--radius-lg, 0.75rem);
66
+ background: var(--card, var(--background));
67
+ color: var(--foreground);
68
+ text-align: center;
69
+ transition:
70
+ background-color 150ms,
71
+ border-color 150ms;
72
+ }
73
+ .nxgt-seat-ring [data-slot="seat-ring-label"] {
74
+ max-inline-size: 100%;
75
+ overflow-wrap: anywhere;
76
+ font-size: 0.875rem;
77
+ font-weight: 500;
78
+ line-height: 1.25;
79
+ }
80
+ .nxgt-seat-ring [data-slot="seat-ring-badge"] {
81
+ position: absolute;
82
+ inset-block-start: -0.5rem;
83
+ inset-inline-end: 0.25rem;
84
+ }
85
+ .nxgt-seat-ring [data-slot="seat-ring-mark"] {
86
+ position: absolute;
87
+ inset-block-start: 0.25rem;
88
+ inset-inline-start: 0.25rem;
89
+ display: grid;
90
+ inline-size: 1rem;
91
+ block-size: 1rem;
92
+ color: var(--primary-text, var(--primary));
93
+ }
94
+ .nxgt-seat-ring [data-slot="seat-ring-empty-circle"] {
95
+ inline-size: var(--seat-avatar);
96
+ block-size: var(--seat-avatar);
97
+ border: 2px dashed var(--border);
98
+ border-radius: 9999px;
99
+ }
100
+ .nxgt-seat-ring [data-empty] {
101
+ border-style: dashed;
102
+ background: transparent;
103
+ }
104
+ .nxgt-seat-ring [data-highlighted] {
105
+ border-color: var(--primary-indicator, var(--primary));
106
+ box-shadow: 0 0 0 2px var(--primary-indicator, var(--primary));
107
+ }
108
+ .nxgt-seat-ring [role="option"]:not([aria-disabled="true"]) {
109
+ cursor: pointer;
110
+ }
111
+ .nxgt-seat-ring [role="option"]:not([aria-disabled="true"]):hover {
112
+ background: color-mix(
113
+ in oklab,
114
+ var(--primary-text, var(--primary)) 8%,
115
+ var(--card, var(--background))
116
+ );
117
+ }
118
+ .nxgt-seat-ring [role="option"][aria-selected="true"] {
119
+ border-color: var(--primary-text, var(--primary));
120
+ background: color-mix(
121
+ in oklab,
122
+ var(--primary-text, var(--primary)) 12%,
123
+ var(--card, var(--background))
124
+ );
125
+ }
126
+ .nxgt-seat-ring [role="option"][aria-disabled="true"],
127
+ .nxgt-seat-ring [aria-disabled="true"] {
128
+ opacity: 0.6;
129
+ }
130
+ .nxgt-seat-ring [role="option"]:focus-visible {
131
+ outline: 2px solid var(--ring);
132
+ outline-offset: 2px;
133
+ }
134
+ @media (prefers-reduced-motion: reduce) {
135
+ .nxgt-seat-ring [data-slot="seat-ring-seat"] {
136
+ transition: none;
137
+ }
138
+ }
139
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nxgt/material",
3
- "version": "3.54.0",
3
+ "version": "3.55.0",
4
4
  "license": "MIT",
5
5
  "bugs": {
6
6
  "email": "stevegires@gmail.com"