@postnord/pn-marketweb-components 4.5.0 → 4.6.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/cjs/loader.cjs.js +1 -1
- package/cjs/pn-date-and-time.cjs.entry.js +25 -3
- package/cjs/pn-date-and-time.cjs.entry.js.map +1 -1
- package/cjs/pn-dropdown-with-multi-input-rows.cjs.entry.js +1 -1
- package/cjs/pn-market-web-components.cjs.js +1 -1
- package/cjs/pn-multi-row-connected-dropdown-row.cjs.entry.js +1 -1
- package/cjs/pn-multi-row-connected-dropdown.cjs.entry.js +1 -1
- package/cjs/pn-multiple-input.cjs.entry.js +1 -1
- package/cjs/pn-play-on-scroll.cjs.entry.js +1 -1
- package/cjs/pn-scroll_2.cjs.entry.js +1 -1
- package/cjs/pn-stats-info-data.cjs.entry.js +1 -1
- package/cjs/v4-de9aacdf.js +71 -0
- package/cjs/v4-de9aacdf.js.map +1 -0
- package/collection/components/input/pn-date-and-time/pn-date-and-time.js +44 -3
- package/collection/components/input/pn-date-and-time/pn-date-and-time.js.map +1 -1
- package/collection/components/input/pn-date-and-time/pn-date-and-time.stories.js +3 -1
- package/components/pn-date-and-time.js +27 -3
- package/components/pn-date-and-time.js.map +1 -1
- package/components/v4.js +53 -52
- package/components/v4.js.map +1 -1
- package/esm/loader.js +1 -1
- package/esm/pn-date-and-time.entry.js +25 -3
- package/esm/pn-date-and-time.entry.js.map +1 -1
- package/esm/pn-dropdown-with-multi-input-rows.entry.js +1 -1
- package/esm/pn-market-web-components.js +1 -1
- package/esm/pn-multi-row-connected-dropdown-row.entry.js +1 -1
- package/esm/pn-multi-row-connected-dropdown.entry.js +1 -1
- package/esm/pn-multiple-input.entry.js +1 -1
- package/esm/pn-play-on-scroll.entry.js +1 -1
- package/esm/pn-scroll_2.entry.js +1 -1
- package/esm/pn-stats-info-data.entry.js +1 -1
- package/esm/v4-08967a5a.js +69 -0
- package/esm/v4-08967a5a.js.map +1 -0
- package/package.json +8 -5
- package/pn-market-web-components/{p-8a76d782.entry.js → p-016016f0.entry.js} +2 -2
- package/pn-market-web-components/{p-3f268359.entry.js → p-2dfa364d.entry.js} +2 -2
- package/pn-market-web-components/{p-3d11fd8a.entry.js → p-3ab56a51.entry.js} +2 -2
- package/pn-market-web-components/{p-71956f95.entry.js → p-6533f8f4.entry.js} +2 -2
- package/pn-market-web-components/{p-ac565795.entry.js → p-84ef21c0.entry.js} +2 -2
- package/pn-market-web-components/p-c4c32c46.js +2 -0
- package/pn-market-web-components/p-c4c32c46.js.map +1 -0
- package/pn-market-web-components/p-dbfb632c.entry.js +2 -0
- package/pn-market-web-components/p-dbfb632c.entry.js.map +1 -0
- package/pn-market-web-components/{p-6f1bf16b.entry.js → p-f1e6ba9e.entry.js} +2 -2
- package/pn-market-web-components/{p-6f1e27ec.entry.js → p-fe0a29cf.entry.js} +2 -2
- package/pn-market-web-components/pn-market-web-components.esm.js +1 -1
- package/pn-market-web-components/pn-market-web-components.esm.js.map +1 -1
- package/types/components/input/pn-date-and-time/pn-date-and-time.d.ts +3 -0
- package/types/components.d.ts +2 -0
- package/umd/modules/@postnord/web-components/cem.json +392 -0
- package/umd/modules/@postnord/web-components/cjs/close_small-CTOfc4Qy.js +10 -0
- package/umd/modules/@postnord/web-components/cjs/index-DWu-2oJc.js +12 -4
- package/umd/modules/@postnord/web-components/cjs/loader.cjs.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-card.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-footer.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-header.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-input-chip.cjs.entry.js +52 -0
- package/umd/modules/@postnord/web-components/cjs/pn-multiselect.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-ocr-search.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-page-nav-dropdown-item.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-page-nav-item.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-page-nav.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-pagination.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-radio-button.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-range.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-search-field.cjs.entry.js +2 -4
- package/umd/modules/@postnord/web-components/cjs/pn-segment.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-segmented-control.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-select.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-skeleton-loader.cjs.entry.js +103 -0
- package/umd/modules/@postnord/web-components/cjs/pn-tab.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-tablist.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-text-link.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-textarea.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-tile.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-toggle-switch.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-zipcode-search.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/postnord-web-components.cjs.js +1 -1
- package/umd/modules/@postnord/web-components/collection/collection-manifest.json +2 -0
- package/umd/modules/@postnord/web-components/collection/components/feedback/pn-skeleton-loader/pn-skeleton-loader.css +314 -0
- package/umd/modules/@postnord/web-components/collection/components/feedback/pn-skeleton-loader/pn-skeleton-loader.js +291 -0
- package/umd/modules/@postnord/web-components/collection/components/input/pn-input-chip/pn-input-chip.css +109 -0
- package/umd/modules/@postnord/web-components/collection/components/input/pn-input-chip/pn-input-chip.js +232 -0
- package/umd/modules/@postnord/web-components/collection/components/input/pn-multiselect/pn-multiselect.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/input/pn-radio-button/pn-radio-button.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/input/pn-range/pn-range.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/input/pn-search-field/pn-search-field.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/input/pn-segmented-control/pn-segmented-control.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/input/pn-segmented-control/segment/pn-segment.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/input/pn-select/pn-select.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/input/pn-textarea/pn-textarea.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/input/pn-toggle-switch/pn-toggle-switch.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/layout/pn-header/pn-header.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/navigation/pn-card/pn-card.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/navigation/pn-footer/pn-footer.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/navigation/pn-page-nav/dropdown-item/pn-page-nav-dropdown-item.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/navigation/pn-page-nav/item/pn-page-nav-item.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/navigation/pn-page-nav/menu/pn-page-nav.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/navigation/pn-pagination/pn-pagination.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/navigation/pn-tablist/pn-tablist.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/navigation/pn-tablist/tab/pn-tab.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/navigation/pn-text-link/pn-text-link.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/navigation/pn-tile/pn-tile.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/web-components/pn-ocr-search/pn-ocr-search.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/web-components/pn-zipcode-search/pn-zipcode-search.js +1 -1
- package/umd/modules/@postnord/web-components/components/close_small.js +5 -0
- package/umd/modules/@postnord/web-components/components/index.d.ts +4 -0
- package/umd/modules/@postnord/web-components/components/index.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-card.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-footer.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-header.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-input-chip.d.ts +11 -0
- package/umd/modules/@postnord/web-components/components/pn-input-chip.js +5 -0
- package/umd/modules/@postnord/web-components/components/pn-multiselect.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-ocr-search.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-page-nav-dropdown-item.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-page-nav-item.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-page-nav.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-pagination.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-radio-button.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-range.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-search-field2.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-segment.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-segmented-control.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-select2.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-skeleton-loader.d.ts +11 -0
- package/umd/modules/@postnord/web-components/components/pn-skeleton-loader.js +5 -0
- package/umd/modules/@postnord/web-components/components/pn-tab.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-tablist.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-text-link2.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-textarea.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-tile.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-toggle-switch.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-zipcode-search.js +1 -1
- package/umd/modules/@postnord/web-components/esm/close_small-gPbnChG6.js +8 -0
- package/umd/modules/@postnord/web-components/esm/index-XKg-ydzH.js +12 -4
- package/umd/modules/@postnord/web-components/esm/loader.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-card.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-footer.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-header.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-input-chip.entry.js +50 -0
- package/umd/modules/@postnord/web-components/esm/pn-multiselect.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-ocr-search.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-page-nav-dropdown-item.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-page-nav-item.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-page-nav.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-pagination.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-radio-button.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-range.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-search-field.entry.js +2 -4
- package/umd/modules/@postnord/web-components/esm/pn-segment.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-segmented-control.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-select.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-skeleton-loader.entry.js +101 -0
- package/umd/modules/@postnord/web-components/esm/pn-tab.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-tablist.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-text-link.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-textarea.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-tile.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-toggle-switch.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-zipcode-search.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/postnord-web-components.js +1 -1
- package/umd/modules/@postnord/web-components/hydrate/index.js +199 -22
- package/umd/modules/@postnord/web-components/hydrate/index.mjs +199 -22
- package/umd/modules/@postnord/web-components/package.json +1 -1
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-e11b4af5.entry.js → p-10d5fb90.entry.js} +1 -1
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-88344f8d.entry.js → p-110ba4cc.entry.js} +1 -1
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-98a37be9.entry.js → p-1b27c05f.entry.js} +1 -1
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-292a7591.entry.js → p-20fe57fd.entry.js} +1 -1
- package/umd/modules/@postnord/web-components/postnord-web-components/p-43483837.entry.js +5 -0
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-060b6ad2.entry.js → p-48f7e582.entry.js} +1 -1
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-a31d93db.entry.js → p-594f5e35.entry.js} +1 -1
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-9d56fb64.entry.js → p-5f5f3eeb.entry.js} +1 -1
- package/umd/modules/@postnord/web-components/postnord-web-components/p-783ee52f.entry.js +5 -0
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-e5574624.entry.js → p-809a0ddb.entry.js} +1 -1
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-d81b4ede.entry.js → p-8d90ab9d.entry.js} +1 -1
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-3db02038.entry.js → p-90b44536.entry.js} +1 -1
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-a1f92f19.entry.js → p-9f48d450.entry.js} +1 -1
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-ef00ef4d.entry.js → p-a028c1af.entry.js} +1 -1
- package/umd/modules/@postnord/web-components/postnord-web-components/p-a3bd612d.entry.js +5 -0
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-d228b929.entry.js → p-a70c9879.entry.js} +1 -1
- package/umd/modules/@postnord/web-components/postnord-web-components/p-b80c060c.entry.js +5 -0
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-0bf70d44.entry.js → p-bdb494ac.entry.js} +1 -1
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-020ee3f4.entry.js → p-c51d8164.entry.js} +1 -1
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-8cedf2e0.entry.js → p-c7a6d048.entry.js} +1 -1
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-b45e58df.entry.js → p-d728a000.entry.js} +1 -1
- package/umd/modules/@postnord/web-components/postnord-web-components/p-eb15a889.entry.js +5 -0
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-3709c995.entry.js → p-fa3c2490.entry.js} +1 -1
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-64207923.entry.js → p-fdbffb51.entry.js} +1 -1
- package/umd/modules/@postnord/web-components/postnord-web-components/p-gPbnChG6.js +5 -0
- package/umd/modules/@postnord/web-components/postnord-web-components/postnord-web-components.esm.js +1 -1
- package/umd/modules/@postnord/web-components/types/components/feedback/pn-skeleton-loader/pn-skeleton-loader.d.ts +35 -0
- package/umd/modules/@postnord/web-components/types/components/input/pn-input-chip/pn-input-chip.d.ts +34 -0
- package/umd/modules/@postnord/web-components/types/components.d.ts +257 -0
- package/umd/modules/@postnord/web-components/vscode-data.json +117 -0
- package/umd/pn-marketweb-init.js +1 -1
- package/umd/pn-marketweb-salesforce-header.js +1 -1
- package/umd/pn-marketweb-salesforce.js +1 -1
- package/vscode-data.json +4 -0
- package/cjs/v4-9b297151.js +0 -70
- package/cjs/v4-9b297151.js.map +0 -1
- package/esm/v4-964634d6.js +0 -68
- package/esm/v4-964634d6.js.map +0 -1
- package/pn-market-web-components/p-4ed69de7.js +0 -2
- package/pn-market-web-components/p-4ed69de7.js.map +0 -1
- package/pn-market-web-components/p-99843884.entry.js +0 -2
- package/pn-market-web-components/p-99843884.entry.js.map +0 -1
- package/umd/modules/@postnord/web-components/postnord-web-components/p-aa15469e.entry.js +0 -5
- package/umd/modules/@postnord/web-components/postnord-web-components/p-b72f9866.entry.js +0 -5
- package/umd/modules/@postnord/web-components/postnord-web-components/p-d71054df.entry.js +0 -5
- /package/pn-market-web-components/{p-8a76d782.entry.js.map → p-016016f0.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-3f268359.entry.js.map → p-2dfa364d.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-3d11fd8a.entry.js.map → p-3ab56a51.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-71956f95.entry.js.map → p-6533f8f4.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-ac565795.entry.js.map → p-84ef21c0.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-6f1bf16b.entry.js.map → p-f1e6ba9e.entry.js.map} +0 -0
- /package/pn-market-web-components/{p-6f1e27ec.entry.js.map → p-fe0a29cf.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pn-date-and-time.js","sourceRoot":"","sources":["../../../../src/components/input/pn-date-and-time/pn-date-and-time.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, h, Element, State, Host, Event, EventEmitter } from '@stencil/core';\nimport { alert_info_circle } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-date-and-time',\n styleUrl: 'pn-date-and-time.scss',\n})\nexport class PnDateAndTime {\n @Element() hostElement: Element;\n pnDatePicker: HTMLElement = null;\n pnTimeFromHourDropdown: HTMLSelectElement = null;\n pnTimeFromMinuteDropdown: HTMLSelectElement = null;\n pnTimeToHourDropdown: HTMLSelectElement = null;\n pnTimeToMinuteDropdown: HTMLSelectElement = null;\n\n @Prop() languageCode: string = null;\n @Prop() dateAndTimeLabel: string = '';\n @Prop() dateDaysFromToday: number = 0;\n @Prop() validTimeRangeMinutes: number = 0;\n @Prop() errorMessage: string = '';\n @Prop() dateHelperText: string = '';\n @Prop() timeHelperText: string = '';\n @Prop() disableWeekends: boolean = false;\n @Prop() disabledDates: string = null;\n @Prop() datePlaceholder: string = '';\n @Prop() minFromHour: number;\n @Prop() maxToHour: number;\n\n @State() language: string = null;\n @State() hourArr: string[] = null;\n @State() minuteArr: string[] = null;\n @State() formValue: string = null;\n @State() invalidTimespan: boolean = false;\n @State() selectedDate: string = null;\n @State() selectedFromHour: number;\n @State() selectedFromMin: number;\n @State() selectedToHour: number;\n @State() selectedToMin: number;\n @State() firstValidDateString: string = '';\n @State() lastValidDateString: string = '';\n\n @Event() dateandtimerange: EventEmitter<string>;\n\n componentWillLoad() {\n this.setInitialValues();\n }\n\n componentDidLoad() {\n this.setDefaultHiddenValue();\n this.addEventHandlers();\n }\n\n setInitialValues() {\n this.setLanguageCode();\n this.setFirstValidDate();\n\n if (!this.minFromHour) {\n this.minFromHour = 14;\n }\n\n if (!this.maxToHour) {\n this.maxToHour = 17;\n }\n\n this.hourArr = this.getNumbersAsStringArr(this.minFromHour, this.maxToHour, 1);\n this.minuteArr = this.getNumbersAsStringArr(0, 50, 10);\n }\n\n setFirstValidDate() {\n const date = new Date();\n date.setDate(date.getDate() + this.dateDaysFromToday);\n\n const year = date.getFullYear();\n const month = (date.getMonth() + 1).toString().padStart(2, '0');\n const day = date.getDate().toString().padStart(2, '0');\n const endYear = year + 2;\n\n this.firstValidDateString = `${year.toString()}-${month}-${day}`;\n this.lastValidDateString = `${endYear.toString()}-${month}-${day}`;\n }\n\n setLanguageCode() {\n if (typeof this.languageCode === 'string' && this.languageCode.trim() === '') {\n this.language = document.querySelector('html').lang;\n } else {\n this.language = this.languageCode;\n }\n }\n\n setDefaultHiddenValue() {\n this.selectedFromHour = parseInt(this.hourArr[0]);\n this.selectedFromMin = parseInt(this.minuteArr[0]);\n this.selectedToHour = parseInt(this.hourArr[this.hourArr.length -1]);\n this.selectedToMin = parseInt(this.minuteArr[this.minuteArr.length -1 ]);\n\n this.updateHiddenValue();\n }\n\naddEventHandlers() {\n const boundHandleChange = this.handleChange.bind(this);\n\n this.pnDatePicker.addEventListener('dateselection', boundHandleChange);\n this.pnTimeFromHourDropdown.addEventListener('change', boundHandleChange);\n this.pnTimeFromMinuteDropdown.addEventListener('change', boundHandleChange);\n this.pnTimeToHourDropdown.addEventListener('change', boundHandleChange);\n this.pnTimeToMinuteDropdown.addEventListener('change', boundHandleChange);\n}\n\n\nhandleChange(e: CustomEvent) {\n\n if (e.target === this.pnDatePicker) {\n this.selectedDate = e.detail.start;\n }\n\n const target = e.target as HTMLSelectElement;\n\n const value = target.value;\n\n if (target.name === this.pnTimeFromHourDropdown.name) {\n this.selectedFromHour = parseInt(value);\n } else if (target.name === this.pnTimeFromMinuteDropdown.name) {\n this.selectedFromMin = parseInt(value);\n } else if (target.name === this.pnTimeToHourDropdown.name) {\n this.selectedToHour = parseInt(value);\n } else if (target.name === this.pnTimeToMinuteDropdown.name) {\n this.selectedToMin = parseInt(value);\n }\n\n this.updateHiddenValue();\n}\n\n\n updateHiddenValue() {\n const date = new Date();\n const dateFrom = new Date(date.getFullYear(), date.getMonth(), date.getDate(), this.selectedFromHour, this.selectedFromMin, 0, 0);\n const dateTo = new Date(date.getFullYear(), date.getMonth(), date.getDate(), this.selectedToHour, this.selectedToMin, 0, 0);\n this.validateTimeRange(dateFrom.getTime(), dateTo.getTime());\n\n if (this.invalidTimespan || !this.selectedDate) {\n this.formValue = '';\n } else {\n const fromMin = this.selectedFromMin.toString().padStart(2, '0');\n const toMin = this.selectedToMin.toString().padStart(2, '0');\n\n this.formValue = `${this.selectedDate}, ${this.selectedFromHour}:${fromMin}-${this.selectedToHour}:${toMin}`;\n }\n this.dateandtimerange.emit(this.formValue);\n }\n\n validateTimeRange(from: number, to: number) {\n let differenceValue = (to - from) / 1000;\n differenceValue /= 60;\n this.invalidTimespan = differenceValue < this.validTimeRangeMinutes ? true : false;\n }\n\n getNumbersAsStringArr(start: number, stop: number, step: number) {\n const arr = Array.from({ length: (stop - start) / step + 1 }, (_, index: number) => start + index * step);\n const result: string[] = [];\n\n arr.forEach(item => {\n const itemAsString = item.toString().padStart(2, '0');\n result.push(itemAsString);\n });\n\n return result;\n }\n\n removePnOptionSelected() {\n const selectOptions = this.hostElement.querySelectorAll('option');\n selectOptions.forEach(elm => {\n elm.removeAttribute('selected');\n });\n }\n\n render() {\n return (\n <Host>\n <div class=\"date-and-time-group\">\n {this.dateAndTimeLabel ? (\n <div class=\"date-and-time-row\">\n <label>{this.dateAndTimeLabel}</label>\n </div>\n ) : null}\n <div class=\"date-and-time-row\">\n <pn-date-picker\n ref={el => (this.pnDatePicker = el as HTMLInputElement)}\n range=\"false\"\n disable-weekends={this.disableWeekends}\n min-date={this.firstValidDateString}\n max-date={this.lastValidDateString}\n language={this.language}\n placeholder={this.datePlaceholder}\n disabled-dates={this.disabledDates}\n ></pn-date-picker>\n </div>\n\n {this.dateHelperText ? <small class=\"date-and-time-row helper-text\">{this.dateHelperText}</small> : null}\n </div>\n <div class=\"date-and-time-group\">\n <div class=\"date-and-time-row\">\n <pn-select\n ref={el => (this.pnTimeFromHourDropdown = el as HTMLSelectElement)}\n name=\"date-and-time-from-hour\"\n class=\"date-and-time-dropdown--time\"\n invalid={this.invalidTimespan} >\n {this.hourArr?.map((hour: string, index: number) => <option label={hour} value={hour} selected={index === 0}>{hour}</option>)}\n </pn-select>\n <pn-select\n ref={el => (this.pnTimeFromMinuteDropdown = el as HTMLSelectElement)}\n name=\"date-and-time-from-minute\"\n class=\"date-and-time-dropdown--time\"\n invalid={this.invalidTimespan} >\n {this.minuteArr?.map((minute: string, index: number) => <option label={minute} value={minute} selected={index === 0}>{minute}</option>)}\n </pn-select>\n <div class=\"time-separator\">\n <span>-</span>\n </div>\n <pn-select\n ref={el => (this.pnTimeToHourDropdown = el as HTMLSelectElement)}\n name=\"date-and-time-to-hour\"\n class=\"date-and-time-dropdown--time\"\n invalid={this.invalidTimespan} >\n {this.hourArr?.map((hour: string, index: number) => <option label={hour} value={hour} selected={index === this.hourArr.length -1}>{hour}</option>)}\n </pn-select>\n <pn-select\n ref={el => (this.pnTimeToMinuteDropdown = el as HTMLSelectElement)}\n name=\"date-and-time-to-minute\"\n class=\"date-and-time-dropdown--time\"\n invalid={this.invalidTimespan} >\n {this.minuteArr?.map((minute: string, index: number) => <option label={minute} value={minute} selected={index === this.minuteArr.length -1}>{minute}</option>)}\n </pn-select>\n </div>\n {this.timeHelperText ? <small class=\"date-and-time-row helper-text\">{this.timeHelperText}</small> : null}\n\n {this.invalidTimespan && this.errorMessage ? (\n <small class=\"date-and-time-row error-message\">\n <pn-icon icon={alert_info_circle} small=\"false\" color=\"warning\" />\n {this.errorMessage}\n </small>\n ) : null}\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"pn-date-and-time.js","sourceRoot":"","sources":["../../../../src/components/input/pn-date-and-time/pn-date-and-time.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAgB,MAAM,eAAe,CAAC;AAC9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAMxE,MAAM,OAAO,aAAa;;4BAQO,IAAI;gCACA,EAAE;iCACD,CAAC;qCACG,CAAC;4BACV,EAAE;8BACA,EAAE;8BACF,EAAE;+BACA,KAAK;6BACR,IAAI;+BACF,EAAE;;;gCAGD,EAAE;wBAET,IAAI;uBACH,IAAI;yBACF,IAAI;yBACN,IAAI;+BACG,KAAK;2BACT,KAAK;4BACL,IAAI;;;;;oCAKI,EAAE;mCACH,EAAE;;IAjC9B,WAAW,CAAU;IAChC,YAAY,GAAgB,IAAI,CAAC;IACjC,sBAAsB,GAAsB,IAAI,CAAC;IACjD,wBAAwB,GAAsB,IAAI,CAAC;IACnD,oBAAoB,GAAsB,IAAI,CAAC;IAC/C,sBAAsB,GAAsB,IAAI,CAAC;IA8BxC,gBAAgB,CAAuB;IAEhD,iBAAiB;QACf,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACxB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACtB,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,iBAAiB;QACf,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAEtD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAChE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC;QAEzB,IAAI,CAAC,oBAAoB,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;QACjE,IAAI,CAAC,mBAAmB,GAAG,GAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;IACrE,CAAC;IAED,eAAe;QACb,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC7E,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;QACpC,CAAC;IACH,CAAC;IAED,qBAAqB;QACnB,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAE,CAAC,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAE,CAAC,CAAE,CAAC,CAAC;QAEzE,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAEH,gBAAgB;QACd,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEvD,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;QACvE,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QAC1E,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QAC5E,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QACxE,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAC5E,CAAC;IAGD,YAAY,CAAC,CAAc;QAEzB,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;YACnC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC;YACxC,IAAI,CAAC,WAAW,GAAG,SAAS,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACpE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC;QAClE,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,CAAC,MAA2B,CAAC;QAE7C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAE3B,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC;YACrD,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,CAAC;YAC9D,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;YAC1D,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC;YAC5D,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAGC,iBAAiB;QACf,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAClI,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5H,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAE7D,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACnE,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACjE,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAE7D,IAAI,CAAC,SAAS,GAAG,GAAG,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,gBAAgB,IAAI,OAAO,IAAI,IAAI,CAAC,cAAc,IAAI,KAAK,EAAE,CAAC;QAC/G,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAAC,OAAO,CAAC,GAAG,CAAC,6CAA6C,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACzH,CAAC;IAED,WAAW,CAAC,UAAkB;QAC5B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,UAAU,WAAW,CAAC,CAAC;QAEhD,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,UAAU,GAAG,IAAI,CAAC,oBAAoB,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACpF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;YACzE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAElG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAED,iBAAiB,CAAC,IAAY,EAAE,EAAU;QACxC,IAAI,eAAe,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;QACzC,eAAe,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,eAAe,GAAG,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IACrF,CAAC;IAED,qBAAqB,CAAC,KAAa,EAAE,IAAY,EAAE,IAAY;QAC7D,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAa,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC;QAC1G,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACjB,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,sBAAsB;QACpB,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAClE,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC1B,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAC,qBAAqB;gBAC7B,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CACvB,WAAK,KAAK,EAAC,mBAAmB;oBAC5B,iBAAQ,IAAI,CAAC,gBAAgB,CAAS,CAClC,CACP,CAAC,CAAC,CAAC,IAAI;gBACR,4DAAK,KAAK,EAAC,mBAAmB;oBAC5B,uEACE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,EAAsB,CAAC,EACvD,KAAK,EAAC,OAAO,sBACK,IAAI,CAAC,eAAe,cAC5B,IAAI,CAAC,oBAAoB,cACzB,IAAI,CAAC,mBAAmB,EAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,WAAW,EAAE,IAAI,CAAC,eAAe,oBACjB,IAAI,CAAC,aAAa,EAClC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GACzD,CACd;gBAEL,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,aAAO,KAAK,EAAC,+BAA+B,IAAE,IAAI,CAAC,cAAc,CAAS,CAAC,CAAC,CAAC,IAAI,CAEpG;YACN,4DAAK,KAAK,EAAC,qBAAqB;gBAC9B,4DAAK,KAAK,EAAC,mBAAmB;oBAC5B,kEACE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,sBAAsB,GAAG,EAAuB,CAAC,EAClE,IAAI,EAAC,yBAAyB,EAC9B,KAAK,EAAC,8BAA8B,EACpC,OAAO,EAAE,IAAI,CAAC,eAAe,IAC5B,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE,CAAC,cAAQ,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,KAAK,CAAC,IAAG,IAAI,CAAU,CAAC,CACnH;oBACZ,kEACE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,wBAAwB,GAAG,EAAuB,CAAC,EACpE,IAAI,EAAC,2BAA2B,EAChC,KAAK,EAAC,8BAA8B,EACpC,OAAO,EAAE,IAAI,CAAC,eAAe,IAC5B,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,MAAc,EAAE,KAAa,EAAE,EAAE,CAAC,cAAQ,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,KAAK,CAAC,IAAG,MAAM,CAAU,CAAC,CAC7H;oBACZ,4DAAK,KAAK,EAAC,gBAAgB;wBACzB,mEAAc,CACV;oBACN,kEACE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,oBAAoB,GAAG,EAAuB,CAAC,EAChE,IAAI,EAAC,uBAAuB,EAC5B,KAAK,EAAC,8BAA8B,EACpC,OAAO,EAAE,IAAI,CAAC,eAAe,IAC5B,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE,CAAC,cAAQ,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,GAAE,CAAC,IAAG,IAAI,CAAU,CAAC,CACxI;oBACZ,kEACE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,sBAAsB,GAAG,EAAuB,CAAC,EAClE,IAAI,EAAC,yBAAyB,EAC9B,KAAK,EAAC,8BAA8B,EACpC,OAAO,EAAE,IAAI,CAAC,eAAe,IAC5B,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,MAAc,EAAE,KAAa,EAAE,EAAE,CAAC,cAAQ,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,GAAE,CAAC,IAAG,MAAM,CAAU,CAAC,CACpJ,CACR;gBACL,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,aAAO,KAAK,EAAC,+BAA+B,IAAE,IAAI,CAAC,cAAc,CAAS,CAAC,CAAC,CAAC,IAAI;gBAEvG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAC3C,aAAO,KAAK,EAAC,iCAAiC;oBAC5C,eAAS,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAC,OAAO,EAAC,KAAK,EAAC,SAAS,GAAG;oBACjE,IAAI,CAAC,YAAY,CACZ,CACT,CAAC,CAAC,CAAC,IAAI,CACJ,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h, Element, State, Host, Event, EventEmitter } from '@stencil/core';\nimport { alert_info_circle } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-date-and-time',\n styleUrl: 'pn-date-and-time.scss',\n})\nexport class PnDateAndTime {\n @Element() hostElement: Element;\n pnDatePicker: HTMLElement = null;\n pnTimeFromHourDropdown: HTMLSelectElement = null;\n pnTimeFromMinuteDropdown: HTMLSelectElement = null;\n pnTimeToHourDropdown: HTMLSelectElement = null;\n pnTimeToMinuteDropdown: HTMLSelectElement = null;\n\n @Prop() languageCode: string = null;\n @Prop() dateAndTimeLabel: string = '';\n @Prop() dateDaysFromToday: number = 0;\n @Prop() validTimeRangeMinutes: number = 0;\n @Prop() errorMessage: string = '';\n @Prop() dateHelperText: string = '';\n @Prop() timeHelperText: string = '';\n @Prop() disableWeekends: boolean = false;\n @Prop() disabledDates: string = null;\n @Prop() datePlaceholder: string = '';\n @Prop() minFromHour: number;\n @Prop() maxToHour: number;\n @Prop() dateErrorMessage: string = '';\n\n @State() language: string = null;\n @State() hourArr: string[] = null;\n @State() minuteArr: string[] = null;\n @State() formValue: string = null;\n @State() invalidTimespan: boolean = false;\n @State() invalidDate: boolean = false;\n @State() selectedDate: string = null;\n @State() selectedFromHour: number;\n @State() selectedFromMin: number;\n @State() selectedToHour: number;\n @State() selectedToMin: number;\n @State() firstValidDateString: string = '';\n @State() lastValidDateString: string = '';\n\n @Event() dateandtimerange: EventEmitter<string>;\n\n componentWillLoad() {\n this.setInitialValues();\n }\n\n componentDidLoad() {\n this.setDefaultHiddenValue();\n this.addEventHandlers();\n }\n\n setInitialValues() {\n this.setLanguageCode();\n this.setFirstValidDate();\n\n if (!this.minFromHour) {\n this.minFromHour = 14;\n }\n\n if (!this.maxToHour) {\n this.maxToHour = 17;\n }\n\n this.hourArr = this.getNumbersAsStringArr(this.minFromHour, this.maxToHour, 1);\n this.minuteArr = this.getNumbersAsStringArr(0, 50, 10);\n }\n\n setFirstValidDate() {\n const date = new Date();\n date.setDate(date.getDate() + this.dateDaysFromToday);\n\n const year = date.getFullYear();\n const month = (date.getMonth() + 1).toString().padStart(2, '0');\n const day = date.getDate().toString().padStart(2, '0');\n const endYear = year + 2;\n\n this.firstValidDateString = `${year.toString()}-${month}-${day}`;\n this.lastValidDateString = `${endYear.toString()}-${month}-${day}`;\n }\n\n setLanguageCode() {\n if (typeof this.languageCode === 'string' && this.languageCode.trim() === '') {\n this.language = document.querySelector('html').lang;\n } else {\n this.language = this.languageCode;\n }\n }\n\n setDefaultHiddenValue() {\n this.selectedFromHour = parseInt(this.hourArr[0]);\n this.selectedFromMin = parseInt(this.minuteArr[0]);\n this.selectedToHour = parseInt(this.hourArr[this.hourArr.length -1]);\n this.selectedToMin = parseInt(this.minuteArr[this.minuteArr.length -1 ]);\n\n this.updateHiddenValue();\n }\n\naddEventHandlers() {\n const boundHandleChange = this.handleChange.bind(this);\n\n this.pnDatePicker.addEventListener('dateselection', boundHandleChange);\n this.pnTimeFromHourDropdown.addEventListener('change', boundHandleChange);\n this.pnTimeFromMinuteDropdown.addEventListener('change', boundHandleChange);\n this.pnTimeToHourDropdown.addEventListener('change', boundHandleChange);\n this.pnTimeToMinuteDropdown.addEventListener('change', boundHandleChange);\n}\n\n\nhandleChange(e: CustomEvent) {\n\n if (e.target === this.pnDatePicker) {\n const selection = e.detail?.start ?? '';\n this.invalidDate = selection !== '' && !this.isValidDate(selection);\n this.selectedDate = this.invalidDate ? null : selection || null;\n }\n\n const target = e.target as HTMLSelectElement;\n\n const value = target.value;\n\n if (target.name === this.pnTimeFromHourDropdown.name) {\n this.selectedFromHour = parseInt(value);\n } else if (target.name === this.pnTimeFromMinuteDropdown.name) {\n this.selectedFromMin = parseInt(value);\n } else if (target.name === this.pnTimeToHourDropdown.name) {\n this.selectedToHour = parseInt(value);\n } else if (target.name === this.pnTimeToMinuteDropdown.name) {\n this.selectedToMin = parseInt(value);\n }\n\n this.updateHiddenValue();\n}\n\n\n updateHiddenValue() {\n const date = new Date();\n const dateFrom = new Date(date.getFullYear(), date.getMonth(), date.getDate(), this.selectedFromHour, this.selectedFromMin, 0, 0);\n const dateTo = new Date(date.getFullYear(), date.getMonth(), date.getDate(), this.selectedToHour, this.selectedToMin, 0, 0);\n this.validateTimeRange(dateFrom.getTime(), dateTo.getTime());\n\n if (this.invalidTimespan || this.invalidDate || !this.selectedDate) {\n this.formValue = '';\n } else {\n const fromMin = this.selectedFromMin.toString().padStart(2, '0');\n const toMin = this.selectedToMin.toString().padStart(2, '0');\n\n this.formValue = `${this.selectedDate}, ${this.selectedFromHour}:${fromMin}-${this.selectedToHour}:${toMin}`;\n }\n this.dateandtimerange.emit(this.formValue); console.log('Emitting dateandtimerange event with value:', this.formValue);\n }\n\n isValidDate(dateString: string) {\n if (!/^\\d{4}-\\d{2}-\\d{2}$/.test(dateString)) {\n return false;\n }\n\n const date = new Date(`${dateString}T00:00:00`);\n\n if (isNaN(date.getTime())) {\n return false;\n }\n\n if (dateString < this.firstValidDateString || dateString > this.lastValidDateString) {\n return false;\n }\n\n if (this.disableWeekends && (date.getDay() === 0 || date.getDay() === 6)) {\n return false;\n }\n\n const disabled = this.disabledDates ? this.disabledDates.split(',').map(item => item.trim()) : [];\n\n return !disabled.includes(dateString);\n }\n\n validateTimeRange(from: number, to: number) {\n let differenceValue = (to - from) / 1000;\n differenceValue /= 60;\n this.invalidTimespan = differenceValue < this.validTimeRangeMinutes ? true : false;\n }\n\n getNumbersAsStringArr(start: number, stop: number, step: number) {\n const arr = Array.from({ length: (stop - start) / step + 1 }, (_, index: number) => start + index * step);\n const result: string[] = [];\n\n arr.forEach(item => {\n const itemAsString = item.toString().padStart(2, '0');\n result.push(itemAsString);\n });\n\n return result;\n }\n\n removePnOptionSelected() {\n const selectOptions = this.hostElement.querySelectorAll('option');\n selectOptions.forEach(elm => {\n elm.removeAttribute('selected');\n });\n }\n\n render() {\n return (\n <Host>\n <div class=\"date-and-time-group\">\n {this.dateAndTimeLabel ? (\n <div class=\"date-and-time-row\">\n <label>{this.dateAndTimeLabel}</label>\n </div>\n ) : null}\n <div class=\"date-and-time-row\">\n <pn-date-picker\n ref={el => (this.pnDatePicker = el as HTMLInputElement)}\n range=\"false\"\n disable-weekends={this.disableWeekends}\n min-date={this.firstValidDateString}\n max-date={this.lastValidDateString}\n language={this.language}\n placeholder={this.datePlaceholder}\n disabled-dates={this.disabledDates}\n error={this.invalidDate ? this.dateErrorMessage || this.errorMessage : \"\"}\n ></pn-date-picker>\n </div>\n\n {this.dateHelperText ? <small class=\"date-and-time-row helper-text\">{this.dateHelperText}</small> : null}\n\n </div>\n <div class=\"date-and-time-group\">\n <div class=\"date-and-time-row\">\n <pn-select\n ref={el => (this.pnTimeFromHourDropdown = el as HTMLSelectElement)}\n name=\"date-and-time-from-hour\"\n class=\"date-and-time-dropdown--time\"\n invalid={this.invalidTimespan} >\n {this.hourArr?.map((hour: string, index: number) => <option label={hour} value={hour} selected={index === 0}>{hour}</option>)}\n </pn-select>\n <pn-select\n ref={el => (this.pnTimeFromMinuteDropdown = el as HTMLSelectElement)}\n name=\"date-and-time-from-minute\"\n class=\"date-and-time-dropdown--time\"\n invalid={this.invalidTimespan} >\n {this.minuteArr?.map((minute: string, index: number) => <option label={minute} value={minute} selected={index === 0}>{minute}</option>)}\n </pn-select>\n <div class=\"time-separator\">\n <span>-</span>\n </div>\n <pn-select\n ref={el => (this.pnTimeToHourDropdown = el as HTMLSelectElement)}\n name=\"date-and-time-to-hour\"\n class=\"date-and-time-dropdown--time\"\n invalid={this.invalidTimespan} >\n {this.hourArr?.map((hour: string, index: number) => <option label={hour} value={hour} selected={index === this.hourArr.length -1}>{hour}</option>)}\n </pn-select>\n <pn-select\n ref={el => (this.pnTimeToMinuteDropdown = el as HTMLSelectElement)}\n name=\"date-and-time-to-minute\"\n class=\"date-and-time-dropdown--time\"\n invalid={this.invalidTimespan} >\n {this.minuteArr?.map((minute: string, index: number) => <option label={minute} value={minute} selected={index === this.minuteArr.length -1}>{minute}</option>)}\n </pn-select>\n </div>\n {this.timeHelperText ? <small class=\"date-and-time-row helper-text\">{this.timeHelperText}</small> : null}\n\n {this.invalidTimespan && this.errorMessage ? (\n <small class=\"date-and-time-row error-message\">\n <pn-icon icon={alert_info_circle} small=\"false\" color=\"warning\" />\n {this.errorMessage}\n </small>\n ) : null}\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -21,6 +21,7 @@ const Template = ({ ...args }) => {
|
|
|
21
21
|
disable-weekends="${args.disableWeekends}"
|
|
22
22
|
date-placeholder="${args.datePlaceholder}"
|
|
23
23
|
disabled-dates="${args.disabledDates}"
|
|
24
|
+
date-error-message="${args.dateErrorMessage}"
|
|
24
25
|
>
|
|
25
26
|
</pn-date-and-time>
|
|
26
27
|
`;
|
|
@@ -32,10 +33,11 @@ Primary.args = {
|
|
|
32
33
|
dateAndTimeLabel: 'Label Text',
|
|
33
34
|
dateDaysFromToday: 1,
|
|
34
35
|
validTimeRangeMinutes: 30,
|
|
35
|
-
errorMessage: '',
|
|
36
|
+
errorMessage: 'Error message',
|
|
36
37
|
dateHelpertext: 'Date helpertext',
|
|
37
38
|
timeHelpertext: 'Time helpertext',
|
|
38
39
|
disableWeekends: 'true',
|
|
39
40
|
datePlaceholder: 'YYYY-MM-DD',
|
|
40
41
|
disabledDates: '',
|
|
42
|
+
dateErrorMessage: 'Date error message',
|
|
41
43
|
};
|
|
@@ -23,11 +23,13 @@ const PnDateAndTime$1 = /*@__PURE__*/ proxyCustomElement(class PnDateAndTime ext
|
|
|
23
23
|
this.datePlaceholder = '';
|
|
24
24
|
this.minFromHour = undefined;
|
|
25
25
|
this.maxToHour = undefined;
|
|
26
|
+
this.dateErrorMessage = '';
|
|
26
27
|
this.language = null;
|
|
27
28
|
this.hourArr = null;
|
|
28
29
|
this.minuteArr = null;
|
|
29
30
|
this.formValue = null;
|
|
30
31
|
this.invalidTimespan = false;
|
|
32
|
+
this.invalidDate = false;
|
|
31
33
|
this.selectedDate = null;
|
|
32
34
|
this.selectedFromHour = undefined;
|
|
33
35
|
this.selectedFromMin = undefined;
|
|
@@ -97,7 +99,9 @@ const PnDateAndTime$1 = /*@__PURE__*/ proxyCustomElement(class PnDateAndTime ext
|
|
|
97
99
|
}
|
|
98
100
|
handleChange(e) {
|
|
99
101
|
if (e.target === this.pnDatePicker) {
|
|
100
|
-
|
|
102
|
+
const selection = e.detail?.start ?? '';
|
|
103
|
+
this.invalidDate = selection !== '' && !this.isValidDate(selection);
|
|
104
|
+
this.selectedDate = this.invalidDate ? null : selection || null;
|
|
101
105
|
}
|
|
102
106
|
const target = e.target;
|
|
103
107
|
const value = target.value;
|
|
@@ -120,7 +124,7 @@ const PnDateAndTime$1 = /*@__PURE__*/ proxyCustomElement(class PnDateAndTime ext
|
|
|
120
124
|
const dateFrom = new Date(date.getFullYear(), date.getMonth(), date.getDate(), this.selectedFromHour, this.selectedFromMin, 0, 0);
|
|
121
125
|
const dateTo = new Date(date.getFullYear(), date.getMonth(), date.getDate(), this.selectedToHour, this.selectedToMin, 0, 0);
|
|
122
126
|
this.validateTimeRange(dateFrom.getTime(), dateTo.getTime());
|
|
123
|
-
if (this.invalidTimespan || !this.selectedDate) {
|
|
127
|
+
if (this.invalidTimespan || this.invalidDate || !this.selectedDate) {
|
|
124
128
|
this.formValue = '';
|
|
125
129
|
}
|
|
126
130
|
else {
|
|
@@ -129,6 +133,24 @@ const PnDateAndTime$1 = /*@__PURE__*/ proxyCustomElement(class PnDateAndTime ext
|
|
|
129
133
|
this.formValue = `${this.selectedDate}, ${this.selectedFromHour}:${fromMin}-${this.selectedToHour}:${toMin}`;
|
|
130
134
|
}
|
|
131
135
|
this.dateandtimerange.emit(this.formValue);
|
|
136
|
+
console.log('Emitting dateandtimerange event with value:', this.formValue);
|
|
137
|
+
}
|
|
138
|
+
isValidDate(dateString) {
|
|
139
|
+
if (!/^\d{4}-\d{2}-\d{2}$/.test(dateString)) {
|
|
140
|
+
return false;
|
|
141
|
+
}
|
|
142
|
+
const date = new Date(`${dateString}T00:00:00`);
|
|
143
|
+
if (isNaN(date.getTime())) {
|
|
144
|
+
return false;
|
|
145
|
+
}
|
|
146
|
+
if (dateString < this.firstValidDateString || dateString > this.lastValidDateString) {
|
|
147
|
+
return false;
|
|
148
|
+
}
|
|
149
|
+
if (this.disableWeekends && (date.getDay() === 0 || date.getDay() === 6)) {
|
|
150
|
+
return false;
|
|
151
|
+
}
|
|
152
|
+
const disabled = this.disabledDates ? this.disabledDates.split(',').map(item => item.trim()) : [];
|
|
153
|
+
return !disabled.includes(dateString);
|
|
132
154
|
}
|
|
133
155
|
validateTimeRange(from, to) {
|
|
134
156
|
let differenceValue = (to - from) / 1000;
|
|
@@ -151,7 +173,7 @@ const PnDateAndTime$1 = /*@__PURE__*/ proxyCustomElement(class PnDateAndTime ext
|
|
|
151
173
|
});
|
|
152
174
|
}
|
|
153
175
|
render() {
|
|
154
|
-
return (h(Host, { key: '
|
|
176
|
+
return (h(Host, { key: '283798f9386e9dbdf510069ddd535414e9036cfd' }, h("div", { key: '9e54d74b835e3a429316d4bbf93bf9b215fb4dc2', class: "date-and-time-group" }, this.dateAndTimeLabel ? (h("div", { class: "date-and-time-row" }, h("label", null, this.dateAndTimeLabel))) : null, h("div", { key: 'a6176ef0cfc556b35bce1233f78407906ad88676', class: "date-and-time-row" }, h("pn-date-picker", { key: '63c11bd1825e50502566d4cac9d6f093a0b63089', ref: el => (this.pnDatePicker = el), range: "false", "disable-weekends": this.disableWeekends, "min-date": this.firstValidDateString, "max-date": this.lastValidDateString, language: this.language, placeholder: this.datePlaceholder, "disabled-dates": this.disabledDates, error: this.invalidDate ? this.dateErrorMessage || this.errorMessage : "" })), this.dateHelperText ? h("small", { class: "date-and-time-row helper-text" }, this.dateHelperText) : null), h("div", { key: 'ec0ca97294133c212355d6f481d5ec24cadcd1c3', class: "date-and-time-group" }, h("div", { key: '274508f9dc8ca7842a0790fddcd15e015881602b', class: "date-and-time-row" }, h("pn-select", { key: '6aefcdeabcb744ce82b4fdaca891f40c318ed45c', ref: el => (this.pnTimeFromHourDropdown = el), name: "date-and-time-from-hour", class: "date-and-time-dropdown--time", invalid: this.invalidTimespan }, this.hourArr?.map((hour, index) => h("option", { label: hour, value: hour, selected: index === 0 }, hour))), h("pn-select", { key: '1eff4c86af5e92b8aad9d058993fe828ecf42f91', ref: el => (this.pnTimeFromMinuteDropdown = el), name: "date-and-time-from-minute", class: "date-and-time-dropdown--time", invalid: this.invalidTimespan }, this.minuteArr?.map((minute, index) => h("option", { label: minute, value: minute, selected: index === 0 }, minute))), h("div", { key: '98138c4667a12cb30f46ff8f52737f4722631091', class: "time-separator" }, h("span", { key: 'e0e8e36b7af32ef7e6d48267aa3b252e50bebdeb' }, "-")), h("pn-select", { key: '19c9797f428323bdfe8102c7ce4022017712bc6d', ref: el => (this.pnTimeToHourDropdown = el), name: "date-and-time-to-hour", class: "date-and-time-dropdown--time", invalid: this.invalidTimespan }, this.hourArr?.map((hour, index) => h("option", { label: hour, value: hour, selected: index === this.hourArr.length - 1 }, hour))), h("pn-select", { key: '4b2ae5f778dee363f5cc6f45375e43d462922caf', ref: el => (this.pnTimeToMinuteDropdown = el), name: "date-and-time-to-minute", class: "date-and-time-dropdown--time", invalid: this.invalidTimespan }, this.minuteArr?.map((minute, index) => h("option", { label: minute, value: minute, selected: index === this.minuteArr.length - 1 }, minute)))), this.timeHelperText ? h("small", { class: "date-and-time-row helper-text" }, this.timeHelperText) : null, this.invalidTimespan && this.errorMessage ? (h("small", { class: "date-and-time-row error-message" }, h("pn-icon", { icon: alert_info_circle, small: "false", color: "warning" }), this.errorMessage)) : null)));
|
|
155
177
|
}
|
|
156
178
|
static get style() { return PnDateAndTimeStyle0; }
|
|
157
179
|
}, [0, "pn-date-and-time", {
|
|
@@ -167,11 +189,13 @@ const PnDateAndTime$1 = /*@__PURE__*/ proxyCustomElement(class PnDateAndTime ext
|
|
|
167
189
|
"datePlaceholder": [1, "date-placeholder"],
|
|
168
190
|
"minFromHour": [2, "min-from-hour"],
|
|
169
191
|
"maxToHour": [2, "max-to-hour"],
|
|
192
|
+
"dateErrorMessage": [1, "date-error-message"],
|
|
170
193
|
"language": [32],
|
|
171
194
|
"hourArr": [32],
|
|
172
195
|
"minuteArr": [32],
|
|
173
196
|
"formValue": [32],
|
|
174
197
|
"invalidTimespan": [32],
|
|
198
|
+
"invalidDate": [32],
|
|
175
199
|
"selectedDate": [32],
|
|
176
200
|
"selectedFromHour": [32],
|
|
177
201
|
"selectedFromMin": [32],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"pn-date-and-time.js","mappings":"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","names":["PnDateAndTime"],"sources":["node_modules/pn-design-assets/pn-assets/icons/alert_info_circle.js","src/components/input/pn-date-and-time/pn-date-and-time.scss?tag=pn-date-and-time","src/components/input/pn-date-and-time/pn-date-and-time.tsx"],"sourcesContent":["const icon = '<svg class=\"pn-icon-svg\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\"><path fill=\"#000\" fill-rule=\"evenodd\" d=\"M4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0m8-10C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2m0 8a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m1 2v4.5a1 1 0 1 1-2 0V12a1 1 0 1 1 2 0\" clip-rule=\"evenodd\"/></svg>';\nexport const alert_info_circle = icon;\nexport const alertInfoCircle = icon;\n","@import '../../../globals/main.scss';\n\npn-date-and-time {\n pn-date-picker .pn-date-picker {\n container-type: normal;\n }\n\n label {\n color: $gray700;\n font-size: 1.4rem;\n }\n\n .time-separator {\n margin-top: auto;\n margin-bottom: auto;\n }\n\n .date-and-time-group {\n margin-bottom: 1rem;\n }\n\n .date-and-time-row {\n display: flex;\n gap: 1rem;\n }\n\n .helper-text {\n margin-top: 0.2rem;\n color: $gray700;\n display: block;\n }\n\n .error-message {\n color: #a70707;\n }\n}","import { Component, Prop, h, Element, State, Host, Event, EventEmitter } from '@stencil/core';\nimport { alert_info_circle } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-date-and-time',\n styleUrl: 'pn-date-and-time.scss',\n})\nexport class PnDateAndTime {\n @Element() hostElement: Element;\n pnDatePicker: HTMLElement = null;\n pnTimeFromHourDropdown: HTMLSelectElement = null;\n pnTimeFromMinuteDropdown: HTMLSelectElement = null;\n pnTimeToHourDropdown: HTMLSelectElement = null;\n pnTimeToMinuteDropdown: HTMLSelectElement = null;\n\n @Prop() languageCode: string = null;\n @Prop() dateAndTimeLabel: string = '';\n @Prop() dateDaysFromToday: number = 0;\n @Prop() validTimeRangeMinutes: number = 0;\n @Prop() errorMessage: string = '';\n @Prop() dateHelperText: string = '';\n @Prop() timeHelperText: string = '';\n @Prop() disableWeekends: boolean = false;\n @Prop() disabledDates: string = null;\n @Prop() datePlaceholder: string = '';\n @Prop() minFromHour: number;\n @Prop() maxToHour: number;\n\n @State() language: string = null;\n @State() hourArr: string[] = null;\n @State() minuteArr: string[] = null;\n @State() formValue: string = null;\n @State() invalidTimespan: boolean = false;\n @State() selectedDate: string = null;\n @State() selectedFromHour: number;\n @State() selectedFromMin: number;\n @State() selectedToHour: number;\n @State() selectedToMin: number;\n @State() firstValidDateString: string = '';\n @State() lastValidDateString: string = '';\n\n @Event() dateandtimerange: EventEmitter<string>;\n\n componentWillLoad() {\n this.setInitialValues();\n }\n\n componentDidLoad() {\n this.setDefaultHiddenValue();\n this.addEventHandlers();\n }\n\n setInitialValues() {\n this.setLanguageCode();\n this.setFirstValidDate();\n\n if (!this.minFromHour) {\n this.minFromHour = 14;\n }\n\n if (!this.maxToHour) {\n this.maxToHour = 17;\n }\n\n this.hourArr = this.getNumbersAsStringArr(this.minFromHour, this.maxToHour, 1);\n this.minuteArr = this.getNumbersAsStringArr(0, 50, 10);\n }\n\n setFirstValidDate() {\n const date = new Date();\n date.setDate(date.getDate() + this.dateDaysFromToday);\n\n const year = date.getFullYear();\n const month = (date.getMonth() + 1).toString().padStart(2, '0');\n const day = date.getDate().toString().padStart(2, '0');\n const endYear = year + 2;\n\n this.firstValidDateString = `${year.toString()}-${month}-${day}`;\n this.lastValidDateString = `${endYear.toString()}-${month}-${day}`;\n }\n\n setLanguageCode() {\n if (typeof this.languageCode === 'string' && this.languageCode.trim() === '') {\n this.language = document.querySelector('html').lang;\n } else {\n this.language = this.languageCode;\n }\n }\n\n setDefaultHiddenValue() {\n this.selectedFromHour = parseInt(this.hourArr[0]);\n this.selectedFromMin = parseInt(this.minuteArr[0]);\n this.selectedToHour = parseInt(this.hourArr[this.hourArr.length -1]);\n this.selectedToMin = parseInt(this.minuteArr[this.minuteArr.length -1 ]);\n\n this.updateHiddenValue();\n }\n\naddEventHandlers() {\n const boundHandleChange = this.handleChange.bind(this);\n\n this.pnDatePicker.addEventListener('dateselection', boundHandleChange);\n this.pnTimeFromHourDropdown.addEventListener('change', boundHandleChange);\n this.pnTimeFromMinuteDropdown.addEventListener('change', boundHandleChange);\n this.pnTimeToHourDropdown.addEventListener('change', boundHandleChange);\n this.pnTimeToMinuteDropdown.addEventListener('change', boundHandleChange);\n}\n\n\nhandleChange(e: CustomEvent) {\n\n if (e.target === this.pnDatePicker) {\n this.selectedDate = e.detail.start;\n }\n\n const target = e.target as HTMLSelectElement;\n\n const value = target.value;\n\n if (target.name === this.pnTimeFromHourDropdown.name) {\n this.selectedFromHour = parseInt(value);\n } else if (target.name === this.pnTimeFromMinuteDropdown.name) {\n this.selectedFromMin = parseInt(value);\n } else if (target.name === this.pnTimeToHourDropdown.name) {\n this.selectedToHour = parseInt(value);\n } else if (target.name === this.pnTimeToMinuteDropdown.name) {\n this.selectedToMin = parseInt(value);\n }\n\n this.updateHiddenValue();\n}\n\n\n updateHiddenValue() {\n const date = new Date();\n const dateFrom = new Date(date.getFullYear(), date.getMonth(), date.getDate(), this.selectedFromHour, this.selectedFromMin, 0, 0);\n const dateTo = new Date(date.getFullYear(), date.getMonth(), date.getDate(), this.selectedToHour, this.selectedToMin, 0, 0);\n this.validateTimeRange(dateFrom.getTime(), dateTo.getTime());\n\n if (this.invalidTimespan || !this.selectedDate) {\n this.formValue = '';\n } else {\n const fromMin = this.selectedFromMin.toString().padStart(2, '0');\n const toMin = this.selectedToMin.toString().padStart(2, '0');\n\n this.formValue = `${this.selectedDate}, ${this.selectedFromHour}:${fromMin}-${this.selectedToHour}:${toMin}`;\n }\n this.dateandtimerange.emit(this.formValue);\n }\n\n validateTimeRange(from: number, to: number) {\n let differenceValue = (to - from) / 1000;\n differenceValue /= 60;\n this.invalidTimespan = differenceValue < this.validTimeRangeMinutes ? true : false;\n }\n\n getNumbersAsStringArr(start: number, stop: number, step: number) {\n const arr = Array.from({ length: (stop - start) / step + 1 }, (_, index: number) => start + index * step);\n const result: string[] = [];\n\n arr.forEach(item => {\n const itemAsString = item.toString().padStart(2, '0');\n result.push(itemAsString);\n });\n\n return result;\n }\n\n removePnOptionSelected() {\n const selectOptions = this.hostElement.querySelectorAll('option');\n selectOptions.forEach(elm => {\n elm.removeAttribute('selected');\n });\n }\n\n render() {\n return (\n <Host>\n <div class=\"date-and-time-group\">\n {this.dateAndTimeLabel ? (\n <div class=\"date-and-time-row\">\n <label>{this.dateAndTimeLabel}</label>\n </div>\n ) : null}\n <div class=\"date-and-time-row\">\n <pn-date-picker\n ref={el => (this.pnDatePicker = el as HTMLInputElement)}\n range=\"false\"\n disable-weekends={this.disableWeekends}\n min-date={this.firstValidDateString}\n max-date={this.lastValidDateString}\n language={this.language}\n placeholder={this.datePlaceholder}\n disabled-dates={this.disabledDates}\n ></pn-date-picker>\n </div>\n\n {this.dateHelperText ? <small class=\"date-and-time-row helper-text\">{this.dateHelperText}</small> : null}\n </div>\n <div class=\"date-and-time-group\">\n <div class=\"date-and-time-row\">\n <pn-select\n ref={el => (this.pnTimeFromHourDropdown = el as HTMLSelectElement)}\n name=\"date-and-time-from-hour\"\n class=\"date-and-time-dropdown--time\"\n invalid={this.invalidTimespan} >\n {this.hourArr?.map((hour: string, index: number) => <option label={hour} value={hour} selected={index === 0}>{hour}</option>)}\n </pn-select>\n <pn-select\n ref={el => (this.pnTimeFromMinuteDropdown = el as HTMLSelectElement)}\n name=\"date-and-time-from-minute\"\n class=\"date-and-time-dropdown--time\"\n invalid={this.invalidTimespan} >\n {this.minuteArr?.map((minute: string, index: number) => <option label={minute} value={minute} selected={index === 0}>{minute}</option>)}\n </pn-select>\n <div class=\"time-separator\">\n <span>-</span>\n </div>\n <pn-select\n ref={el => (this.pnTimeToHourDropdown = el as HTMLSelectElement)}\n name=\"date-and-time-to-hour\"\n class=\"date-and-time-dropdown--time\"\n invalid={this.invalidTimespan} >\n {this.hourArr?.map((hour: string, index: number) => <option label={hour} value={hour} selected={index === this.hourArr.length -1}>{hour}</option>)}\n </pn-select>\n <pn-select\n ref={el => (this.pnTimeToMinuteDropdown = el as HTMLSelectElement)}\n name=\"date-and-time-to-minute\"\n class=\"date-and-time-dropdown--time\"\n invalid={this.invalidTimespan} >\n {this.minuteArr?.map((minute: string, index: number) => <option label={minute} value={minute} selected={index === this.minuteArr.length -1}>{minute}</option>)}\n </pn-select>\n </div>\n {this.timeHelperText ? <small class=\"date-and-time-row helper-text\">{this.timeHelperText}</small> : null}\n\n {this.invalidTimespan && this.errorMessage ? (\n <small class=\"date-and-time-row error-message\">\n <pn-icon icon={alert_info_circle} small=\"false\" color=\"warning\" />\n {this.errorMessage}\n </small>\n ) : null}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"pn-date-and-time.js","mappings":"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","names":["PnDateAndTime"],"sources":["node_modules/pn-design-assets/pn-assets/icons/alert_info_circle.js","src/components/input/pn-date-and-time/pn-date-and-time.scss?tag=pn-date-and-time","src/components/input/pn-date-and-time/pn-date-and-time.tsx"],"sourcesContent":["const icon = '<svg class=\"pn-icon-svg\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\"><path fill=\"#000\" fill-rule=\"evenodd\" d=\"M4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0m8-10C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2m0 8a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m1 2v4.5a1 1 0 1 1-2 0V12a1 1 0 1 1 2 0\" clip-rule=\"evenodd\"/></svg>';\nexport const alert_info_circle = icon;\nexport const alertInfoCircle = icon;\n","@import '../../../globals/main.scss';\n\npn-date-and-time {\n pn-date-picker .pn-date-picker {\n container-type: normal;\n }\n\n label {\n color: $gray700;\n font-size: 1.4rem;\n }\n\n .time-separator {\n margin-top: auto;\n margin-bottom: auto;\n }\n\n .date-and-time-group {\n margin-bottom: 1rem;\n }\n\n .date-and-time-row {\n display: flex;\n gap: 1rem;\n }\n\n .helper-text {\n margin-top: 0.2rem;\n color: $gray700;\n display: block;\n }\n\n .error-message {\n color: #a70707;\n }\n}","import { Component, Prop, h, Element, State, Host, Event, EventEmitter } from '@stencil/core';\nimport { alert_info_circle } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-date-and-time',\n styleUrl: 'pn-date-and-time.scss',\n})\nexport class PnDateAndTime {\n @Element() hostElement: Element;\n pnDatePicker: HTMLElement = null;\n pnTimeFromHourDropdown: HTMLSelectElement = null;\n pnTimeFromMinuteDropdown: HTMLSelectElement = null;\n pnTimeToHourDropdown: HTMLSelectElement = null;\n pnTimeToMinuteDropdown: HTMLSelectElement = null;\n\n @Prop() languageCode: string = null;\n @Prop() dateAndTimeLabel: string = '';\n @Prop() dateDaysFromToday: number = 0;\n @Prop() validTimeRangeMinutes: number = 0;\n @Prop() errorMessage: string = '';\n @Prop() dateHelperText: string = '';\n @Prop() timeHelperText: string = '';\n @Prop() disableWeekends: boolean = false;\n @Prop() disabledDates: string = null;\n @Prop() datePlaceholder: string = '';\n @Prop() minFromHour: number;\n @Prop() maxToHour: number;\n @Prop() dateErrorMessage: string = '';\n\n @State() language: string = null;\n @State() hourArr: string[] = null;\n @State() minuteArr: string[] = null;\n @State() formValue: string = null;\n @State() invalidTimespan: boolean = false;\n @State() invalidDate: boolean = false;\n @State() selectedDate: string = null;\n @State() selectedFromHour: number;\n @State() selectedFromMin: number;\n @State() selectedToHour: number;\n @State() selectedToMin: number;\n @State() firstValidDateString: string = '';\n @State() lastValidDateString: string = '';\n\n @Event() dateandtimerange: EventEmitter<string>;\n\n componentWillLoad() {\n this.setInitialValues();\n }\n\n componentDidLoad() {\n this.setDefaultHiddenValue();\n this.addEventHandlers();\n }\n\n setInitialValues() {\n this.setLanguageCode();\n this.setFirstValidDate();\n\n if (!this.minFromHour) {\n this.minFromHour = 14;\n }\n\n if (!this.maxToHour) {\n this.maxToHour = 17;\n }\n\n this.hourArr = this.getNumbersAsStringArr(this.minFromHour, this.maxToHour, 1);\n this.minuteArr = this.getNumbersAsStringArr(0, 50, 10);\n }\n\n setFirstValidDate() {\n const date = new Date();\n date.setDate(date.getDate() + this.dateDaysFromToday);\n\n const year = date.getFullYear();\n const month = (date.getMonth() + 1).toString().padStart(2, '0');\n const day = date.getDate().toString().padStart(2, '0');\n const endYear = year + 2;\n\n this.firstValidDateString = `${year.toString()}-${month}-${day}`;\n this.lastValidDateString = `${endYear.toString()}-${month}-${day}`;\n }\n\n setLanguageCode() {\n if (typeof this.languageCode === 'string' && this.languageCode.trim() === '') {\n this.language = document.querySelector('html').lang;\n } else {\n this.language = this.languageCode;\n }\n }\n\n setDefaultHiddenValue() {\n this.selectedFromHour = parseInt(this.hourArr[0]);\n this.selectedFromMin = parseInt(this.minuteArr[0]);\n this.selectedToHour = parseInt(this.hourArr[this.hourArr.length -1]);\n this.selectedToMin = parseInt(this.minuteArr[this.minuteArr.length -1 ]);\n\n this.updateHiddenValue();\n }\n\naddEventHandlers() {\n const boundHandleChange = this.handleChange.bind(this);\n\n this.pnDatePicker.addEventListener('dateselection', boundHandleChange);\n this.pnTimeFromHourDropdown.addEventListener('change', boundHandleChange);\n this.pnTimeFromMinuteDropdown.addEventListener('change', boundHandleChange);\n this.pnTimeToHourDropdown.addEventListener('change', boundHandleChange);\n this.pnTimeToMinuteDropdown.addEventListener('change', boundHandleChange);\n}\n\n\nhandleChange(e: CustomEvent) {\n\n if (e.target === this.pnDatePicker) {\n const selection = e.detail?.start ?? '';\n this.invalidDate = selection !== '' && !this.isValidDate(selection);\n this.selectedDate = this.invalidDate ? null : selection || null;\n }\n\n const target = e.target as HTMLSelectElement;\n\n const value = target.value;\n\n if (target.name === this.pnTimeFromHourDropdown.name) {\n this.selectedFromHour = parseInt(value);\n } else if (target.name === this.pnTimeFromMinuteDropdown.name) {\n this.selectedFromMin = parseInt(value);\n } else if (target.name === this.pnTimeToHourDropdown.name) {\n this.selectedToHour = parseInt(value);\n } else if (target.name === this.pnTimeToMinuteDropdown.name) {\n this.selectedToMin = parseInt(value);\n }\n\n this.updateHiddenValue();\n}\n\n\n updateHiddenValue() {\n const date = new Date();\n const dateFrom = new Date(date.getFullYear(), date.getMonth(), date.getDate(), this.selectedFromHour, this.selectedFromMin, 0, 0);\n const dateTo = new Date(date.getFullYear(), date.getMonth(), date.getDate(), this.selectedToHour, this.selectedToMin, 0, 0);\n this.validateTimeRange(dateFrom.getTime(), dateTo.getTime());\n\n if (this.invalidTimespan || this.invalidDate || !this.selectedDate) {\n this.formValue = '';\n } else {\n const fromMin = this.selectedFromMin.toString().padStart(2, '0');\n const toMin = this.selectedToMin.toString().padStart(2, '0');\n\n this.formValue = `${this.selectedDate}, ${this.selectedFromHour}:${fromMin}-${this.selectedToHour}:${toMin}`;\n }\n this.dateandtimerange.emit(this.formValue); console.log('Emitting dateandtimerange event with value:', this.formValue);\n }\n\n isValidDate(dateString: string) {\n if (!/^\\d{4}-\\d{2}-\\d{2}$/.test(dateString)) {\n return false;\n }\n\n const date = new Date(`${dateString}T00:00:00`);\n\n if (isNaN(date.getTime())) {\n return false;\n }\n\n if (dateString < this.firstValidDateString || dateString > this.lastValidDateString) {\n return false;\n }\n\n if (this.disableWeekends && (date.getDay() === 0 || date.getDay() === 6)) {\n return false;\n }\n\n const disabled = this.disabledDates ? this.disabledDates.split(',').map(item => item.trim()) : [];\n\n return !disabled.includes(dateString);\n }\n\n validateTimeRange(from: number, to: number) {\n let differenceValue = (to - from) / 1000;\n differenceValue /= 60;\n this.invalidTimespan = differenceValue < this.validTimeRangeMinutes ? true : false;\n }\n\n getNumbersAsStringArr(start: number, stop: number, step: number) {\n const arr = Array.from({ length: (stop - start) / step + 1 }, (_, index: number) => start + index * step);\n const result: string[] = [];\n\n arr.forEach(item => {\n const itemAsString = item.toString().padStart(2, '0');\n result.push(itemAsString);\n });\n\n return result;\n }\n\n removePnOptionSelected() {\n const selectOptions = this.hostElement.querySelectorAll('option');\n selectOptions.forEach(elm => {\n elm.removeAttribute('selected');\n });\n }\n\n render() {\n return (\n <Host>\n <div class=\"date-and-time-group\">\n {this.dateAndTimeLabel ? (\n <div class=\"date-and-time-row\">\n <label>{this.dateAndTimeLabel}</label>\n </div>\n ) : null}\n <div class=\"date-and-time-row\">\n <pn-date-picker\n ref={el => (this.pnDatePicker = el as HTMLInputElement)}\n range=\"false\"\n disable-weekends={this.disableWeekends}\n min-date={this.firstValidDateString}\n max-date={this.lastValidDateString}\n language={this.language}\n placeholder={this.datePlaceholder}\n disabled-dates={this.disabledDates}\n error={this.invalidDate ? this.dateErrorMessage || this.errorMessage : \"\"}\n ></pn-date-picker>\n </div>\n\n {this.dateHelperText ? <small class=\"date-and-time-row helper-text\">{this.dateHelperText}</small> : null}\n\n </div>\n <div class=\"date-and-time-group\">\n <div class=\"date-and-time-row\">\n <pn-select\n ref={el => (this.pnTimeFromHourDropdown = el as HTMLSelectElement)}\n name=\"date-and-time-from-hour\"\n class=\"date-and-time-dropdown--time\"\n invalid={this.invalidTimespan} >\n {this.hourArr?.map((hour: string, index: number) => <option label={hour} value={hour} selected={index === 0}>{hour}</option>)}\n </pn-select>\n <pn-select\n ref={el => (this.pnTimeFromMinuteDropdown = el as HTMLSelectElement)}\n name=\"date-and-time-from-minute\"\n class=\"date-and-time-dropdown--time\"\n invalid={this.invalidTimespan} >\n {this.minuteArr?.map((minute: string, index: number) => <option label={minute} value={minute} selected={index === 0}>{minute}</option>)}\n </pn-select>\n <div class=\"time-separator\">\n <span>-</span>\n </div>\n <pn-select\n ref={el => (this.pnTimeToHourDropdown = el as HTMLSelectElement)}\n name=\"date-and-time-to-hour\"\n class=\"date-and-time-dropdown--time\"\n invalid={this.invalidTimespan} >\n {this.hourArr?.map((hour: string, index: number) => <option label={hour} value={hour} selected={index === this.hourArr.length -1}>{hour}</option>)}\n </pn-select>\n <pn-select\n ref={el => (this.pnTimeToMinuteDropdown = el as HTMLSelectElement)}\n name=\"date-and-time-to-minute\"\n class=\"date-and-time-dropdown--time\"\n invalid={this.invalidTimespan} >\n {this.minuteArr?.map((minute: string, index: number) => <option label={minute} value={minute} selected={index === this.minuteArr.length -1}>{minute}</option>)}\n </pn-select>\n </div>\n {this.timeHelperText ? <small class=\"date-and-time-row helper-text\">{this.timeHelperText}</small> : null}\n\n {this.invalidTimespan && this.errorMessage ? (\n <small class=\"date-and-time-row error-message\">\n <pn-icon icon={alert_info_circle} small=\"false\" color=\"warning\" />\n {this.errorMessage}\n </small>\n ) : null}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
package/components/v4.js
CHANGED
|
@@ -1,66 +1,67 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
const byteToHex = [];
|
|
2
|
+
for (let i = 0; i < 256; ++i) {
|
|
3
|
+
byteToHex.push((i + 0x100).toString(16).slice(1));
|
|
4
|
+
}
|
|
5
|
+
function unsafeStringify(arr, offset = 0) {
|
|
6
|
+
return (byteToHex[arr[offset + 0]] +
|
|
7
|
+
byteToHex[arr[offset + 1]] +
|
|
8
|
+
byteToHex[arr[offset + 2]] +
|
|
9
|
+
byteToHex[arr[offset + 3]] +
|
|
10
|
+
'-' +
|
|
11
|
+
byteToHex[arr[offset + 4]] +
|
|
12
|
+
byteToHex[arr[offset + 5]] +
|
|
13
|
+
'-' +
|
|
14
|
+
byteToHex[arr[offset + 6]] +
|
|
15
|
+
byteToHex[arr[offset + 7]] +
|
|
16
|
+
'-' +
|
|
17
|
+
byteToHex[arr[offset + 8]] +
|
|
18
|
+
byteToHex[arr[offset + 9]] +
|
|
19
|
+
'-' +
|
|
20
|
+
byteToHex[arr[offset + 10]] +
|
|
21
|
+
byteToHex[arr[offset + 11]] +
|
|
22
|
+
byteToHex[arr[offset + 12]] +
|
|
23
|
+
byteToHex[arr[offset + 13]] +
|
|
24
|
+
byteToHex[arr[offset + 14]] +
|
|
25
|
+
byteToHex[arr[offset + 15]]).toLowerCase();
|
|
26
|
+
}
|
|
27
|
+
|
|
4
28
|
let getRandomValues;
|
|
5
29
|
const rnds8 = new Uint8Array(16);
|
|
6
30
|
function rng() {
|
|
7
|
-
// lazy load so that environments that need to polyfill have a chance to do so
|
|
8
|
-
if (!getRandomValues) {
|
|
9
|
-
// getRandomValues needs to be invoked in a context where "this" is a Crypto implementation.
|
|
10
|
-
getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);
|
|
11
|
-
|
|
12
31
|
if (!getRandomValues) {
|
|
13
|
-
|
|
32
|
+
if (typeof crypto === 'undefined' || !crypto.getRandomValues) {
|
|
33
|
+
throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');
|
|
34
|
+
}
|
|
35
|
+
getRandomValues = crypto.getRandomValues.bind(crypto);
|
|
14
36
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
return getRandomValues(rnds8);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Convert array of 16 byte values to UUID string format of the form:
|
|
22
|
-
* XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
|
|
23
|
-
*/
|
|
24
|
-
|
|
25
|
-
const byteToHex = [];
|
|
26
|
-
|
|
27
|
-
for (let i = 0; i < 256; ++i) {
|
|
28
|
-
byteToHex.push((i + 0x100).toString(16).slice(1));
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
function unsafeStringify(arr, offset = 0) {
|
|
32
|
-
// Note: Be careful editing this code! It's been tuned for performance
|
|
33
|
-
// and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434
|
|
34
|
-
return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];
|
|
37
|
+
return getRandomValues(rnds8);
|
|
35
38
|
}
|
|
36
39
|
|
|
37
40
|
const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);
|
|
38
|
-
const native = {
|
|
39
|
-
randomUUID
|
|
40
|
-
};
|
|
41
|
+
const native = { randomUUID };
|
|
41
42
|
|
|
42
43
|
function v4(options, buf, offset) {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
options = options || {};
|
|
48
|
-
const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
|
|
49
|
-
|
|
50
|
-
rnds[6] = rnds[6] & 0x0f | 0x40;
|
|
51
|
-
rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided
|
|
52
|
-
|
|
53
|
-
if (buf) {
|
|
54
|
-
offset = offset || 0;
|
|
55
|
-
|
|
56
|
-
for (let i = 0; i < 16; ++i) {
|
|
57
|
-
buf[offset + i] = rnds[i];
|
|
44
|
+
if (native.randomUUID && !buf && !options) {
|
|
45
|
+
return native.randomUUID();
|
|
58
46
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
47
|
+
options = options || {};
|
|
48
|
+
const rnds = options.random ?? options.rng?.() ?? rng();
|
|
49
|
+
if (rnds.length < 16) {
|
|
50
|
+
throw new Error('Random bytes length must be >= 16');
|
|
51
|
+
}
|
|
52
|
+
rnds[6] = (rnds[6] & 0x0f) | 0x40;
|
|
53
|
+
rnds[8] = (rnds[8] & 0x3f) | 0x80;
|
|
54
|
+
if (buf) {
|
|
55
|
+
offset = offset || 0;
|
|
56
|
+
if (offset < 0 || offset + 16 > buf.length) {
|
|
57
|
+
throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);
|
|
58
|
+
}
|
|
59
|
+
for (let i = 0; i < 16; ++i) {
|
|
60
|
+
buf[offset + i] = rnds[i];
|
|
61
|
+
}
|
|
62
|
+
return buf;
|
|
63
|
+
}
|
|
64
|
+
return unsafeStringify(rnds);
|
|
64
65
|
}
|
|
65
66
|
|
|
66
67
|
export { v4 as v };
|
package/components/v4.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"v4.js","mappings":"
|
|
1
|
+
{"file":"v4.js","mappings":"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","names":[],"sources":["node_modules/uuid/dist/esm-browser/stringify.js","node_modules/uuid/dist/esm-browser/rng.js","node_modules/uuid/dist/esm-browser/native.js","node_modules/uuid/dist/esm-browser/v4.js"],"sourcesContent":["import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;\n","let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default { randomUUID };\n","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n const rnds = options.random ?? options.rng?.() ?? rng();\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;\n"],"version":3}
|