@fristil/designsystem 0.4.0 → 0.5.1

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 (116) hide show
  1. package/CHANGELOG.md +136 -0
  2. package/README.md +22 -7
  3. package/dist/components/frittstaende/connection-status/connection-status.d.ts +28 -0
  4. package/dist/components/frittstaende/connection-status/connection-status.d.ts.map +1 -0
  5. package/dist/components/frittstaende/connection-status/connection-status.js +22 -0
  6. package/dist/components/frittstaende/connection-status/connection-status.js.map +1 -0
  7. package/dist/components/frittstaende/connection-status/fs-connection-status.d.ts +54 -0
  8. package/dist/components/frittstaende/connection-status/fs-connection-status.d.ts.map +1 -0
  9. package/dist/components/frittstaende/connection-status/fs-connection-status.js +123 -0
  10. package/dist/components/frittstaende/connection-status/fs-connection-status.js.map +1 -0
  11. package/dist/components/frittstaende/session-timeout/fs-session-timeout.d.ts +56 -0
  12. package/dist/components/frittstaende/session-timeout/fs-session-timeout.d.ts.map +1 -0
  13. package/dist/components/frittstaende/session-timeout/fs-session-timeout.js +183 -0
  14. package/dist/components/frittstaende/session-timeout/fs-session-timeout.js.map +1 -0
  15. package/dist/components/frittstaende/session-timeout/session-timeout.d.ts +28 -0
  16. package/dist/components/frittstaende/session-timeout/session-timeout.d.ts.map +1 -0
  17. package/dist/components/frittstaende/session-timeout/session-timeout.js +22 -0
  18. package/dist/components/frittstaende/session-timeout/session-timeout.js.map +1 -0
  19. package/dist/components/frittstaende/toast/fs-toast.d.ts +16 -22
  20. package/dist/components/frittstaende/toast/fs-toast.d.ts.map +1 -1
  21. package/dist/components/frittstaende/toast/fs-toast.js +38 -27
  22. package/dist/components/frittstaende/toast/fs-toast.js.map +1 -1
  23. package/dist/components/frittstaende/toast/toast.d.ts +34 -0
  24. package/dist/components/frittstaende/toast/toast.d.ts.map +1 -0
  25. package/dist/components/frittstaende/toast/toast.js +26 -0
  26. package/dist/components/frittstaende/toast/toast.js.map +1 -0
  27. package/dist/components/ramme/error-summary/error-summary.d.ts +39 -0
  28. package/dist/components/ramme/error-summary/error-summary.d.ts.map +1 -0
  29. package/dist/components/ramme/error-summary/error-summary.js +31 -0
  30. package/dist/components/ramme/error-summary/error-summary.js.map +1 -0
  31. package/dist/components/ramme/error-summary/fs-error-summary.d.ts +16 -42
  32. package/dist/components/ramme/error-summary/fs-error-summary.d.ts.map +1 -1
  33. package/dist/components/ramme/error-summary/fs-error-summary.js +57 -92
  34. package/dist/components/ramme/error-summary/fs-error-summary.js.map +1 -1
  35. package/dist/components/ramme/field/field-core.d.ts +37 -0
  36. package/dist/components/ramme/field/field-core.d.ts.map +1 -1
  37. package/dist/components/ramme/field/field-core.js +37 -0
  38. package/dist/components/ramme/field/field-core.js.map +1 -1
  39. package/dist/components/ramme/field/fs-field.d.ts +39 -40
  40. package/dist/components/ramme/field/fs-field.d.ts.map +1 -1
  41. package/dist/components/ramme/field/fs-field.js +128 -54
  42. package/dist/components/ramme/field/fs-field.js.map +1 -1
  43. package/dist/components/ramme/popover/fs-popover.d.ts +20 -27
  44. package/dist/components/ramme/popover/fs-popover.d.ts.map +1 -1
  45. package/dist/components/ramme/popover/fs-popover.js +68 -54
  46. package/dist/components/ramme/popover/fs-popover.js.map +1 -1
  47. package/dist/components/ramme/popover/popover.d.ts +43 -0
  48. package/dist/components/ramme/popover/popover.d.ts.map +1 -0
  49. package/dist/components/ramme/popover/popover.js +49 -0
  50. package/dist/components/ramme/popover/popover.js.map +1 -0
  51. package/dist/components/ramme/suggestion/fs-suggestion.d.ts +75 -0
  52. package/dist/components/ramme/suggestion/fs-suggestion.d.ts.map +1 -0
  53. package/dist/components/ramme/suggestion/fs-suggestion.js +232 -0
  54. package/dist/components/ramme/suggestion/fs-suggestion.js.map +1 -0
  55. package/dist/components/ramme/suggestion/suggestion.d.ts +97 -0
  56. package/dist/components/ramme/suggestion/suggestion.d.ts.map +1 -0
  57. package/dist/components/ramme/suggestion/suggestion.js +79 -0
  58. package/dist/components/ramme/suggestion/suggestion.js.map +1 -0
  59. package/dist/components/ramme/tabs/fs-tabs.d.ts +31 -36
  60. package/dist/components/ramme/tabs/fs-tabs.d.ts.map +1 -1
  61. package/dist/components/ramme/tabs/fs-tabs.js +62 -84
  62. package/dist/components/ramme/tabs/fs-tabs.js.map +1 -1
  63. package/dist/components/ramme/tabs/tabs.d.ts +50 -0
  64. package/dist/components/ramme/tabs/tabs.d.ts.map +1 -0
  65. package/dist/components/ramme/tabs/tabs.js +54 -0
  66. package/dist/components/ramme/tabs/tabs.js.map +1 -0
  67. package/dist/fs.d.ts +94 -0
  68. package/dist/fs.d.ts.map +1 -1
  69. package/dist/fs.js +42 -0
  70. package/dist/fs.js.map +1 -1
  71. package/dist/index.d.ts +10 -3
  72. package/dist/index.d.ts.map +1 -1
  73. package/dist/index.js +10 -3
  74. package/dist/index.js.map +1 -1
  75. package/dist/jsx/react.d.ts +35 -50
  76. package/dist/jsx/react.d.ts.map +1 -1
  77. package/dist/react.d.ts +142 -1
  78. package/dist/react.d.ts.map +1 -1
  79. package/dist/react.js +77 -2
  80. package/dist/react.js.map +1 -1
  81. package/package.json +15 -18
  82. package/src/components/frittstaende/connection-status/connection-status.css +33 -0
  83. package/src/components/frittstaende/connection-status/connection-status.ts +41 -0
  84. package/src/components/frittstaende/connection-status/fs-connection-status.ts +144 -0
  85. package/src/components/frittstaende/session-timeout/fs-session-timeout.ts +216 -0
  86. package/src/components/frittstaende/session-timeout/session-timeout.css +43 -0
  87. package/src/components/frittstaende/session-timeout/session-timeout.ts +42 -0
  88. package/src/components/frittstaende/toast/fs-toast.ts +39 -30
  89. package/src/components/frittstaende/toast/toast.ts +45 -0
  90. package/src/components/ramme/error-summary/error-summary.ts +55 -0
  91. package/src/components/ramme/error-summary/fs-error-summary.ts +62 -119
  92. package/src/components/ramme/field/field-core.ts +38 -0
  93. package/src/components/ramme/field/fs-field.ts +145 -61
  94. package/src/components/ramme/popover/fs-popover.ts +78 -72
  95. package/src/components/ramme/popover/popover.ts +79 -0
  96. package/src/components/ramme/suggestion/fs-suggestion.ts +265 -0
  97. package/src/components/ramme/suggestion/suggestion.ts +105 -0
  98. package/src/components/ramme/tabs/fs-tabs.ts +67 -98
  99. package/src/components/ramme/tabs/tabs.ts +104 -0
  100. package/dist/components/frittstaende/calendar/fs-calendar.d.ts +0 -52
  101. package/dist/components/frittstaende/calendar/fs-calendar.d.ts.map +0 -1
  102. package/dist/components/frittstaende/calendar/fs-calendar.js +0 -462
  103. package/dist/components/frittstaende/calendar/fs-calendar.js.map +0 -1
  104. package/dist/components/frittstaende/date-field/fs-date-field.d.ts +0 -110
  105. package/dist/components/frittstaende/date-field/fs-date-field.d.ts.map +0 -1
  106. package/dist/components/frittstaende/date-field/fs-date-field.js +0 -264
  107. package/dist/components/frittstaende/date-field/fs-date-field.js.map +0 -1
  108. package/dist/components/frittstaende/suggestion/fs-suggestion.d.ts +0 -133
  109. package/dist/components/frittstaende/suggestion/fs-suggestion.d.ts.map +0 -1
  110. package/dist/components/frittstaende/suggestion/fs-suggestion.js +0 -280
  111. package/dist/components/frittstaende/suggestion/fs-suggestion.js.map +0 -1
  112. package/src/components/frittstaende/calendar/fs-calendar.ts +0 -525
  113. package/src/components/frittstaende/date-field/date-field.css +0 -54
  114. package/src/components/frittstaende/date-field/fs-date-field.ts +0 -309
  115. package/src/components/frittstaende/suggestion/fs-suggestion.ts +0 -333
  116. /package/src/components/{frittstaende → ramme}/suggestion/suggestion.css +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"fs-tabs.d.ts","sourceRoot":"","sources":["../../../../src/components/ramme/tabs/fs-tabs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAA;AAEtC,eAAO,MAAM,WAAW,EAAG,SAAkB,CAAA;AAE7C,eAAO,MAAM,eAAe,EAAG,eAAwB,CAAA;AACvD,eAAO,MAAM,gBAAgB,EAAG,gBAAyB,CAAA;AAMzD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,MAAO,SAAQ,UAAU;IACpC,MAAM,CAAC,UAAU;;;;;;;;MAGhB;IAED,sCAAsC;IACtC,QAAQ,SAAI;IACZ,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd,gBAAgB;IAIhB,MAAM;IAIN,YAAY;IAIZ,OAAO;IAIP,OAAO,CAAC,gBAAgB,CAEvB;IAED,OAAO,KAAK,IAAI,GAGf;IAED,OAAO,KAAK,MAAM,GAEjB;IAED,OAAO,CAAC,IAAI;IA8CZ,OAAO,CAAC,WAAW,CAGlB;IAED,OAAO,CAAC,aAAa,CA2BpB;IAED,oCAAoC;IACpC,MAAM,CAAC,KAAK,EAAE,MAAM;CAcrB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,SAAS,EAAE,MAAM,CAAA;KAClB;CACF;AAED,wBAAgB,YAAY,CAAC,OAAO,YAAc,GAAG,IAAI,CAIxD"}
1
+ {"version":3,"file":"fs-tabs.d.ts","sourceRoot":"","sources":["../../../../src/components/ramme/tabs/fs-tabs.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,EAAG,SAAkB,CAAA;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,MAAO,SAAQ,WAAW;IACrC;;;;OAIG;IACH,MAAM,CAAC,kBAAkB,EAAE,MAAM,EAAE,CAAK;IAExC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA+B;IACrD,OAAO,CAAC,QAAQ,CAAC,CAAkB;IAEnC,iBAAiB,IAAI,IAAI;IAMzB,oBAAoB,IAAI,IAAI;IAU5B,OAAO,KAAK,IAAI,GAEf;IAED,OAAO,KAAK,MAAM,GAEjB;IAED,wDAAwD;IACxD,IAAI,QAAQ,IAAI,MAAM,CAKrB;IAED,OAAO,CAAC,IAAI;IASZ,OAAO,CAAC,WAAW,CAGlB;IAED,OAAO,CAAC,aAAa,CA2BpB;IAED,oCAAoC;IACpC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAsB5B;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,SAAS,EAAE,MAAM,CAAA;KAClB;CACF;AAED,wBAAgB,YAAY,CAAC,OAAO,YAAc,GAAG,IAAI,CAIxD"}
@@ -1,41 +1,35 @@
1
- import { html, LitElement } from "lit";
2
1
  export const FS_TABS_TAG = "fs-tabs";
3
- export const TABS_LIST_CLASS = "fs-tabs__list";
4
- export const TABS_PANEL_CLASS = "fs-tabs__panel";
5
- function uniqueId(prefix) {
6
- return `${prefix}-${Math.random().toString(36).slice(2, 9)}`;
7
- }
8
2
  /**
9
- * Kobler en rad med knapper til panelene de hører til.
3
+ * Tastaturet i en fanerad.
4
+ *
5
+ * Serveren skriver rollene, `aria-controls` og `hidden` med `fs.tabs()`.
6
+ * Gjorde komponenten det, ville alle panelene vises til skriptet hadde kjørt,
7
+ * og innholdet hoppe når panelene skjulte seg selv. I en Datastar-app ville
8
+ * de dessuten komme tilbake ved hver patch.
10
9
  *
11
- * Du skriver knappene og panelene selv. Komponenten setter rollene, holder
12
- * `aria-selected` og `aria-controls` i synk, skjuler panelene som ikke er
13
- * valgt, og tar piltastene.
10
+ * Det komponenten gjør er det nettleseren ikke gjør selv: Tab hopper forbi
11
+ * hele raden og inn i panelet, mens piltastene flytter mellom fanene. Et sett
12
+ * knapper uten dette gir én tabbestopp per fane, og skjermleseren sier
13
+ * «knapp» der den skulle sagt «fane, 2 av 3, valgt».
14
14
  *
15
- * Tastaturet er hele grunnen til at komponenten finnes. I en faneliste skal
16
- * Tab hoppe forbi hele raden og inn i panelet, mens piltastene flytter mellom
17
- * fanene. Et sett knapper uten denne koblingen gir én tabbestopp per fane, og
18
- * skjermleseren sier «knapp» der den skulle sagt «fane, 2 av 3, valgt».
15
+ * Attributtene som endrer seg når brukeren velger, altså `aria-selected`,
16
+ * `tabindex` og `hidden`, står i `data-preserve-attr` fra byggeren.
19
17
  *
20
18
  * ```html
21
19
  * <fs-tabs>
22
- * <div class="fs-tabs__list">
23
- * <button>Søknaden</button>
24
- * <button>Vedlegg</button>
20
+ * <div class="fs-tabs__list" role="tablist">
21
+ * <button id="sak-tab-0" role="tab" aria-selected="true" aria-controls="sak-panel-0"
22
+ * tabindex="0" data-preserve-attr="aria-selected tabindex">Søknaden</button>
25
23
  * </div>
26
- * <div class="fs-tabs__panel">…</div>
27
- * <div class="fs-tabs__panel">…</div>
24
+ * <div id="sak-panel-0" class="fs-tabs__panel" role="tabpanel"
25
+ * aria-labelledby="sak-tab-0" tabindex="0" data-preserve-attr="hidden">…</div>
28
26
  * </fs-tabs>
29
27
  * ```
30
28
  */
31
- export class FsTabs extends LitElement {
29
+ export class FsTabs extends HTMLElement {
32
30
  constructor() {
33
31
  super(...arguments);
34
- /** Indeksen fanen som er valgt. */
35
- this.selected = 0;
36
- this.handleSlotChange = () => {
37
- this.sync();
38
- };
32
+ this.bound = new Set();
39
33
  this.handleClick = (event) => {
40
34
  const index = this.tabs.indexOf(event.currentTarget);
41
35
  if (index >= 0)
@@ -69,74 +63,56 @@ export class FsTabs extends LitElement {
69
63
  tabs[next].focus();
70
64
  };
71
65
  }
72
- createRenderRoot() {
73
- return this;
66
+ connectedCallback() {
67
+ this.observer = new MutationObserver(() => this.bind());
68
+ this.observer.observe(this, { childList: true, subtree: true });
69
+ this.bind();
74
70
  }
75
- render() {
76
- return html `<slot @slotchange=${this.handleSlotChange}></slot>`;
77
- }
78
- firstUpdated() {
79
- this.sync();
80
- }
81
- updated() {
82
- this.sync();
71
+ disconnectedCallback() {
72
+ this.observer?.disconnect();
73
+ this.observer = undefined;
74
+ for (const tab of this.bound) {
75
+ tab.removeEventListener("click", this.handleClick);
76
+ tab.removeEventListener("keydown", this.handleKeydown);
77
+ }
78
+ this.bound.clear();
83
79
  }
84
80
  get tabs() {
85
- const list = this.querySelector(`.${TABS_LIST_CLASS}`);
86
- return list ? [...list.querySelectorAll("button")] : [];
81
+ return [...this.querySelectorAll("[role='tab']")];
87
82
  }
88
83
  get panels() {
89
- return [...this.querySelectorAll(`.${TABS_PANEL_CLASS}`)];
84
+ return [...this.querySelectorAll("[role='tabpanel']")];
90
85
  }
91
- sync() {
92
- const list = this.querySelector(`.${TABS_LIST_CLASS}`);
93
- const tabs = this.tabs;
94
- const panels = this.panels;
95
- if (!list || tabs.length === 0)
96
- return;
97
- list.setAttribute("role", "tablist");
98
- if (this.label)
99
- list.setAttribute("aria-label", this.label);
100
- // Er `selected` satt utenfor rekkevidde, rettes den her. Ellers ville
101
- // attributtet sagt noe annet enn det brukeren ser.
102
- const valid = Math.min(Math.max(this.selected, 0), tabs.length - 1);
103
- if (valid !== this.selected)
104
- this.selected = valid;
105
- tabs.forEach((tab, index) => {
106
- const panel = panels[index];
107
- if (!tab.id)
108
- tab.id = uniqueId("fs-tab");
109
- if (panel && !panel.id)
110
- panel.id = uniqueId("fs-tabpanel");
111
- const isSelected = index === valid;
112
- tab.setAttribute("role", "tab");
113
- tab.setAttribute("type", "button");
114
- tab.setAttribute("aria-selected", String(isSelected));
115
- // Roving tabindex: bare den valgte fanen er en tabbestopp, så Tab går
116
- // fra raden og rett inn i panelet.
117
- tab.tabIndex = isSelected ? 0 : -1;
118
- if (panel)
119
- tab.setAttribute("aria-controls", panel.id);
120
- tab.removeEventListener("click", this.handleClick);
86
+ /** Indeksen på fanen serveren har markert som valgt. */
87
+ get selected() {
88
+ const index = this.tabs.findIndex((tab) => tab.getAttribute("aria-selected") === "true");
89
+ return index < 0 ? 0 : index;
90
+ }
91
+ bind() {
92
+ for (const tab of this.tabs) {
93
+ if (this.bound.has(tab))
94
+ continue;
121
95
  tab.addEventListener("click", this.handleClick);
122
- tab.removeEventListener("keydown", this.handleKeydown);
123
96
  tab.addEventListener("keydown", this.handleKeydown);
124
- if (panel) {
125
- panel.setAttribute("role", "tabpanel");
126
- panel.setAttribute("aria-labelledby", tab.id);
127
- panel.hidden = !isSelected;
128
- // Panelet får fokus når det ikke har noe å fokusere på selv, ellers
129
- // hopper Tab rett forbi innholdet som nettopp ble vist.
130
- panel.tabIndex = 0;
131
- }
132
- });
97
+ this.bound.add(tab);
98
+ }
133
99
  }
134
100
  /** Velger en fane og melder fra. */
135
101
  select(index) {
102
+ const tabs = this.tabs;
103
+ const panels = this.panels;
104
+ if (index < 0 || index >= tabs.length)
105
+ return;
136
106
  if (index === this.selected)
137
107
  return;
138
- this.selected = index;
139
- this.sync();
108
+ tabs.forEach((tab, i) => {
109
+ const valgt = i === index;
110
+ tab.setAttribute("aria-selected", String(valgt));
111
+ tab.tabIndex = valgt ? 0 : -1;
112
+ const panel = panels[i];
113
+ if (panel)
114
+ panel.hidden = !valgt;
115
+ });
140
116
  this.dispatchEvent(new CustomEvent("tab-select", {
141
117
  detail: { index },
142
118
  bubbles: true,
@@ -144,10 +120,12 @@ export class FsTabs extends LitElement {
144
120
  }));
145
121
  }
146
122
  }
147
- FsTabs.properties = {
148
- selected: { type: Number, reflect: true },
149
- label: { type: String },
150
- };
123
+ /**
124
+ * Ingen attributter. Hvilken fane som er valgt står i markupen serveren
125
+ * sendte, som `aria-selected` på fanen og `hidden` på panelene, og leses
126
+ * derfra. Et eget `selected` ville vært en parallell utgave av det samme.
127
+ */
128
+ FsTabs.observedAttributes = [];
151
129
  export function defineFsTabs(tagName = FS_TABS_TAG) {
152
130
  if (!customElements.get(tagName)) {
153
131
  customElements.define(tagName, FsTabs);
@@ -1 +1 @@
1
- {"version":3,"file":"fs-tabs.js","sourceRoot":"","sources":["../../../../src/components/ramme/tabs/fs-tabs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fs-tabs.js","sourceRoot":"","sources":["../../../../src/components/ramme/tabs/fs-tabs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ export declare const TABS_LIST_CLASS: "fs-tabs__list";
2
+ export declare const TABS_PANEL_CLASS: "fs-tabs__panel";
3
+ export type TabsOptions = {
4
+ /** Felles id-stamme. Fanene blir `${id}-tab-0`, panelene `${id}-panel-0`. */
5
+ id: string;
6
+ /** Antall faner. */
7
+ count: number;
8
+ /** Indeksen på fanen som er valgt. Standard: 0. */
9
+ selected?: number;
10
+ /** Tekst som sier hva fanene velger mellom. Blir `aria-label` på raden. */
11
+ label?: string;
12
+ };
13
+ export type TabsAttributes = {
14
+ list: {
15
+ class: typeof TABS_LIST_CLASS;
16
+ role: "tablist";
17
+ "aria-label"?: string;
18
+ };
19
+ tabs: Array<{
20
+ id: string;
21
+ role: "tab";
22
+ type: "button";
23
+ "aria-selected": "true" | "false";
24
+ "aria-controls": string;
25
+ tabindex: "0" | "-1";
26
+ "data-preserve-attr": "aria-selected tabindex";
27
+ }>;
28
+ panels: Array<{
29
+ id: string;
30
+ class: typeof TABS_PANEL_CLASS;
31
+ role: "tabpanel";
32
+ "aria-labelledby": string;
33
+ tabindex: "0";
34
+ hidden?: true;
35
+ "data-preserve-attr": "hidden";
36
+ }>;
37
+ };
38
+ /**
39
+ * Attributtene for en fanerad.
40
+ *
41
+ * Serveren skriver rollene og skjuler panelene som ikke er valgt. Gjorde
42
+ * komponenten det, ville alle panelene vises til skriptet hadde kjørt, og
43
+ * innholdet hoppe når det skjulte seg selv.
44
+ *
45
+ * ```ts
46
+ * const faner = fs.tabs({ id: "sak", count: 2, selected: 1, label: "Velg visning" })
47
+ * ```
48
+ */
49
+ export declare const tabs: ({ id, count, selected, label, }: TabsOptions) => TabsAttributes;
50
+ //# sourceMappingURL=tabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../../../src/components/ramme/tabs/tabs.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,EAAG,eAAwB,CAAA;AACvD,eAAO,MAAM,gBAAgB,EAAG,gBAAyB,CAAA;AAEzD,MAAM,MAAM,WAAW,GAAG;IACxB,6EAA6E;IAC7E,EAAE,EAAE,MAAM,CAAA;IACV,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE;QACJ,KAAK,EAAE,OAAO,eAAe,CAAA;QAC7B,IAAI,EAAE,SAAS,CAAA;QACf,YAAY,CAAC,EAAE,MAAM,CAAA;KACtB,CAAA;IACD,IAAI,EAAE,KAAK,CAAC;QACV,EAAE,EAAE,MAAM,CAAA;QACV,IAAI,EAAE,KAAK,CAAA;QACX,IAAI,EAAE,QAAQ,CAAA;QACd,eAAe,EAAE,MAAM,GAAG,OAAO,CAAA;QACjC,eAAe,EAAE,MAAM,CAAA;QACvB,QAAQ,EAAE,GAAG,GAAG,IAAI,CAAA;QACpB,oBAAoB,EAAE,wBAAwB,CAAA;KAC/C,CAAC,CAAA;IACF,MAAM,EAAE,KAAK,CAAC;QACZ,EAAE,EAAE,MAAM,CAAA;QACV,KAAK,EAAE,OAAO,gBAAgB,CAAA;QAC9B,IAAI,EAAE,UAAU,CAAA;QAChB,iBAAiB,EAAE,MAAM,CAAA;QACzB,QAAQ,EAAE,GAAG,CAAA;QACb,MAAM,CAAC,EAAE,IAAI,CAAA;QACb,oBAAoB,EAAE,QAAQ,CAAA;KAC/B,CAAC,CAAA;CACH,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,IAAI,GAAI,iCAKlB,WAAW,KAAG,cA6ChB,CAAA"}
@@ -0,0 +1,54 @@
1
+ import { attributes } from "../../css/shared.js";
2
+ export const TABS_LIST_CLASS = "fs-tabs__list";
3
+ export const TABS_PANEL_CLASS = "fs-tabs__panel";
4
+ /**
5
+ * Attributtene for en fanerad.
6
+ *
7
+ * Serveren skriver rollene og skjuler panelene som ikke er valgt. Gjorde
8
+ * komponenten det, ville alle panelene vises til skriptet hadde kjørt, og
9
+ * innholdet hoppe når det skjulte seg selv.
10
+ *
11
+ * ```ts
12
+ * const faner = fs.tabs({ id: "sak", count: 2, selected: 1, label: "Velg visning" })
13
+ * ```
14
+ */
15
+ export const tabs = ({ id, count, selected = 0, label, }) => {
16
+ // Er `selected` utenfor rekkevidde, rettes den her. Ellers ville markupen
17
+ // sagt noe annet enn det brukeren ser.
18
+ const valid = Math.min(Math.max(selected, 0), Math.max(count - 1, 0));
19
+ const tabId = (index) => `${id}-tab-${index}`;
20
+ const panelId = (index) => `${id}-panel-${index}`;
21
+ const indices = Array.from({ length: count }, (_, index) => index);
22
+ return {
23
+ list: attributes({
24
+ class: TABS_LIST_CLASS,
25
+ role: "tablist",
26
+ "aria-label": label,
27
+ }),
28
+ tabs: indices.map((index) => attributes({
29
+ id: tabId(index),
30
+ role: "tab",
31
+ type: "button",
32
+ "aria-selected": (index === valid ? "true" : "false"),
33
+ "aria-controls": panelId(index),
34
+ // Rullerende tabindex: bare den valgte fanen er en tabbestopp, så Tab
35
+ // går fra raden og rett inn i panelet.
36
+ tabindex: (index === valid ? "0" : "-1"),
37
+ // Komponenten flytter valget når brukeren klikker. Morfingen ville
38
+ // ellers satt det tilbake til det serveren sendte.
39
+ "data-preserve-attr": "aria-selected tabindex",
40
+ })),
41
+ panels: indices.map((index) => attributes({
42
+ id: panelId(index),
43
+ class: TABS_PANEL_CLASS,
44
+ role: "tabpanel",
45
+ "aria-labelledby": tabId(index),
46
+ // Panelet får fokus når det ikke har noe å fokusere på selv, ellers
47
+ // hopper Tab rett forbi innholdet som nettopp ble vist.
48
+ tabindex: "0",
49
+ hidden: index === valid ? undefined : true,
50
+ "data-preserve-attr": "hidden",
51
+ })),
52
+ };
53
+ };
54
+ //# sourceMappingURL=tabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../../../src/components/ramme/tabs/tabs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAEhD,MAAM,CAAC,MAAM,eAAe,GAAG,eAAwB,CAAA;AACvD,MAAM,CAAC,MAAM,gBAAgB,GAAG,gBAAyB,CAAA;AAuCzD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,EACnB,EAAE,EACF,KAAK,EACL,QAAQ,GAAG,CAAC,EACZ,KAAK,GACO,EAAkB,EAAE;IAChC,0EAA0E;IAC1E,uCAAuC;IACvC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACrE,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,EAAE,CAAA;IACrD,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,EAAE,CAAA;IACzD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAA;IAElE,OAAO;QACL,IAAI,EAAE,UAAU,CAAC;YACf,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,SAAkB;YACxB,YAAY,EAAE,KAAK;SACpB,CAAC;QACF,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC1B,UAAU,CAAC;YACT,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC;YAChB,IAAI,EAAE,KAAc;YACpB,IAAI,EAAE,QAAiB;YACvB,eAAe,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAEzC;YACX,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC;YAC/B,sEAAsE;YACtE,uCAAuC;YACvC,QAAQ,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAe;YACtD,mEAAmE;YACnE,mDAAmD;YACnD,oBAAoB,EAAE,wBAAiC;SACxD,CAAC,CACH;QACD,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC5B,UAAU,CAAC;YACT,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC;YAClB,KAAK,EAAE,gBAAgB;YACvB,IAAI,EAAE,UAAmB;YACzB,iBAAiB,EAAE,KAAK,CAAC,KAAK,CAAC;YAC/B,oEAAoE;YACpE,wDAAwD;YACxD,QAAQ,EAAE,GAAY;YACtB,MAAM,EAAE,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,IAAc;YACrD,oBAAoB,EAAE,QAAiB;SACxC,CAAC,CACH;KACF,CAAA;AACH,CAAC,CAAA"}
package/dist/fs.d.ts CHANGED
@@ -58,6 +58,11 @@ export declare const fs: {
58
58
  states: readonly ["default", "invalid", "success"];
59
59
  isState: (value: string) => value is "default" | "success" | "invalid";
60
60
  };
61
+ /**
62
+ * Linja som sier fra at forbindelsen til serveren er borte. Serveren kan
63
+ * ikke melde det selv, så `<fs-connection-status>` eier innholdet.
64
+ */
65
+ readonly connectionStatus: ({ offlineText, onlineText, }?: import("./index.js").ConnectionStatusOptions) => import("./index.js").ConnectionStatusAttributes;
61
66
  readonly dialog: (() => import("./index.js").DialogAttributes) & {
62
67
  title: "fs-dialog__title";
63
68
  body: "fs-dialog__body";
@@ -71,6 +76,11 @@ export declare const fs: {
71
76
  variants: readonly ["error", "warning"];
72
77
  isVariant: (value: string) => value is "error" | "warning";
73
78
  };
79
+ /**
80
+ * Feiloppsummeringen over et skjema. Serveren skriver hele boksen, også
81
+ * overskriften, og `<fs-error-summary>` flytter bare fokus.
82
+ */
83
+ readonly errorSummary: ({ count, id, }?: import("./index.js").ErrorSummaryOptions) => import("./index.js").ErrorSummaryAttributes;
74
84
  /**
75
85
  * Kobler sammen ledetekst, felt, hjelpetekst og feilmelding.
76
86
  *
@@ -133,6 +143,11 @@ export declare const fs: {
133
143
  variants: readonly ["default", "lead"];
134
144
  isVariant: (value: string) => value is "default" | "lead";
135
145
  };
146
+ /**
147
+ * Knappen og panelet i et sprettoppvindu. `<fs-popover>` regner ut
148
+ * posisjonen, serveren skriver koblingen.
149
+ */
150
+ readonly popover: ({ id, open, }: import("./index.js").PopoverOptions) => import("./index.js").PopoverAttributes;
136
151
  readonly radio: (({ state }?: import("./index.js").RadioOptions) => import("./index.js").RadioAttributes) & {
137
152
  row: "fs-radio-row";
138
153
  states: readonly ["default", "invalid", "success"];
@@ -147,6 +162,11 @@ export declare const fs: {
147
162
  states: readonly ["default", "invalid", "success"];
148
163
  isState: (value: string) => value is "default" | "success" | "invalid";
149
164
  };
165
+ /**
166
+ * Varselet om at innlogget økt går ut. Nedtellingen er klientens klokke,
167
+ * så `<fs-session-timeout>` eier innholdet.
168
+ */
169
+ readonly sessionTimeout: ({ warnAt, expiresAt, }?: import("./index.js").SessionTimeoutOptions) => import("./index.js").SessionTimeoutAttributes;
150
170
  readonly skeleton: (({ variant }?: import("./index.js").SkeletonOptions) => import("./index.js").SkeletonAttributes) & {
151
171
  variants: readonly ["block", "text", "circle"];
152
172
  isVariant: (value: string) => value is "text" | "circle" | "block";
@@ -158,10 +178,84 @@ export declare const fs: {
158
178
  };
159
179
  /** Tekst bare skjermlesere skal få. Krever `sr-only.css`. */
160
180
  readonly srOnly: () => import("./index.js").SrOnlyAttributes;
181
+ /**
182
+ * Feltet og forslagslista. `<fs-suggestion>` tar tastaturet og
183
+ * filtreringen, serveren skriver markupen.
184
+ */
185
+ readonly suggestion: ({ id, count, activeIndex, open, ...field }: import("./index.js").SuggestionOptions) => {
186
+ label: {
187
+ class: "fs-label";
188
+ for: string;
189
+ "data-required"?: import("./index.js").RequiredMarker;
190
+ "data-optional"?: "";
191
+ "aria-disabled"?: "true";
192
+ };
193
+ field: {
194
+ class: "fs-suggestion__field";
195
+ };
196
+ control: {
197
+ class: "fs-input";
198
+ type: "text";
199
+ role: "combobox";
200
+ autocomplete: "off";
201
+ "aria-expanded": "true" | "false";
202
+ "aria-controls": string;
203
+ "aria-describedby": string;
204
+ "aria-autocomplete": "list";
205
+ "aria-activedescendant": string | undefined;
206
+ "data-preserve-attr": "aria-expanded aria-activedescendant";
207
+ id: string;
208
+ "aria-invalid"?: "true";
209
+ "data-state"?: "invalid";
210
+ disabled?: true;
211
+ };
212
+ list: {
213
+ class: "fs-suggestion__list";
214
+ id: string;
215
+ role: "listbox";
216
+ hidden: true | undefined;
217
+ "data-preserve-attr": "hidden";
218
+ };
219
+ options: {
220
+ class: "fs-suggestion__option";
221
+ id: string;
222
+ role: "option";
223
+ "aria-selected": "true" | "false";
224
+ "data-preserve-attr": "aria-selected hidden";
225
+ }[];
226
+ empty: {
227
+ class: "fs-suggestion__empty";
228
+ };
229
+ status: {
230
+ class: "fs-sr-only";
231
+ id: string;
232
+ role: "status";
233
+ "aria-live": "polite";
234
+ "data-ignore-morph": "";
235
+ };
236
+ help: {
237
+ id: string;
238
+ };
239
+ error: {
240
+ id: string;
241
+ hidden?: true;
242
+ };
243
+ state: "default" | "success" | "invalid";
244
+ };
161
245
  /** Av og på. Heter `switchControl` når du importerer den direkte. */
162
246
  readonly switch: (({ disabled }?: import("./index.js").SwitchOptions) => import("./index.js").SwitchAttributes) & {
163
247
  row: "fs-switch-row";
164
248
  };
249
+ /**
250
+ * Fanerad med paneler. Serveren skriver rollene og skjuler panelene som
251
+ * ikke er valgt, `<fs-tabs>` tar piltastene.
252
+ */
253
+ readonly tabs: ({ id, count, selected, label, }: import("./index.js").TabsOptions) => import("./index.js").TabsAttributes;
254
+ /**
255
+ * Varselregionen. Setter `data-ignore-morph`, fordi `<fs-toast>` lager og
256
+ * fjerner sine egne meldinger inni den.
257
+ */
258
+ readonly toast: ({ label, }?: import("./index.js").ToastOptions) => import("./index.js").ToastAttributes;
165
259
  readonly toggleGroup: (() => import("./index.js").ToggleGroupAttributes) & {
166
260
  option: "fs-toggle-group__option";
167
261
  };
package/dist/fs.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../src/fs.ts"],"names":[],"mappings":"AAwCA,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAA;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAYb;;;;;;;;;;;;;;OAcG;;IAEH,yEAAyE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAkBzE,6DAA6D;;IAE7D,qEAAqE;;;;;;;;;;;;;;;;;;;;;;;IAQrE;;;;;OAKG;;IAGH,qEAAqE;;;IAGrE,8CAA8C;;;CAGtC,CAAA;AAEV,MAAM,MAAM,EAAE,GAAG,OAAO,EAAE,CAAA"}
1
+ {"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../src/fs.ts"],"names":[],"mappings":"AA4CA,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAA;AAI/E,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IASb;;;OAGG;;;;;;;;;;;;;;;IAKH;;;OAGG;;IAEH;;;;;;;;;;;;;;OAcG;;IAEH,yEAAyE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAYzE;;;OAGG;;;;;;;;;;;;;;;;IAKH;;;OAGG;;;;;;;;;;;IAKH,6DAA6D;;IAE7D;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEH,qEAAqE;;;;IAErE;;;OAGG;;IAEH;;;OAGG;;;;;;;;;;;;;;;;;;;;;IAQH;;;;;OAKG;;IAGH,qEAAqE;;;IAGrE,8CAA8C;;;CAGtC,CAAA;AAEV,MAAM,MAAM,EAAE,GAAG,OAAO,EAAE,CAAA"}
package/dist/fs.js CHANGED
@@ -33,7 +33,14 @@ import { tag } from "./components/css/tag/tag.js";
33
33
  import { textarea } from "./components/css/textarea/textarea.js";
34
34
  import { toggleGroup } from "./components/css/toggle-group/toggle-group.js";
35
35
  import { tooltip } from "./components/css/tooltip/tooltip.js";
36
+ import { connectionStatus } from "./components/frittstaende/connection-status/connection-status.js";
37
+ import { sessionTimeout } from "./components/frittstaende/session-timeout/session-timeout.js";
38
+ import { toast } from "./components/frittstaende/toast/toast.js";
39
+ import { errorSummary } from "./components/ramme/error-summary/error-summary.js";
36
40
  import { computeFieldAttributes } from "./components/ramme/field/field-core.js";
41
+ import { popover } from "./components/ramme/popover/popover.js";
42
+ import { suggestion } from "./components/ramme/suggestion/suggestion.js";
43
+ import { tabs } from "./components/ramme/tabs/tabs.js";
37
44
  import { setAttributes } from "./dom.js";
38
45
  /**
39
46
  * Hele komponent-API-et på ett sted.
@@ -65,9 +72,19 @@ export const fs = {
65
72
  button,
66
73
  card,
67
74
  checkbox,
75
+ /**
76
+ * Linja som sier fra at forbindelsen til serveren er borte. Serveren kan
77
+ * ikke melde det selv, så `<fs-connection-status>` eier innholdet.
78
+ */
79
+ connectionStatus,
68
80
  dialog,
69
81
  divider,
70
82
  errorText,
83
+ /**
84
+ * Feiloppsummeringen over et skjema. Serveren skriver hele boksen, også
85
+ * overskriften, og `<fs-error-summary>` flytter bare fokus.
86
+ */
87
+ errorSummary,
71
88
  /**
72
89
  * Kobler sammen ledetekst, felt, hjelpetekst og feilmelding.
73
90
  *
@@ -96,16 +113,41 @@ export const fs = {
96
113
  list,
97
114
  pagination,
98
115
  paragraph,
116
+ /**
117
+ * Knappen og panelet i et sprettoppvindu. `<fs-popover>` regner ut
118
+ * posisjonen, serveren skriver koblingen.
119
+ */
120
+ popover,
99
121
  radio,
100
122
  search,
101
123
  select,
124
+ /**
125
+ * Varselet om at innlogget økt går ut. Nedtellingen er klientens klokke,
126
+ * så `<fs-session-timeout>` eier innholdet.
127
+ */
128
+ sessionTimeout,
102
129
  skeleton,
103
130
  skipLink,
104
131
  spinner,
105
132
  /** Tekst bare skjermlesere skal få. Krever `sr-only.css`. */
106
133
  srOnly,
134
+ /**
135
+ * Feltet og forslagslista. `<fs-suggestion>` tar tastaturet og
136
+ * filtreringen, serveren skriver markupen.
137
+ */
138
+ suggestion,
107
139
  /** Av og på. Heter `switchControl` når du importerer den direkte. */
108
140
  switch: switchControl,
141
+ /**
142
+ * Fanerad med paneler. Serveren skriver rollene og skjuler panelene som
143
+ * ikke er valgt, `<fs-tabs>` tar piltastene.
144
+ */
145
+ tabs,
146
+ /**
147
+ * Varselregionen. Setter `data-ignore-morph`, fordi `<fs-toast>` lager og
148
+ * fjerner sine egne meldinger inni den.
149
+ */
150
+ toast,
109
151
  toggleGroup,
110
152
  tooltip,
111
153
  table,
package/dist/fs.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"fs.js","sourceRoot":"","sources":["../src/fs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fs.js","sourceRoot":"","sources":["../src/fs.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -67,15 +67,22 @@ export type { ToggleGroupAttributes } from "./components/css/toggle-group/toggle
67
67
  export { toggleGroup } from "./components/css/toggle-group/toggle-group.js";
68
68
  export type { TooltipAttributes } from "./components/css/tooltip/tooltip.js";
69
69
  export { tooltip } from "./components/css/tooltip/tooltip.js";
70
- export * from "./components/frittstaende/calendar/fs-calendar.js";
71
- export * from "./components/frittstaende/date-field/fs-date-field.js";
72
- export * from "./components/frittstaende/suggestion/fs-suggestion.js";
70
+ export * from "./components/frittstaende/connection-status/connection-status.js";
71
+ export * from "./components/frittstaende/connection-status/fs-connection-status.js";
72
+ export * from "./components/frittstaende/session-timeout/fs-session-timeout.js";
73
+ export * from "./components/frittstaende/session-timeout/session-timeout.js";
73
74
  export * from "./components/frittstaende/toast/fs-toast.js";
75
+ export * from "./components/frittstaende/toast/toast.js";
76
+ export * from "./components/ramme/error-summary/error-summary.js";
74
77
  export * from "./components/ramme/error-summary/fs-error-summary.js";
75
78
  export * from "./components/ramme/field/field-core.js";
76
79
  export * from "./components/ramme/field/fs-field.js";
77
80
  export * from "./components/ramme/popover/fs-popover.js";
81
+ export * from "./components/ramme/popover/popover.js";
82
+ export * from "./components/ramme/suggestion/fs-suggestion.js";
83
+ export * from "./components/ramme/suggestion/suggestion.js";
78
84
  export * from "./components/ramme/tabs/fs-tabs.js";
85
+ export * from "./components/ramme/tabs/tabs.js";
79
86
  export type { Attributes } from "./dom.js";
80
87
  export { setAttributes } from "./dom.js";
81
88
  export type { Fs } from "./fs.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}