@oslokommune/punkt-elements 16.9.0 → 16.10.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.
- package/CHANGELOG.md +35 -0
- package/dist/accordion.d.ts +1 -1
- package/dist/alert.d.ts +1 -1
- package/dist/backlink.d.ts +1 -1
- package/dist/base-elements/element-with-slot.d.ts +21 -0
- package/dist/base-elements/element.d.ts +32 -0
- package/dist/base-elements/input-element.d.ts +173 -0
- package/dist/base-elements/options-input-element.d.ts +73 -0
- package/dist/breadcrumbs.d.ts +1 -1
- package/dist/button.d.ts +1 -1
- package/dist/calendar.d.ts +1 -1
- package/dist/card.d.ts +1 -1
- package/dist/checkbox.d.ts +1 -1
- package/dist/combobox.d.ts +1 -1
- package/dist/components/accordion/accordion.d.ts +20 -0
- package/dist/components/accordion/accordion.test.d.ts +0 -0
- package/dist/components/accordion/accordionitem.d.ts +32 -0
- package/dist/components/accordion/index.d.ts +5 -0
- package/dist/components/alert/alert.d.ts +30 -0
- package/dist/components/alert/alert.test.d.ts +13 -0
- package/dist/components/alert/index.d.ts +3 -0
- package/dist/components/backlink/backlink.d.ts +14 -0
- package/dist/components/backlink/backlink.test.d.ts +10 -0
- package/dist/components/backlink/index.d.ts +4 -0
- package/dist/components/breadcrumbs/breadcrumbs.d.ts +15 -0
- package/dist/components/breadcrumbs/breadcrumbs.test.d.ts +0 -0
- package/dist/components/breadcrumbs/index.d.ts +2 -0
- package/dist/components/button/button.d.ts +53 -0
- package/dist/components/button/button.test.d.ts +22 -0
- package/dist/components/button/index.d.ts +4 -0
- package/dist/components/calendar/calendar.accessibility.test.d.ts +16 -0
- package/dist/components/calendar/calendar.constraints.test.d.ts +0 -0
- package/dist/components/calendar/calendar.core.test.d.ts +0 -0
- package/dist/components/calendar/calendar.d.ts +97 -0
- package/dist/components/calendar/calendar.interaction.test.d.ts +0 -0
- package/dist/components/calendar/calendar.selection.test.d.ts +0 -0
- package/dist/components/calendar/index.d.ts +3 -0
- package/dist/components/card/card.d.ts +64 -0
- package/dist/components/card/card.test.d.ts +22 -0
- package/dist/components/card/index.d.ts +3 -0
- package/dist/components/checkbox/checkbox.d.ts +32 -0
- package/dist/components/checkbox/checkbox.test.d.ts +24 -0
- package/dist/components/checkbox/index.d.ts +3 -0
- package/dist/components/combobox/combobox-base.d.ts +74 -0
- package/dist/components/combobox/combobox-handlers.d.ts +28 -0
- package/dist/components/combobox/combobox-types.d.ts +5 -0
- package/dist/components/combobox/combobox-utils.d.ts +41 -0
- package/dist/components/combobox/combobox-value.d.ts +17 -0
- package/dist/components/combobox/combobox.accessibility.test.d.ts +0 -0
- package/dist/components/combobox/combobox.core.test.d.ts +0 -0
- package/dist/components/combobox/combobox.d.ts +61 -0
- package/dist/components/combobox/combobox.interaction.test.d.ts +0 -0
- package/dist/components/combobox/combobox.selection.test.d.ts +0 -0
- package/dist/components/combobox/index.d.ts +4 -0
- package/dist/components/consent/consent.d.ts +46 -0
- package/dist/components/consent/consent.test.d.ts +16 -0
- package/dist/components/consent/index.d.ts +4 -0
- package/dist/components/consent/strings.d.ts +85 -0
- package/dist/components/datepicker/date-tags.d.ts +20 -0
- package/dist/components/datepicker/date-tags.test.d.ts +12 -0
- package/dist/components/datepicker/datepicker-base.d.ts +39 -0
- package/dist/components/datepicker/datepicker-multiple.d.ts +10 -0
- package/dist/components/datepicker/datepicker-popup.d.ts +34 -0
- package/dist/components/datepicker/datepicker-popup.test.d.ts +4 -0
- package/dist/components/datepicker/datepicker-range.d.ts +12 -0
- package/dist/components/datepicker/datepicker-single.d.ts +8 -0
- package/dist/components/datepicker/datepicker-types.d.ts +6 -0
- package/dist/components/datepicker/datepicker-utils.d.ts +77 -0
- package/dist/components/datepicker/datepicker-utils.test.d.ts +1 -0
- package/dist/components/datepicker/datepicker.accessibility.test.d.ts +0 -0
- package/dist/components/datepicker/datepicker.core.test.d.ts +0 -0
- package/dist/components/datepicker/datepicker.d.ts +83 -0
- package/dist/components/datepicker/datepicker.input.test.d.ts +0 -0
- package/dist/components/datepicker/datepicker.selection.test.d.ts +0 -0
- package/dist/components/datepicker/datepicker.validation.test.d.ts +0 -0
- package/dist/components/datepicker/index.d.ts +6 -0
- package/dist/components/header/header-service.d.ts +86 -0
- package/dist/components/header/header-service.test.d.ts +18 -0
- package/dist/components/header/header-user-menu.d.ts +29 -0
- package/dist/components/header/header-utils.d.ts +6 -0
- package/dist/components/header/header.d.ts +52 -0
- package/dist/components/header/index.d.ts +5 -0
- package/dist/components/header/types.d.ts +59 -0
- package/dist/components/heading/heading.d.ts +28 -0
- package/dist/components/heading/heading.test.d.ts +0 -0
- package/dist/components/heading/index.d.ts +4 -0
- package/dist/components/helptext/helptext.d.ts +9 -0
- package/dist/components/helptext/helptext.test.d.ts +0 -0
- package/dist/components/helptext/index.d.ts +3 -0
- package/dist/components/icon/icon.d.ts +22 -0
- package/dist/components/icon/icon.test.d.ts +10 -0
- package/dist/components/icon/index.d.ts +3 -0
- package/dist/components/index.d.ts +45 -0
- package/dist/components/input-wrapper/index.d.ts +3 -0
- package/dist/components/input-wrapper/input-wrapper.d.ts +39 -0
- package/dist/components/input-wrapper/input-wrapper.test.d.ts +31 -0
- package/dist/components/link/index.d.ts +3 -0
- package/dist/components/link/link.d.ts +12 -0
- package/dist/components/link/link.test.d.ts +15 -0
- package/dist/components/linkcard/index.d.ts +4 -0
- package/dist/components/linkcard/linkcard.d.ts +19 -0
- package/dist/components/linkcard/linkcard.test.d.ts +9 -0
- package/dist/components/listbox/index.d.ts +4 -0
- package/dist/components/listbox/listbox.d.ts +64 -0
- package/dist/components/listbox/listbox.interaction.test.d.ts +10 -0
- package/dist/components/listbox/listbox.test.d.ts +10 -0
- package/dist/components/loader/index.d.ts +4 -0
- package/dist/components/loader/loader.d.ts +53 -0
- package/dist/components/loader/loader.test.d.ts +8 -0
- package/dist/components/messagebox/index.d.ts +4 -0
- package/dist/components/messagebox/messagebox.d.ts +21 -0
- package/dist/components/messagebox/messagebox.test.d.ts +8 -0
- package/dist/components/modal/index.d.ts +3 -0
- package/dist/components/modal/modal.d.ts +43 -0
- package/dist/components/progressbar/index.d.ts +4 -0
- package/dist/components/progressbar/progressbar.d.ts +49 -0
- package/dist/components/progressbar/progressbar.test.d.ts +8 -0
- package/dist/components/radiobutton/index.d.ts +3 -0
- package/dist/components/radiobutton/radiobutton.d.ts +24 -0
- package/dist/components/radiobutton/radiobutton.test.d.ts +28 -0
- package/dist/components/select/index.d.ts +4 -0
- package/dist/components/select/select.d.ts +48 -0
- package/dist/components/select/select.test.d.ts +21 -0
- package/dist/components/tabs/index.d.ts +5 -0
- package/dist/components/tabs/tabitem.d.ts +33 -0
- package/dist/components/tabs/tabs-context.d.ts +21 -0
- package/dist/components/tabs/tabs.d.ts +23 -0
- package/dist/components/tabs/tabs.test.d.ts +0 -0
- package/dist/components/tag/index.d.ts +4 -0
- package/dist/components/tag/tag.d.ts +44 -0
- package/dist/components/tag/tag.test.d.ts +8 -0
- package/dist/components/textarea/index.d.ts +3 -0
- package/dist/components/textarea/textarea.d.ts +16 -0
- package/dist/components/textarea/textarea.test.d.ts +27 -0
- package/dist/components/textinput/index.d.ts +3 -0
- package/dist/components/textinput/textinput.d.ts +21 -0
- package/dist/components/textinput/textinput.test.d.ts +32 -0
- package/dist/components/timepicker/index.d.ts +2 -0
- package/dist/components/timepicker/timepicker.d.ts +94 -0
- package/dist/components/timepicker/timepicker.test.d.ts +22 -0
- package/dist/consent.d.ts +1 -1
- package/dist/controllers/pkt-options-controller.d.ts +21 -0
- package/dist/controllers/pkt-slot-utils.d.ts +3 -0
- package/dist/datepicker.d.ts +1 -1
- package/dist/directives/slot-content.d.ts +128 -0
- package/dist/directives/slot-content.test.d.ts +0 -0
- package/dist/docs/backlink.d.ts +4 -0
- package/dist/docs/components/accordion.d.ts +5 -0
- package/dist/docs/components/alert.d.ts +7 -0
- package/dist/docs/components/backlink.d.ts +4 -0
- package/dist/docs/components/breadcrumbs.d.ts +8 -0
- package/dist/docs/components/button.d.ts +11 -0
- package/dist/docs/components/calendar.d.ts +4 -0
- package/dist/docs/components/card.d.ts +27 -0
- package/dist/docs/components/checkbox.d.ts +8 -0
- package/dist/docs/components/combobox.d.ts +11 -0
- package/dist/docs/components/comboboxdemo.d.ts +4 -0
- package/dist/docs/components/consent.d.ts +4 -0
- package/dist/docs/components/datepicker.d.ts +4 -0
- package/dist/docs/components/datepickermultiple.d.ts +4 -0
- package/dist/docs/components/form.d.ts +9 -0
- package/dist/docs/components/header-full.d.ts +23 -0
- package/dist/docs/components/header.d.ts +18 -0
- package/dist/docs/components/heading.d.ts +12 -0
- package/dist/docs/components/icon.d.ts +4 -0
- package/dist/docs/components/input-wrapper.d.ts +4 -0
- package/dist/docs/components/link.d.ts +4 -0
- package/dist/docs/components/linkcard.d.ts +4 -0
- package/dist/docs/components/loader.d.ts +4 -0
- package/dist/docs/components/messagebox.d.ts +4 -0
- package/dist/docs/components/modal.d.ts +14 -0
- package/dist/docs/components/progressbar.d.ts +9 -0
- package/dist/docs/components/radiobutton.d.ts +12 -0
- package/dist/docs/components/select.d.ts +10 -0
- package/dist/docs/components/slots.d.ts +35 -0
- package/dist/docs/components/tabs.d.ts +31 -0
- package/dist/docs/components/tag.d.ts +4 -0
- package/dist/docs/components/textarea.d.ts +4 -0
- package/dist/docs/components/textinput.d.ts +4 -0
- package/dist/docs/components/timepicker.d.ts +4 -0
- package/dist/docs/header.d.ts +14 -0
- package/dist/docs/punkt-docs.d.ts +12 -0
- package/dist/header.d.ts +1 -1
- package/dist/heading.d.ts +1 -1
- package/dist/helpers/converters.d.ts +9 -0
- package/dist/helptext.d.ts +1 -1
- package/dist/icon.d.ts +1 -1
- package/dist/index.d.ts +2 -1971
- package/dist/input-wrapper.d.ts +1 -1
- package/dist/link.d.ts +1 -1
- package/dist/linkcard.d.ts +1 -1
- package/dist/listbox.d.ts +1 -1
- package/dist/loader.d.ts +1 -1
- package/dist/messagebox.d.ts +1 -1
- package/dist/modal-CBEWrAi2.cjs +35 -0
- package/dist/{modal-C_wtsh9m.js → modal-pPp8nia6.js} +5 -5
- package/dist/modal.d.ts +1 -1
- package/dist/pkt-index.cjs +1 -1
- package/dist/pkt-index.js +1 -1
- package/dist/pkt-modal.cjs +1 -1
- package/dist/pkt-modal.js +1 -1
- package/dist/progressbar.d.ts +1 -1
- package/dist/radiobutton.d.ts +1 -1
- package/dist/select.d.ts +1 -1
- package/dist/shared-types/aria.d.ts +65 -0
- package/dist/shared-types/booleanish.d.ts +13 -0
- package/dist/shared-types/calendar.d.ts +41 -0
- package/dist/shared-types/combobox.d.ts +34 -0
- package/dist/shared-types/datepicker.d.ts +46 -0
- package/dist/shared-types/form.d.ts +16 -0
- package/dist/shared-types/header.d.ts +88 -0
- package/dist/shared-types/heading.d.ts +9 -0
- package/dist/shared-types/index.d.ts +17 -0
- package/dist/shared-types/layout.d.ts +26 -0
- package/dist/shared-types/progressbar.d.ts +5 -0
- package/dist/shared-types/size.d.ts +18 -0
- package/dist/shared-types/skin.d.ts +24 -0
- package/dist/shared-types/timepicker.d.ts +20 -0
- package/dist/shared-utils/calendar/calendar-grid.d.ts +16 -0
- package/dist/shared-utils/calendar/date-validation.d.ts +22 -0
- package/dist/shared-utils/calendar/index.d.ts +10 -0
- package/dist/shared-utils/calendar/keyboard-navigation.d.ts +16 -0
- package/dist/shared-utils/calendar/selection-manager.d.ts +30 -0
- package/dist/shared-utils/combobox/index.d.ts +10 -0
- package/dist/shared-utils/combobox/input-utils.d.ts +38 -0
- package/dist/shared-utils/combobox/keyboard-navigation.d.ts +39 -0
- package/dist/shared-utils/combobox/option-utils.d.ts +50 -0
- package/dist/shared-utils/combobox/selection-manager.d.ts +71 -0
- package/dist/shared-utils/combobox/typeahead.d.ts +24 -0
- package/dist/shared-utils/date-utils.d.ts +138 -0
- package/dist/shared-utils/datepicker-utils.d.ts +73 -0
- package/dist/shared-utils/device-utils.d.ts +10 -0
- package/dist/shared-utils/timepicker/index.d.ts +6 -0
- package/dist/shared-utils/timepicker/options.d.ts +19 -0
- package/dist/shared-utils/timepicker/stepper.d.ts +20 -0
- package/dist/shared-utils/timepicker/time-utils.d.ts +19 -0
- package/dist/shared-utils/utils.d.ts +16 -0
- package/dist/shared-utils/value-utils.d.ts +17 -0
- package/dist/tabs.d.ts +1 -1
- package/dist/tag.d.ts +1 -1
- package/dist/tests/component-registry.d.ts +64 -0
- package/dist/tests/test-framework.d.ts +29 -0
- package/dist/textarea.d.ts +1 -1
- package/dist/textinput.d.ts +1 -1
- package/dist/timepicker.d.ts +1 -1
- package/dist/translations/no.json.d.ts +93 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/size.d.ts +1 -0
- package/dist/types/typeUtils.d.ts +6 -0
- package/dist/utils/classutils.d.ts +12 -0
- package/package.json +3 -3
- package/src/components/modal/modal.ts +7 -6
- package/dist/modal-DS_wUOIv.cjs +0 -36
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { PktAlert } from '../components/alert/alert';
|
|
2
|
+
import { PktBackLink } from '../components/backlink/backlink';
|
|
3
|
+
import { PktBreadcrumbs } from '../components/breadcrumbs/breadcrumbs';
|
|
4
|
+
import { PktButton } from '../components/button/button';
|
|
5
|
+
import { PktCard } from '../components/card/card';
|
|
6
|
+
import { PktAccordion } from '../components/accordion/accordion';
|
|
7
|
+
import { PktAccordionItem } from '../components/accordion/accordionitem';
|
|
8
|
+
import { PktCalendar } from '../components/calendar/calendar';
|
|
9
|
+
import { PktCheckbox } from '../components/checkbox/checkbox';
|
|
10
|
+
import { PktCombobox } from '../components/combobox/combobox';
|
|
11
|
+
import { PktConsent } from '../components/consent/consent';
|
|
12
|
+
import { PktDatepicker } from '../components/datepicker/datepicker';
|
|
13
|
+
import { PktHeading } from '../components/heading/heading';
|
|
14
|
+
import { PktHelptext } from '../components/helptext/helptext';
|
|
15
|
+
import { PktIcon } from '../components/icon/icon';
|
|
16
|
+
import { PktInputWrapper } from '../components/input-wrapper/input-wrapper';
|
|
17
|
+
import { PktLink } from '../components/link/link';
|
|
18
|
+
import { PktLinkCard } from '../components/linkcard/linkcard';
|
|
19
|
+
import { PktListbox } from '../components/listbox/listbox';
|
|
20
|
+
import { PktLoader } from '../components/loader/loader';
|
|
21
|
+
import { PktMessagebox } from '../components/messagebox/messagebox';
|
|
22
|
+
import { PktModal } from '../components/modal/modal';
|
|
23
|
+
import { PktProgressbar } from '../components/progressbar/progressbar';
|
|
24
|
+
import { PktRadioButton } from '../components/radiobutton/radiobutton';
|
|
25
|
+
import { PktSelect } from '../components/select/select';
|
|
26
|
+
import { PktTag } from '../components/tag/tag';
|
|
27
|
+
import { PktTextarea } from '../components/textarea/textarea';
|
|
28
|
+
import { PktTextinput } from '../components/textinput/textinput';
|
|
29
|
+
import { PktTimepicker } from '../components/timepicker/timepicker';
|
|
30
|
+
import { PktHeaderService } from '../components';
|
|
31
|
+
export declare const customElementComponentRegistry: {
|
|
32
|
+
readonly 'pkt-alert': typeof PktAlert;
|
|
33
|
+
readonly 'pkt-accordion': typeof PktAccordion;
|
|
34
|
+
readonly 'pkt-accordion-item': typeof PktAccordionItem;
|
|
35
|
+
readonly 'pkt-backlink': typeof PktBackLink;
|
|
36
|
+
readonly 'pkt-breadcrumbs': typeof PktBreadcrumbs;
|
|
37
|
+
readonly 'pkt-button': typeof PktButton;
|
|
38
|
+
readonly 'pkt-card': typeof PktCard;
|
|
39
|
+
readonly 'pkt-calendar': typeof PktCalendar;
|
|
40
|
+
readonly 'pkt-checkbox': typeof PktCheckbox;
|
|
41
|
+
readonly 'pkt-combobox': typeof PktCombobox;
|
|
42
|
+
readonly 'pkt-consent': typeof PktConsent;
|
|
43
|
+
readonly 'pkt-datepicker': typeof PktDatepicker;
|
|
44
|
+
readonly 'pkt-header-service': typeof PktHeaderService;
|
|
45
|
+
readonly 'pkt-heading': typeof PktHeading;
|
|
46
|
+
readonly 'pkt-helptext': typeof PktHelptext;
|
|
47
|
+
readonly 'pkt-icon': typeof PktIcon;
|
|
48
|
+
readonly 'pkt-input-wrapper': typeof PktInputWrapper;
|
|
49
|
+
readonly 'pkt-link': typeof PktLink;
|
|
50
|
+
readonly 'pkt-linkcard': typeof PktLinkCard;
|
|
51
|
+
readonly 'pkt-listbox': typeof PktListbox;
|
|
52
|
+
readonly 'pkt-loader': typeof PktLoader;
|
|
53
|
+
readonly 'pkt-messagebox': typeof PktMessagebox;
|
|
54
|
+
readonly 'pkt-modal': typeof PktModal;
|
|
55
|
+
readonly 'pkt-progressbar': typeof PktProgressbar;
|
|
56
|
+
readonly 'pkt-radiobutton': typeof PktRadioButton;
|
|
57
|
+
readonly 'pkt-select': typeof PktSelect;
|
|
58
|
+
readonly 'pkt-tag': typeof PktTag;
|
|
59
|
+
readonly 'pkt-textarea': typeof PktTextarea;
|
|
60
|
+
readonly 'pkt-textinput': typeof PktTextinput;
|
|
61
|
+
readonly 'pkt-timepicker': typeof PktTimepicker;
|
|
62
|
+
};
|
|
63
|
+
export type CustomElementName = keyof typeof customElementComponentRegistry;
|
|
64
|
+
export type CustomElementFor<T extends CustomElementName> = InstanceType<(typeof customElementComponentRegistry)[T]>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { PktElement } from '../base-elements/element';
|
|
2
|
+
import { CustomElementName } from './component-registry';
|
|
3
|
+
import { vi } from 'vitest';
|
|
4
|
+
export declare const setupConsoleMocking: (options?: {
|
|
5
|
+
mockError?: boolean;
|
|
6
|
+
mockWarn?: boolean;
|
|
7
|
+
mockLog?: boolean;
|
|
8
|
+
}) => void;
|
|
9
|
+
export declare const restoreConsoleMocking: () => void;
|
|
10
|
+
export declare const getConsoleErrorMock: () => ReturnType<typeof vi.fn>;
|
|
11
|
+
export declare const getConsoleWarnMock: () => ReturnType<typeof vi.fn>;
|
|
12
|
+
export declare const getConsoleLogMock: () => ReturnType<typeof vi.fn>;
|
|
13
|
+
export interface BaseTestConfig {
|
|
14
|
+
content?: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Generic test factory for any PktElement
|
|
18
|
+
*
|
|
19
|
+
* Creates type-safe, escaped HTML with proper lifecycle management.
|
|
20
|
+
* Replaces manual string concatenation with structured config objects.
|
|
21
|
+
*
|
|
22
|
+
* @param customElementName - Tag name (e.g., 'pkt-linkcard')
|
|
23
|
+
* @param config - Component properties + test options
|
|
24
|
+
* @returns Rendered element ready for testing
|
|
25
|
+
*/
|
|
26
|
+
export declare const createElementTest: <T extends PktElement, C extends BaseTestConfig>(customElementName: CustomElementName, config?: C) => Promise<{
|
|
27
|
+
container: HTMLElement;
|
|
28
|
+
element: T;
|
|
29
|
+
}>;
|
package/dist/textarea.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export {}
|
package/dist/textinput.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export {}
|
package/dist/timepicker.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export {}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
"example": {
|
|
3
|
+
"hi": "Hei!"
|
|
4
|
+
},
|
|
5
|
+
"generic": {
|
|
6
|
+
"from": "Fra",
|
|
7
|
+
"to": "Til"
|
|
8
|
+
},
|
|
9
|
+
"calendar": {
|
|
10
|
+
"buttonAltText": "Åpne kalender",
|
|
11
|
+
"deleteDate": "Fjern dato"
|
|
12
|
+
},
|
|
13
|
+
"dates": {
|
|
14
|
+
"month": "Måned",
|
|
15
|
+
"year": "År",
|
|
16
|
+
"days": ["Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag"],
|
|
17
|
+
"daysShort": ["Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"],
|
|
18
|
+
"months": [
|
|
19
|
+
"Januar",
|
|
20
|
+
"Februar",
|
|
21
|
+
"Mars",
|
|
22
|
+
"April",
|
|
23
|
+
"Mai",
|
|
24
|
+
"Juni",
|
|
25
|
+
"Juli",
|
|
26
|
+
"August",
|
|
27
|
+
"September",
|
|
28
|
+
"Oktober",
|
|
29
|
+
"November",
|
|
30
|
+
"Desember"
|
|
31
|
+
],
|
|
32
|
+
"monthsShort": [
|
|
33
|
+
"Jan",
|
|
34
|
+
"Feb",
|
|
35
|
+
"Mar",
|
|
36
|
+
"Apr",
|
|
37
|
+
"Mai",
|
|
38
|
+
"Jun",
|
|
39
|
+
"Jul",
|
|
40
|
+
"Aug",
|
|
41
|
+
"Sep",
|
|
42
|
+
"Okt",
|
|
43
|
+
"Nov",
|
|
44
|
+
"Des"
|
|
45
|
+
],
|
|
46
|
+
"week": "Uke",
|
|
47
|
+
"prevMonth": "Forrige måned",
|
|
48
|
+
"nextMonth": "Neste måned"
|
|
49
|
+
},
|
|
50
|
+
"timepicker": {
|
|
51
|
+
"hours": "Timer",
|
|
52
|
+
"minutes": "Minutter",
|
|
53
|
+
"openPicker": "Åpne tidspunkt-velger",
|
|
54
|
+
"prevTime": "Forrige tidspunkt",
|
|
55
|
+
"nextTime": "Neste tidspunkt",
|
|
56
|
+
"selectTime": "Velg tidspunkt"
|
|
57
|
+
},
|
|
58
|
+
"forms": {
|
|
59
|
+
"search": {
|
|
60
|
+
"placeholder": "Søk…"
|
|
61
|
+
},
|
|
62
|
+
"labels": {
|
|
63
|
+
"optional": "Valgfritt",
|
|
64
|
+
"required": "Må fylles ut"
|
|
65
|
+
},
|
|
66
|
+
"messages": {
|
|
67
|
+
"required": "Dette feltet er påkrevd",
|
|
68
|
+
"invalid": "Ugyldig verdi",
|
|
69
|
+
"invalidPattern": "Ugyldig format",
|
|
70
|
+
"tooShort": "For kort",
|
|
71
|
+
"tooLong": "For lang",
|
|
72
|
+
"rangeUnderflow": "For lav verdi",
|
|
73
|
+
"rangeOverflow": "For høy verdi",
|
|
74
|
+
"stepMismatch": "Må treffe på steget som er definert i elementet",
|
|
75
|
+
"timeStepMismatch": "Må treffe på et steg, for eksempel 0, {step} minutter",
|
|
76
|
+
"timeStepMismatchHour": "Må treffe på hver hele time",
|
|
77
|
+
"timeStepMismatchHalfHour": "Må treffe på hver hele eller halve time",
|
|
78
|
+
"rangeUnderflowMin": "Verdien må være større enn eller lik {min}.",
|
|
79
|
+
"rangeOverflowMax": "Verdien må være mindre enn eller lik {max}.",
|
|
80
|
+
"dateUnderflow": "For tidlig dato",
|
|
81
|
+
"dateOverflow": "For sen dato"
|
|
82
|
+
},
|
|
83
|
+
"helptext": {
|
|
84
|
+
"helptextDropdownButton": "Les mer"
|
|
85
|
+
},
|
|
86
|
+
"date": {
|
|
87
|
+
"multiple": "Her kan du velge flere datoer. Trykk komma eller enter når du har skrevet inn en dato."
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
;
|
|
92
|
+
|
|
93
|
+
export default _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type TPktSize = 'small' | 'medium' | 'large';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* We define all props as optional. Native HTML attributes are optional by default,
|
|
3
|
+
* but the TS definition require either null or value. This way we can support showing a value as optional
|
|
4
|
+
* and define a default value on the element itself
|
|
5
|
+
*/
|
|
6
|
+
export type ElementProps<Element, PropKeys extends keyof Element> = Partial<Pick<Element, PropKeys>>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Oppdaterer `class`-attributtet på et element ved å legge til eller fjerne en gitt klasse.
|
|
3
|
+
*
|
|
4
|
+
* Denne funksjonen kan brukes til å sette og fjerne klasser på det ytterste elementet,
|
|
5
|
+
* for eksempel ved bruk av `pkt-hide`. Hvis vi ikke setter denne klassen direkte på
|
|
6
|
+
* custom elementet, kan skjermlesere potensielt fortsatt lese opp noe av innholdet.
|
|
7
|
+
*
|
|
8
|
+
* @param element - HTML-elementet som skal oppdateres.
|
|
9
|
+
* @param className - Klassen som skal legges til eller fjernes.
|
|
10
|
+
* @param condition - Hvis `true`, legges klassen til; hvis `false`, fjernes den.
|
|
11
|
+
*/
|
|
12
|
+
export declare function updateClassAttribute(element: Element, className: string, condition: boolean): void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oslokommune/punkt-elements",
|
|
3
|
-
"version": "16.
|
|
3
|
+
"version": "16.10.0",
|
|
4
4
|
"description": "Komponentbiblioteket til Punkt, et designsystem laget av Oslo Origo",
|
|
5
5
|
"homepage": "https://punkt.oslo.kommune.no",
|
|
6
6
|
"author": "Team Designsystem, Oslo Origo",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"types": "dist/index.d.ts",
|
|
17
17
|
"scripts": {
|
|
18
18
|
"dev": "vite",
|
|
19
|
-
"build": "tsc && vite build",
|
|
19
|
+
"build": "tsc && vite build && node scripts/bundle-shared-types.js",
|
|
20
20
|
"build-app": "tsc && vite build --config vite.config-app.ts",
|
|
21
21
|
"preview": "vite preview --outDir dist-app",
|
|
22
22
|
"test": "vitest",
|
|
@@ -78,5 +78,5 @@
|
|
|
78
78
|
"url": "https://github.com/oslokommune/punkt/issues"
|
|
79
79
|
},
|
|
80
80
|
"license": "MIT",
|
|
81
|
-
"gitHead": "
|
|
81
|
+
"gitHead": "7d339c3bc11d0da4291536496aebb6761dd519cb"
|
|
82
82
|
}
|
|
@@ -9,6 +9,8 @@ import { TPktSize } from '@/types/size'
|
|
|
9
9
|
import specs from 'componentSpecs/modal.json'
|
|
10
10
|
import '@/components/icon'
|
|
11
11
|
|
|
12
|
+
type ModalSize = TPktSize | 'fit-content'
|
|
13
|
+
|
|
12
14
|
export interface IPktModal {
|
|
13
15
|
open?: boolean
|
|
14
16
|
headingText?: string
|
|
@@ -16,7 +18,7 @@ export interface IPktModal {
|
|
|
16
18
|
hideCloseButton?: boolean
|
|
17
19
|
closeOnBackdropClick?: boolean
|
|
18
20
|
closeButtonSkin?: 'blue' | 'yellow-filled'
|
|
19
|
-
size?:
|
|
21
|
+
size?: ModalSize
|
|
20
22
|
variant?: 'dialog' | 'drawer'
|
|
21
23
|
drawerPosition?: 'left' | 'right'
|
|
22
24
|
transparentBackdrop?: boolean
|
|
@@ -31,7 +33,7 @@ export class PktModal extends PktElementWithSlot implements IPktModal {
|
|
|
31
33
|
@property({ type: Boolean })
|
|
32
34
|
closeOnBackdropClick?: boolean = specs.props.closeOnBackdropClick.default
|
|
33
35
|
@property({ type: String }) closeButtonSkin?: 'blue' | 'yellow-filled' = 'blue'
|
|
34
|
-
@property({ type: String }) size?:
|
|
36
|
+
@property({ type: String }) size?: ModalSize = specs.props.size.default as ModalSize
|
|
35
37
|
@property({ type: String }) variant?: 'dialog' | 'drawer' = 'dialog'
|
|
36
38
|
@property({ type: String }) drawerPosition?: 'left' | 'right' = 'right'
|
|
37
39
|
@property({ type: Boolean }) transparentBackdrop?: boolean = false
|
|
@@ -200,10 +202,9 @@ export class PktModal extends PktElementWithSlot implements IPktModal {
|
|
|
200
202
|
</div>`
|
|
201
203
|
: nothing}
|
|
202
204
|
<div class="pkt-modal__container">
|
|
203
|
-
<div
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
>${slotContent(this)}</div>
|
|
205
|
+
<div id="pkt-modal__content" class=${classMap(contentClasses)}>
|
|
206
|
+
${slotContent(this)}
|
|
207
|
+
</div>
|
|
207
208
|
</div>
|
|
208
209
|
</div>
|
|
209
210
|
</dialog>
|
package/dist/modal-DS_wUOIv.cjs
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
const e=require(`./element-DjtxO-1r.cjs`),t=require(`./class-map-CJ-msbHs.cjs`),n=require(`./element-with-slot-CWoTGA1B.cjs`);require(`./icon-Dr8sfT2X.cjs`);const r=require(`./ref-BaJ0mBT_.cjs`);var i={name:`pkt-modal`,react:`PktModal`,"css-class":`pkt-modal`,isElement:!0,isPureReact:!0,events:{"background-click":{description:`Event som trigges når bakgrunnen trykkes på`},close:{description:`Event som trigges når meldingsboksen lukkes`}},props:{open:{name:`Åpen`,description:`Deklarativ styring av modalens åpen/lukket-tilstand. Kan brukes i stedet for showModal()/close()-metodene.`,type:`boolean`,category:`tech`,default:!1},headingText:{name:`Heading text`,description:`Heading tekst på modalen`,type:`string`,category:`contents`},hideCloseButton:{name:`Gjem 'Lukk'-knapp`,description:`Gjemmer lukkeknappen. Dersom denne er satt til true, vil ikke lukkeknappen vises, og dermed er det viktig at man tilbyr en annen måte som f.eks. en knapp for å lukke modalen på.`,type:`boolean`,category:`ui`,default:!1},closeOnBackdropClick:{name:`Lukk modalen når bakgrunnen trykkes på`,description:`Lukk modalen når bakgrunnen trykkes på`,type:`boolean`,category:`tech`,default:!1},closeButtonSkin:{name:`Stil på lukkeknappen`,description:`Stil på lukkeknappen`,type:[`blue`,`yellow-filled`],category:`ui`,default:`blue`},size:{name:`Størrelse`,description:`Størrelsen på modalen`,type:[`small`,`medium`,`large`],category:`ui`,default:`medium`},variant:{name:`Variant`,description:`Standard dialog eller skuff`,type:[`dialog`,`drawer`],category:`ui`,default:`dialog`},drawerPosition:{name:`Skuffposisjon`,description:`Posisjonen til skuffen`,type:[`left`,`right`],category:`ui`,default:`right`},transparentBackdrop:{name:`Gjennomsiktig bakgrunn`,description:`Bakgrunnen er gjennomsiktig`,type:`boolean`,category:`ui`,default:!1},removePadding:{name:`Fjern padding`,description:`Fjerner paddingen rundt innholdet i modalen`,type:`boolean`,category:`ui`,default:!1}},slots:{default:{description:`Innholdet i meldingen. Her tilbyr vi støtteklasser for å style 1-3 knapper i modalen.`}}},a=class extends n.t{constructor(){super(),this.open=!1,this.headingText=``,this.removePadding=!1,this.hideCloseButton=i.props.hideCloseButton.default,this.closeOnBackdropClick=i.props.closeOnBackdropClick.default,this.closeButtonSkin=`blue`,this.size=i.props.size.default,this.variant=`dialog`,this.drawerPosition=`right`,this.transparentBackdrop=!1,this.dialogRef=r.t(),this._isOpen=!1,this.close=(e,t=!1)=>{if(!this._isOpen)return;this._isOpen=!1,this.open=!1,document.body.classList.remove(`pkt-modal--open`);let n=document.activeElement;n&&!this.isElementInViewport(n)&&n.scrollIntoView({behavior:`smooth`,block:`nearest`}),this.dispatchEvent(new CustomEvent(`close`,{detail:{origin:e},bubbles:!0,composed:!0})),t||this.dialogRef.value?.close(),this.requestUpdate()},this.showModal=(e=null)=>{this._isOpen=!0,this.open=!0,this.dialogRef.value?.showModal(),document.body.classList.add(`pkt-modal--open`),this.dispatchEvent(new CustomEvent(`showModal`,{detail:{origin:e},bubbles:!0,composed:!0})),this.requestUpdate()},this._isOpen=!1}async connectedCallback(){super.connectedCallback(),document.addEventListener(`keydown`,this.handleKeyDown.bind(this)),document.addEventListener(`click`,this.handleBackdropClick.bind(this))}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener(`keydown`,this.handleKeyDown),document.removeEventListener(`click`,this.handleBackdropClick)}updated(e){super.updated(e),e.has(`open`)&&(this.open&&!this._isOpen?this.showModal():!this.open&&this._isOpen&&this.close(new Event(`close`),!1))}async firstUpdated(e){super.firstUpdated(e),this.dialogRef.value&&!window.HTMLDialogElement&&!this.dialogRef.value.showModal&&(`document`in window&&`createElement`in document&&(await Promise.resolve().then(()=>require(`./dialog-polyfill.esm-D3Oinvk0.cjs`)).then(e=>e.default)).registerDialog(this.dialogRef.value),this.dialogRef.value.addEventListener(`close`,()=>{this.close(new Event(`close`),!0)}))}handleKeyDown(e){e.key===`Escape`&&this.close(e)}handleBackdropClick(e){this.closeOnBackdropClick&&e.target===this.dialogRef?.value&&this.close(e)}isElementInViewport(e){let t=e.getBoundingClientRect();return t.top>=0&&t.left>=0&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&t.right<=(window.innerWidth||document.documentElement.clientWidth)}render(){let i={"pkt-modal":!0,"pkt-modal--removePadding":this.removePadding??!1,"pkt-modal--noHeadingText":this.headingText===``||this.headingText===void 0,"pkt-modal--noShadow":this.closeButtonSkin===`yellow-filled`,"pkt-modal--transparentBackdrop":this.transparentBackdrop??!1,[`pkt-modal--${this.size}`]:this.size!==void 0,[`pkt-modal__${this.variant}`]:this.variant!==void 0,[`pkt-modal__drawer--${this.drawerPosition}`]:this.variant===`drawer`},a={"pkt-modal__headingText":!0,"pkt-txt-24":!0},o={"pkt-modal__content":!0,"pkt-txt-18-light":!0},s=this.closeButtonSkin===`blue`,c={"pkt-modal__closeButton":!0,[`pkt-modal__closeButton--${this.closeButtonSkin}`]:!0};return e.d`
|
|
2
|
-
<dialog
|
|
3
|
-
class=${t.t(i)}
|
|
4
|
-
${r.n(this.dialogRef)}
|
|
5
|
-
aria-labelledby=${this.headingText?`pkt-modal__headingText`:e.l}
|
|
6
|
-
aria-describedby="pkt-modal__content"
|
|
7
|
-
@close=${e=>this.close(e,!0)}
|
|
8
|
-
>
|
|
9
|
-
<div class="pkt-modal__wrapper">
|
|
10
|
-
${this.headingText||!this.hideCloseButton?e.d`<div class="pkt-modal__header">
|
|
11
|
-
<div class="pkt-modal__header-background"></div>
|
|
12
|
-
${this.headingText?e.d`<h1 id="pkt-modal__headingText" class=${t.t(a)}>
|
|
13
|
-
${this.headingText}
|
|
14
|
-
</h1>`:e.d`<div class="pkt-modal__headingText"></div>`}
|
|
15
|
-
${this.hideCloseButton?e.d`<div class="pkt-modal__noCloseButton"></div>`:e.d`<div class="${t.t(c)}">
|
|
16
|
-
<pkt-button
|
|
17
|
-
@click=${e=>this.close(e)}
|
|
18
|
-
aria-label="close"
|
|
19
|
-
iconname="close"
|
|
20
|
-
variant="icon-only"
|
|
21
|
-
size="medium"
|
|
22
|
-
skin=${s?`tertiary`:`primary`}
|
|
23
|
-
>
|
|
24
|
-
Lukk
|
|
25
|
-
</pkt-button>
|
|
26
|
-
</div>`}
|
|
27
|
-
</div>`:e.l}
|
|
28
|
-
<div class="pkt-modal__container">
|
|
29
|
-
<div
|
|
30
|
-
id="pkt-modal__content"
|
|
31
|
-
class=${t.t(o)}
|
|
32
|
-
>${n.n(this)}</div>
|
|
33
|
-
</div>
|
|
34
|
-
</div>
|
|
35
|
-
</dialog>
|
|
36
|
-
`}};e.r([e.s({type:Boolean,reflect:!0})],a.prototype,`open`,void 0),e.r([e.s({type:String})],a.prototype,`headingText`,void 0),e.r([e.s({type:Boolean})],a.prototype,`removePadding`,void 0),e.r([e.s({type:Boolean})],a.prototype,`hideCloseButton`,void 0),e.r([e.s({type:Boolean})],a.prototype,`closeOnBackdropClick`,void 0),e.r([e.s({type:String})],a.prototype,`closeButtonSkin`,void 0),e.r([e.s({type:String})],a.prototype,`size`,void 0),e.r([e.s({type:String})],a.prototype,`variant`,void 0),e.r([e.s({type:String})],a.prototype,`drawerPosition`,void 0),e.r([e.s({type:Boolean})],a.prototype,`transparentBackdrop`,void 0),e.r([e.o()],a.prototype,`_isOpen`,void 0);try{e.c(`pkt-modal`)(a)}catch{console.warn(`Forsøker å definere <pkt-modal>, men den er allerede definert`)}var o=a;Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return o}});
|