@panneau/fields 5.0.0-alpha.2 → 5.0.0-alpha.21
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/README.md +186 -20
- package/dist/address/AddressField.css +44 -0
- package/dist/address/AddressField.d.ts +37 -0
- package/dist/address/AddressField.d.ts.map +1 -0
- package/dist/address/AddressField.js +411 -0
- package/dist/address/AddressField.js.map +1 -0
- package/dist/address/AddressField.module.js +22 -0
- package/dist/address/AddressField.module.js.map +1 -0
- package/dist/address/address.d.ts +23 -0
- package/dist/address/address.d.ts.map +1 -0
- package/dist/address/address.js +58 -0
- package/dist/address/address.js.map +1 -0
- package/dist/address/index.d.ts +3 -0
- package/dist/address/index.d.ts.map +1 -0
- package/dist/address/index.js +3 -0
- package/dist/boolean/BooleanField.d.ts +1 -1
- package/dist/boolean/BooleanField.js +78 -17
- package/dist/boolean/BooleanField.js.map +1 -1
- package/dist/boolean/index.d.ts +1 -1
- package/dist/color/ColorField.css +9 -0
- package/dist/color/ColorField.d.ts +12 -5
- package/dist/color/ColorField.d.ts.map +1 -1
- package/dist/color/ColorField.js +341 -81
- package/dist/color/ColorField.js.map +1 -1
- package/dist/color/ColorField.module.js +4 -2
- package/dist/color/ColorField.module.js.map +1 -1
- package/dist/color/index.d.ts +2 -1
- package/dist/color/index.d.ts.map +1 -1
- package/dist/color/index.js +3 -1
- package/dist/color/palette.d.ts +23 -0
- package/dist/color/palette.d.ts.map +1 -0
- package/dist/color/palette.js +34 -0
- package/dist/color/palette.js.map +1 -0
- package/dist/compound/Compound.css +26 -0
- package/dist/compound/Compound.module.js +16 -0
- package/dist/compound/Compound.module.js.map +1 -0
- package/dist/compound/compound.d.ts +56 -0
- package/dist/compound/compound.d.ts.map +1 -0
- package/dist/compound/compound.js +186 -0
- package/dist/compound/compound.js.map +1 -0
- package/dist/country/CountryField.css +42 -0
- package/dist/country/CountryField.d.ts +32 -0
- package/dist/country/CountryField.d.ts.map +1 -0
- package/dist/country/CountryField.js +424 -0
- package/dist/country/CountryField.js.map +1 -0
- package/dist/country/CountryField.module.js +20 -0
- package/dist/country/CountryField.module.js.map +1 -0
- package/dist/country/codes.d.ts +6 -0
- package/dist/country/codes.d.ts.map +1 -0
- package/dist/country/codes.js +261 -0
- package/dist/country/codes.js.map +1 -0
- package/dist/country/countries.d.ts +32 -0
- package/dist/country/countries.d.ts.map +1 -0
- package/dist/country/countries.js +60 -0
- package/dist/country/countries.js.map +1 -0
- package/dist/country/index.d.ts +3 -0
- package/dist/country/index.d.ts.map +1 -0
- package/dist/country/index.js +4 -0
- package/dist/credits/CreditsField.d.ts +15 -0
- package/dist/credits/CreditsField.d.ts.map +1 -0
- package/dist/credits/CreditsField.js +58 -0
- package/dist/credits/CreditsField.js.map +1 -0
- package/dist/credits/credits.d.ts +18 -0
- package/dist/credits/credits.d.ts.map +1 -0
- package/dist/credits/credits.js +33 -0
- package/dist/credits/credits.js.map +1 -0
- package/dist/credits/index.d.ts +5 -0
- package/dist/credits/index.d.ts.map +1 -0
- package/dist/credits/index.js +3 -0
- package/dist/date/DateField.d.ts +1 -1
- package/dist/date/DateField.js.map +1 -1
- package/dist/date/index.d.ts +1 -1
- package/dist/daterange/DateRangeField.css +9 -0
- package/dist/daterange/DateRangeField.d.ts +31 -0
- package/dist/daterange/DateRangeField.d.ts.map +1 -0
- package/dist/daterange/DateRangeField.js +372 -0
- package/dist/daterange/DateRangeField.js.map +1 -0
- package/dist/daterange/DateRangeField.module.js +12 -0
- package/dist/daterange/DateRangeField.module.js.map +1 -0
- package/dist/daterange/index.d.ts +3 -0
- package/dist/daterange/index.d.ts.map +1 -0
- package/dist/daterange/index.js +3 -0
- package/dist/daterange/range.d.ts +61 -0
- package/dist/daterange/range.d.ts.map +1 -0
- package/dist/daterange/range.js +119 -0
- package/dist/daterange/range.js.map +1 -0
- package/dist/datetime/DateTimeField.d.ts +1 -1
- package/dist/datetime/DateTimeField.js +107 -20
- package/dist/datetime/DateTimeField.js.map +1 -1
- package/dist/datetime/index.d.ts +1 -1
- package/dist/duration/DurationField.css +11 -0
- package/dist/duration/DurationField.d.ts +67 -0
- package/dist/duration/DurationField.d.ts.map +1 -0
- package/dist/duration/DurationField.js +260 -0
- package/dist/duration/DurationField.js.map +1 -0
- package/dist/duration/DurationField.module.js +12 -0
- package/dist/duration/DurationField.module.js.map +1 -0
- package/dist/duration/index.d.ts +2 -0
- package/dist/duration/index.d.ts.map +1 -0
- package/dist/duration/index.js +1 -0
- package/dist/email/EmailField.d.ts +2 -2
- package/dist/email/EmailField.js.map +1 -1
- package/dist/email/index.d.ts +1 -1
- package/dist/embed/EmbedField.css +60 -0
- package/dist/embed/EmbedField.d.ts +29 -0
- package/dist/embed/EmbedField.d.ts.map +1 -0
- package/dist/embed/EmbedField.js +309 -0
- package/dist/embed/EmbedField.js.map +1 -0
- package/dist/embed/EmbedField.module.js +22 -0
- package/dist/embed/EmbedField.module.js.map +1 -0
- package/dist/embed/index.d.ts +3 -0
- package/dist/embed/index.d.ts.map +1 -0
- package/dist/embed/index.js +3 -0
- package/dist/file/FileField.css +54 -0
- package/dist/file/FileField.d.ts +50 -0
- package/dist/file/FileField.d.ts.map +1 -0
- package/dist/file/FileField.js +288 -0
- package/dist/file/FileField.js.map +1 -0
- package/dist/file/FileField.module.js +22 -0
- package/dist/file/FileField.module.js.map +1 -0
- package/dist/file/index.d.ts +3 -0
- package/dist/file/index.d.ts.map +1 -0
- package/dist/file/index.js +1 -0
- package/dist/group/GroupField.css +20 -3
- package/dist/group/GroupField.d.ts +10 -4
- package/dist/group/GroupField.d.ts.map +1 -1
- package/dist/group/GroupField.js +71 -66
- package/dist/group/GroupField.js.map +1 -1
- package/dist/group/GroupField.module.js +10 -2
- package/dist/group/GroupField.module.js.map +1 -1
- package/dist/group/index.d.ts +1 -1
- package/dist/index.d.ts +21 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -2
- package/dist/json/JsonField.css +7 -0
- package/dist/json/JsonField.d.ts +22 -0
- package/dist/json/JsonField.d.ts.map +1 -0
- package/dist/json/JsonField.js +207 -0
- package/dist/json/JsonField.js.map +1 -0
- package/dist/json/JsonField.module.js +8 -0
- package/dist/json/JsonField.module.js.map +1 -0
- package/dist/json/index.d.ts +2 -0
- package/dist/json/index.d.ts.map +1 -0
- package/dist/json/index.js +1 -0
- package/dist/link/LinkField.css +12 -0
- package/dist/link/LinkField.d.ts +38 -0
- package/dist/link/LinkField.d.ts.map +1 -0
- package/dist/link/LinkField.js +742 -0
- package/dist/link/LinkField.js.map +1 -0
- package/dist/link/LinkField.module.js +8 -0
- package/dist/link/LinkField.module.js.map +1 -0
- package/dist/link/index.d.ts +3 -0
- package/dist/link/index.d.ts.map +1 -0
- package/dist/link/index.js +3 -0
- package/dist/link/link.d.ts +30 -0
- package/dist/link/link.d.ts.map +1 -0
- package/dist/link/link.js +63 -0
- package/dist/link/link.js.map +1 -0
- package/dist/link/pages.d.ts +17 -0
- package/dist/link/pages.d.ts.map +1 -0
- package/dist/link/pages.js +104 -0
- package/dist/link/pages.js.map +1 -0
- package/dist/locales/index.js.map +1 -1
- package/dist/localized/LocalizedField.css +27 -6
- package/dist/localized/LocalizedField.d.ts +19 -8
- package/dist/localized/LocalizedField.d.ts.map +1 -1
- package/dist/localized/LocalizedField.js +238 -105
- package/dist/localized/LocalizedField.js.map +1 -1
- package/dist/localized/LocalizedField.module.js +10 -4
- package/dist/localized/LocalizedField.module.js.map +1 -1
- package/dist/localized/index.d.ts +1 -1
- package/dist/location/LocationField.css +54 -0
- package/dist/location/LocationField.d.ts +31 -0
- package/dist/location/LocationField.d.ts.map +1 -0
- package/dist/location/LocationField.js +487 -0
- package/dist/location/LocationField.js.map +1 -0
- package/dist/location/LocationField.module.js +22 -0
- package/dist/location/LocationField.module.js.map +1 -0
- package/dist/location/LocationMap.d.ts +25 -0
- package/dist/location/LocationMap.d.ts.map +1 -0
- package/dist/location/LocationMap.js +205 -0
- package/dist/location/LocationMap.js.map +1 -0
- package/dist/location/index.d.ts +5 -0
- package/dist/location/index.d.ts.map +1 -0
- package/dist/location/index.js +4 -0
- package/dist/location/leafletCss.d.ts +2 -0
- package/dist/location/leafletCss.d.ts.map +1 -0
- package/dist/location/leafletCss.js +6 -0
- package/dist/location/leafletCss.js.map +1 -0
- package/dist/location/nominatim.d.ts +23 -0
- package/dist/location/nominatim.d.ts.map +1 -0
- package/dist/location/nominatim.js +79 -0
- package/dist/location/nominatim.js.map +1 -0
- package/dist/location/search.d.ts +10 -0
- package/dist/location/search.d.ts.map +1 -0
- package/dist/location/search.js +83 -0
- package/dist/location/search.js.map +1 -0
- package/dist/location/types.d.ts +46 -0
- package/dist/location/types.d.ts.map +1 -0
- package/dist/missing/MissingField.d.ts +4 -3
- package/dist/missing/MissingField.d.ts.map +1 -1
- package/dist/missing/MissingField.js +3 -2
- package/dist/missing/MissingField.js.map +1 -1
- package/dist/money/MoneyField.d.ts +28 -0
- package/dist/money/MoneyField.d.ts.map +1 -0
- package/dist/money/MoneyField.js +269 -0
- package/dist/money/MoneyField.js.map +1 -0
- package/dist/money/index.d.ts +3 -0
- package/dist/money/index.d.ts.map +1 -0
- package/dist/money/index.js +3 -0
- package/dist/money/money.d.ts +27 -0
- package/dist/money/money.d.ts.map +1 -0
- package/dist/money/money.js +56 -0
- package/dist/money/money.js.map +1 -0
- package/dist/number/NumberField.d.ts +1 -1
- package/dist/number/NumberField.js.map +1 -1
- package/dist/number/index.d.ts +1 -1
- package/dist/range/RangeField.d.ts +22 -0
- package/dist/range/RangeField.d.ts.map +1 -0
- package/dist/range/RangeField.js +203 -0
- package/dist/range/RangeField.js.map +1 -0
- package/dist/range/index.d.ts +2 -0
- package/dist/range/index.d.ts.map +1 -0
- package/dist/range/index.js +1 -0
- package/dist/region/RegionField.d.ts +23 -0
- package/dist/region/RegionField.d.ts.map +1 -0
- package/dist/region/RegionField.js +174 -0
- package/dist/region/RegionField.js.map +1 -0
- package/dist/region/RegionFlag.css +9 -0
- package/dist/region/RegionFlag.d.ts +20 -0
- package/dist/region/RegionFlag.d.ts.map +1 -0
- package/dist/region/RegionFlag.js +61 -0
- package/dist/region/RegionFlag.js.map +1 -0
- package/dist/region/RegionFlag.module.js +8 -0
- package/dist/region/RegionFlag.module.js.map +1 -0
- package/dist/region/data.d.ts +5 -0
- package/dist/region/data.d.ts.map +1 -0
- package/dist/region/data.js +513 -0
- package/dist/region/data.js.map +1 -0
- package/dist/region/flags/CA.d.ts +4 -0
- package/dist/region/flags/CA.d.ts.map +1 -0
- package/dist/region/flags/CA.js +21 -0
- package/dist/region/flags/CA.js.map +1 -0
- package/dist/region/flags/US.d.ts +4 -0
- package/dist/region/flags/US.d.ts.map +1 -0
- package/dist/region/flags/US.js +65 -0
- package/dist/region/flags/US.js.map +1 -0
- package/dist/region/flags.d.ts +17 -0
- package/dist/region/flags.d.ts.map +1 -0
- package/dist/region/flags.js +84 -0
- package/dist/region/flags.js.map +1 -0
- package/dist/region/index.d.ts +5 -0
- package/dist/region/index.d.ts.map +1 -0
- package/dist/region/index.js +5 -0
- package/dist/region/regions.d.ts +15 -0
- package/dist/region/regions.d.ts.map +1 -0
- package/dist/region/regions.js +29 -0
- package/dist/region/regions.js.map +1 -0
- package/dist/relation/RelationField.d.ts +2 -2
- package/dist/relation/RelationField.d.ts.map +1 -1
- package/dist/relation/RelationField.js +511 -171
- package/dist/relation/RelationField.js.map +1 -1
- package/dist/relation/index.d.ts +2 -2
- package/dist/repeater/RepeaterField.d.ts +13 -2
- package/dist/repeater/RepeaterField.d.ts.map +1 -1
- package/dist/repeater/RepeaterField.js +138 -50
- package/dist/repeater/RepeaterField.js.map +1 -1
- package/dist/repeater/index.d.ts +1 -1
- package/dist/select/SelectField.d.ts +1 -1
- package/dist/select/SelectField.js.map +1 -1
- package/dist/select/index.d.ts +1 -1
- package/dist/sessions/SessionsField.d.ts +15 -0
- package/dist/sessions/SessionsField.d.ts.map +1 -0
- package/dist/sessions/SessionsField.js +49 -0
- package/dist/sessions/SessionsField.js.map +1 -0
- package/dist/sessions/index.d.ts +4 -0
- package/dist/sessions/index.d.ts.map +1 -0
- package/dist/sessions/index.js +1 -0
- package/dist/shared/CodeComboBox.d.ts +21 -0
- package/dist/shared/CodeComboBox.d.ts.map +1 -0
- package/dist/shared/CodeComboBox.js +238 -0
- package/dist/shared/CodeComboBox.js.map +1 -0
- package/dist/shared/DefinitionField.d.ts +9 -4
- package/dist/shared/DefinitionField.d.ts.map +1 -1
- package/dist/shared/DefinitionField.js +98 -78
- package/dist/shared/DefinitionField.js.map +1 -1
- package/dist/shared/builtIn.d.ts +7 -3
- package/dist/shared/builtIn.d.ts.map +1 -1
- package/dist/shared/builtIn.js +39 -7
- package/dist/shared/builtIn.js.map +1 -1
- package/dist/shared/check.d.ts +27 -0
- package/dist/shared/check.d.ts.map +1 -0
- package/dist/shared/check.js +18 -0
- package/dist/shared/check.js.map +1 -0
- package/dist/shared/context.d.ts +33 -5
- package/dist/shared/context.d.ts.map +1 -1
- package/dist/shared/context.js +36 -20
- package/dist/shared/context.js.map +1 -1
- package/dist/shared/cx.js.map +1 -1
- package/dist/shared/dates.js +2 -2
- package/dist/shared/dates.js.map +1 -1
- package/dist/shared/embed.d.ts +19 -0
- package/dist/shared/embed.d.ts.map +1 -0
- package/dist/shared/embed.js +14 -0
- package/dist/shared/embed.js.map +1 -0
- package/dist/shared/entry.d.ts +13 -4
- package/dist/shared/entry.d.ts.map +1 -1
- package/dist/shared/entry.js +24 -7
- package/dist/shared/entry.js.map +1 -1
- package/dist/shared/flow.d.ts +8 -0
- package/dist/shared/flow.d.ts.map +1 -0
- package/dist/shared/flow.js +38 -0
- package/dist/shared/flow.js.map +1 -0
- package/dist/shared/part.d.ts +26 -0
- package/dist/shared/part.d.ts.map +1 -0
- package/dist/shared/part.js +64 -0
- package/dist/shared/part.js.map +1 -0
- package/dist/shared/relation.js.map +1 -1
- package/dist/shared/reveal.d.ts +16 -0
- package/dist/shared/reveal.d.ts.map +1 -0
- package/dist/shared/reveal.js +46 -0
- package/dist/shared/reveal.js.map +1 -0
- package/dist/shared/types.d.ts +12 -0
- package/dist/shared/types.d.ts.map +1 -1
- package/dist/slug/SlugField.css +18 -0
- package/dist/slug/SlugField.d.ts +33 -5
- package/dist/slug/SlugField.d.ts.map +1 -1
- package/dist/slug/SlugField.js +346 -126
- package/dist/slug/SlugField.js.map +1 -1
- package/dist/slug/SlugField.module.js +14 -0
- package/dist/slug/SlugField.module.js.map +1 -0
- package/dist/slug/index.d.ts +1 -1
- package/dist/slug/index.d.ts.map +1 -1
- package/dist/slug/index.js +1 -1
- package/dist/tags/TagsField.d.ts +17 -0
- package/dist/tags/TagsField.d.ts.map +1 -0
- package/dist/tags/TagsField.js +120 -0
- package/dist/tags/TagsField.js.map +1 -0
- package/dist/tags/index.d.ts +2 -0
- package/dist/tags/index.d.ts.map +1 -0
- package/dist/tags/index.js +1 -0
- package/dist/tel/TelField.css +25 -0
- package/dist/tel/TelField.d.ts +34 -0
- package/dist/tel/TelField.d.ts.map +1 -0
- package/dist/tel/TelField.js +390 -0
- package/dist/tel/TelField.js.map +1 -0
- package/dist/tel/TelField.module.js +12 -0
- package/dist/tel/TelField.module.js.map +1 -0
- package/dist/tel/index.d.ts +3 -0
- package/dist/tel/index.d.ts.map +1 -0
- package/dist/tel/index.js +3 -0
- package/dist/tel/phone.d.ts +59 -0
- package/dist/tel/phone.d.ts.map +1 -0
- package/dist/tel/phone.js +107 -0
- package/dist/tel/phone.js.map +1 -0
- package/dist/text/TextField.d.ts +12 -4
- package/dist/text/TextField.d.ts.map +1 -1
- package/dist/text/TextField.js +104 -60
- package/dist/text/TextField.js.map +1 -1
- package/dist/text/index.d.ts +1 -1
- package/dist/textarea/TextAreaField.d.ts +1 -1
- package/dist/textarea/TextAreaField.js.map +1 -1
- package/dist/textarea/index.d.ts +1 -1
- package/dist/time/TimeField.d.ts +1 -1
- package/dist/time/TimeField.js +64 -10
- package/dist/time/TimeField.js.map +1 -1
- package/dist/time/index.d.ts +1 -1
- package/dist/upload/FilePicker.css +24 -0
- package/dist/upload/FilePicker.d.ts +14 -0
- package/dist/upload/FilePicker.d.ts.map +1 -0
- package/dist/upload/FilePicker.js +130 -0
- package/dist/upload/FilePicker.js.map +1 -0
- package/dist/upload/FilePicker.module.js +12 -0
- package/dist/upload/FilePicker.module.js.map +1 -0
- package/dist/upload/UploadList.css +93 -0
- package/dist/upload/UploadList.d.ts +18 -0
- package/dist/upload/UploadList.d.ts.map +1 -0
- package/dist/upload/UploadList.js +144 -0
- package/dist/upload/UploadList.js.map +1 -0
- package/dist/upload/UploadList.module.js +32 -0
- package/dist/upload/UploadList.module.js.map +1 -0
- package/dist/upload/files.d.ts +5 -0
- package/dist/upload/files.d.ts.map +1 -0
- package/dist/upload/files.js +26 -0
- package/dist/upload/files.js.map +1 -0
- package/dist/upload/types.d.ts +58 -0
- package/dist/upload/types.d.ts.map +1 -0
- package/dist/upload/useRejectionMessage.d.ts +4 -0
- package/dist/upload/useRejectionMessage.d.ts.map +1 -0
- package/dist/upload/useRejectionMessage.js +25 -0
- package/dist/upload/useRejectionMessage.js.map +1 -0
- package/dist/upload/useUploads.d.ts +30 -0
- package/dist/upload/useUploads.d.ts.map +1 -0
- package/dist/upload/useUploads.js +115 -0
- package/dist/upload/useUploads.js.map +1 -0
- package/dist/uppy/index.d.ts +3 -0
- package/dist/uppy/index.d.ts.map +1 -0
- package/dist/uppy/index.js +1 -0
- package/dist/uppy/uploader.d.ts +44 -0
- package/dist/uppy/uploader.d.ts.map +1 -0
- package/dist/uppy/uploader.js +139 -0
- package/dist/uppy/uploader.js.map +1 -0
- package/dist/url/UrlField.d.ts +2 -2
- package/dist/url/UrlField.d.ts.map +1 -1
- package/dist/url/UrlField.js +69 -14
- package/dist/url/UrlField.js.map +1 -1
- package/dist/url/index.d.ts +1 -1
- package/package.json +110 -7
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
import { getFieldProps, getRuleNumber, getSetting, isNumber, isString } from "../shared/entry.js";
|
|
2
|
+
import { c } from "react/compiler-runtime";
|
|
3
|
+
import { Slider } from "@panneau/ui";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
//#region src/range/RangeField.tsx
|
|
6
|
+
/** A number on a slider. It is `null` until the slider is moved. */
|
|
7
|
+
function RangeField(t0) {
|
|
8
|
+
const $ = c(23);
|
|
9
|
+
let disabled;
|
|
10
|
+
let onBlur;
|
|
11
|
+
let onChange;
|
|
12
|
+
let props;
|
|
13
|
+
let readOnly;
|
|
14
|
+
let required;
|
|
15
|
+
let t1;
|
|
16
|
+
let t2;
|
|
17
|
+
let value;
|
|
18
|
+
if ($[0] !== t0) {
|
|
19
|
+
const { value: t3, onChange: t4, onBlur: t5, min: t6, max: t7, disabled: t8, readOnly: t9, required: t10, autoFocus: _autoFocus, id: _id, ...t11 } = t0;
|
|
20
|
+
value = t3;
|
|
21
|
+
onChange = t4;
|
|
22
|
+
onBlur = t5;
|
|
23
|
+
t1 = t6;
|
|
24
|
+
t2 = t7;
|
|
25
|
+
disabled = t8;
|
|
26
|
+
readOnly = t9;
|
|
27
|
+
required = t10;
|
|
28
|
+
props = t11;
|
|
29
|
+
$[0] = t0;
|
|
30
|
+
$[1] = disabled;
|
|
31
|
+
$[2] = onBlur;
|
|
32
|
+
$[3] = onChange;
|
|
33
|
+
$[4] = props;
|
|
34
|
+
$[5] = readOnly;
|
|
35
|
+
$[6] = required;
|
|
36
|
+
$[7] = t1;
|
|
37
|
+
$[8] = t2;
|
|
38
|
+
$[9] = value;
|
|
39
|
+
} else {
|
|
40
|
+
disabled = $[1];
|
|
41
|
+
onBlur = $[2];
|
|
42
|
+
onChange = $[3];
|
|
43
|
+
props = $[4];
|
|
44
|
+
readOnly = $[5];
|
|
45
|
+
required = $[6];
|
|
46
|
+
t1 = $[7];
|
|
47
|
+
t2 = $[8];
|
|
48
|
+
value = $[9];
|
|
49
|
+
}
|
|
50
|
+
const min = t1 === void 0 ? 0 : t1;
|
|
51
|
+
const max = t2 === void 0 ? 100 : t2;
|
|
52
|
+
const t3 = value ?? null;
|
|
53
|
+
let t4;
|
|
54
|
+
if ($[10] !== onChange) {
|
|
55
|
+
t4 = (next) => onChange?.(next);
|
|
56
|
+
$[10] = onChange;
|
|
57
|
+
$[11] = t4;
|
|
58
|
+
} else t4 = $[11];
|
|
59
|
+
let t5;
|
|
60
|
+
if ($[12] !== onBlur) {
|
|
61
|
+
t5 = () => onBlur?.();
|
|
62
|
+
$[12] = onBlur;
|
|
63
|
+
$[13] = t5;
|
|
64
|
+
} else t5 = $[13];
|
|
65
|
+
const t6 = disabled === true || readOnly === true;
|
|
66
|
+
let t7;
|
|
67
|
+
if ($[14] !== max || $[15] !== min || $[16] !== props || $[17] !== required || $[18] !== t3 || $[19] !== t4 || $[20] !== t5 || $[21] !== t6) {
|
|
68
|
+
t7 = /* @__PURE__ */ jsx(Slider, {
|
|
69
|
+
...props,
|
|
70
|
+
value: t3,
|
|
71
|
+
onChange: t4,
|
|
72
|
+
onChangeEnd: t5,
|
|
73
|
+
minValue: min,
|
|
74
|
+
maxValue: max,
|
|
75
|
+
isDisabled: t6,
|
|
76
|
+
isRequired: required
|
|
77
|
+
});
|
|
78
|
+
$[14] = max;
|
|
79
|
+
$[15] = min;
|
|
80
|
+
$[16] = props;
|
|
81
|
+
$[17] = required;
|
|
82
|
+
$[18] = t3;
|
|
83
|
+
$[19] = t4;
|
|
84
|
+
$[20] = t5;
|
|
85
|
+
$[21] = t6;
|
|
86
|
+
$[22] = t7;
|
|
87
|
+
} else t7 = $[22];
|
|
88
|
+
return t7;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* The `range` type: its ends from the `min` and `max` rules (0 and 100 without them), and
|
|
92
|
+
* settings `step`, `decimals` and `suffix`, as for `number`.
|
|
93
|
+
*/
|
|
94
|
+
function RangeFieldEntry(props) {
|
|
95
|
+
const $ = c(33);
|
|
96
|
+
const { field } = props;
|
|
97
|
+
let t0;
|
|
98
|
+
if ($[0] !== field) {
|
|
99
|
+
t0 = getRuleNumber(field, "min");
|
|
100
|
+
$[0] = field;
|
|
101
|
+
$[1] = t0;
|
|
102
|
+
} else t0 = $[1];
|
|
103
|
+
const min = t0;
|
|
104
|
+
let t1;
|
|
105
|
+
if ($[2] !== field) {
|
|
106
|
+
t1 = getRuleNumber(field, "max");
|
|
107
|
+
$[2] = field;
|
|
108
|
+
$[3] = t1;
|
|
109
|
+
} else t1 = $[3];
|
|
110
|
+
const max = t1;
|
|
111
|
+
let t2;
|
|
112
|
+
if ($[4] !== field) {
|
|
113
|
+
t2 = getSetting(field, "step", isNumber);
|
|
114
|
+
$[4] = field;
|
|
115
|
+
$[5] = t2;
|
|
116
|
+
} else t2 = $[5];
|
|
117
|
+
const step = t2;
|
|
118
|
+
let t3;
|
|
119
|
+
if ($[6] !== field) {
|
|
120
|
+
t3 = getSetting(field, "decimals", isNumber);
|
|
121
|
+
$[6] = field;
|
|
122
|
+
$[7] = t3;
|
|
123
|
+
} else t3 = $[7];
|
|
124
|
+
const decimals = t3;
|
|
125
|
+
let t4;
|
|
126
|
+
if ($[8] !== field) {
|
|
127
|
+
t4 = getSetting(field, "suffix", isString);
|
|
128
|
+
$[8] = field;
|
|
129
|
+
$[9] = t4;
|
|
130
|
+
} else t4 = $[9];
|
|
131
|
+
const suffix = t4;
|
|
132
|
+
let t5;
|
|
133
|
+
if ($[10] !== props) {
|
|
134
|
+
t5 = getFieldProps(props);
|
|
135
|
+
$[10] = props;
|
|
136
|
+
$[11] = t5;
|
|
137
|
+
} else t5 = $[11];
|
|
138
|
+
let fieldProps;
|
|
139
|
+
if ($[12] !== t5) {
|
|
140
|
+
const { placeholder: _placeholder, ...t6 } = t5;
|
|
141
|
+
fieldProps = t6;
|
|
142
|
+
$[12] = t5;
|
|
143
|
+
$[13] = fieldProps;
|
|
144
|
+
} else fieldProps = $[13];
|
|
145
|
+
const t6 = isNumber(props.value) ? props.value : null;
|
|
146
|
+
let t7;
|
|
147
|
+
if ($[14] !== min) {
|
|
148
|
+
t7 = min !== void 0 ? { min } : {};
|
|
149
|
+
$[14] = min;
|
|
150
|
+
$[15] = t7;
|
|
151
|
+
} else t7 = $[15];
|
|
152
|
+
let t8;
|
|
153
|
+
if ($[16] !== max) {
|
|
154
|
+
t8 = max !== void 0 ? { max } : {};
|
|
155
|
+
$[16] = max;
|
|
156
|
+
$[17] = t8;
|
|
157
|
+
} else t8 = $[17];
|
|
158
|
+
let t9;
|
|
159
|
+
if ($[18] !== step) {
|
|
160
|
+
t9 = step !== void 0 ? { step } : {};
|
|
161
|
+
$[18] = step;
|
|
162
|
+
$[19] = t9;
|
|
163
|
+
} else t9 = $[19];
|
|
164
|
+
let t10;
|
|
165
|
+
if ($[20] !== decimals) {
|
|
166
|
+
t10 = decimals !== void 0 ? { formatOptions: { maximumFractionDigits: decimals } } : {};
|
|
167
|
+
$[20] = decimals;
|
|
168
|
+
$[21] = t10;
|
|
169
|
+
} else t10 = $[21];
|
|
170
|
+
let t11;
|
|
171
|
+
if ($[22] !== suffix) {
|
|
172
|
+
t11 = suffix !== void 0 ? { suffix } : {};
|
|
173
|
+
$[22] = suffix;
|
|
174
|
+
$[23] = t11;
|
|
175
|
+
} else t11 = $[23];
|
|
176
|
+
let t12;
|
|
177
|
+
if ($[24] !== fieldProps || $[25] !== props.onChange || $[26] !== t10 || $[27] !== t11 || $[28] !== t6 || $[29] !== t7 || $[30] !== t8 || $[31] !== t9) {
|
|
178
|
+
t12 = /* @__PURE__ */ jsx(RangeField, {
|
|
179
|
+
...fieldProps,
|
|
180
|
+
value: t6,
|
|
181
|
+
onChange: props.onChange,
|
|
182
|
+
...t7,
|
|
183
|
+
...t8,
|
|
184
|
+
...t9,
|
|
185
|
+
...t10,
|
|
186
|
+
...t11
|
|
187
|
+
});
|
|
188
|
+
$[24] = fieldProps;
|
|
189
|
+
$[25] = props.onChange;
|
|
190
|
+
$[26] = t10;
|
|
191
|
+
$[27] = t11;
|
|
192
|
+
$[28] = t6;
|
|
193
|
+
$[29] = t7;
|
|
194
|
+
$[30] = t8;
|
|
195
|
+
$[31] = t9;
|
|
196
|
+
$[32] = t12;
|
|
197
|
+
} else t12 = $[32];
|
|
198
|
+
return t12;
|
|
199
|
+
}
|
|
200
|
+
//#endregion
|
|
201
|
+
export { RangeField, RangeFieldEntry };
|
|
202
|
+
|
|
203
|
+
//# sourceMappingURL=RangeField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RangeField.js","names":["ReactNode","Slider","getFieldProps","getRuleNumber","getSetting","isNumber","isString","FieldEntryProps","FieldProps","RangeFieldProps","min","max","step","formatOptions","Intl","NumberFormatOptions","suffix","RangeField","t0","$","_c","disabled","onBlur","onChange","props","readOnly","required","t1","t2","value","t3","t4","t5","t6","t7","t8","t9","t10","autoFocus","_autoFocus","id","_id","t11","undefined","next","RangeFieldEntry","field","decimals","fieldProps","placeholder","_placeholder","maximumFractionDigits","t12","_c"],"sources":["../../src/range/RangeField.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { Slider } from '@panneau/ui';\n\nimport { getFieldProps, getRuleNumber, getSetting, isNumber, isString } from '../shared/entry';\nimport type { FieldEntryProps, FieldProps } from '../shared/types';\n\nexport interface RangeFieldProps extends FieldProps<number> {\n /** The start of the slider. Defaults to 0. */\n min?: number;\n /** The end of the slider. Defaults to 100. */\n max?: number;\n /** Step of the slider and of the arrow keys. Defaults to 1. */\n step?: number;\n /** Format of the number shown, for the locale. */\n formatOptions?: Intl.NumberFormatOptions;\n /** Content after the number: a unit. */\n suffix?: ReactNode;\n}\n\n/** A number on a slider. It is `null` until the slider is moved. */\nexport function RangeField({\n value,\n onChange,\n onBlur,\n min = 0,\n max = 100,\n disabled,\n readOnly,\n required,\n autoFocus: _autoFocus,\n id: _id,\n ...props\n}: RangeFieldProps) {\n return (\n <Slider\n {...props}\n value={value ?? null}\n onChange={(next) => onChange?.(next)}\n onChangeEnd={() => onBlur?.()}\n minValue={min}\n maxValue={max}\n isDisabled={disabled === true || readOnly === true}\n isRequired={required}\n />\n );\n}\n\n/**\n * The `range` type: its ends from the `min` and `max` rules (0 and 100 without them), and\n * settings `step`, `decimals` and `suffix`, as for `number`.\n */\nexport function RangeFieldEntry(props: FieldEntryProps) {\n const { field } = props;\n const min = getRuleNumber(field, 'min');\n const max = getRuleNumber(field, 'max');\n const step = getSetting(field, 'step', isNumber);\n const decimals = getSetting(field, 'decimals', isNumber);\n const suffix = getSetting(field, 'suffix', isString);\n const { placeholder: _placeholder, ...fieldProps } = getFieldProps(props);\n return (\n <RangeField\n {...fieldProps}\n value={isNumber(props.value) ? props.value : null}\n onChange={props.onChange}\n {...(min !== undefined ? { min } : {})}\n {...(max !== undefined ? { max } : {})}\n {...(step !== undefined ? { step } : {})}\n {...(decimals !== undefined\n ? { formatOptions: { maximumFractionDigits: decimals } }\n : {})}\n {...(suffix !== undefined ? { suffix } : {})}\n />\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/range/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { RangeField, RangeFieldEntry } from "./RangeField.js";
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { Field } from '@panneau/protocol';
|
|
2
|
+
import type { FieldEntryProps, FieldProps } from '../shared/types.js';
|
|
3
|
+
export interface RegionFieldProps extends FieldProps<string> {
|
|
4
|
+
/** The country of the region (`CA`). Without it, or for a country without known regions, a text. */
|
|
5
|
+
country?: string | null;
|
|
6
|
+
placeholder?: string;
|
|
7
|
+
controlClassName?: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* A state, a province or a territory of a country. For the countries that Panneau knows the
|
|
11
|
+
* regions of, a combo box of their names in the user's locale, whose value is the code of the
|
|
12
|
+
* region without its country (`QC`), with their flags for the countries that have them (Canada and
|
|
13
|
+
* the United States). For the others, the region as typed.
|
|
14
|
+
*/
|
|
15
|
+
export declare function RegionField({ country, placeholder, ...props }: RegionFieldProps): import("react").JSX.Element;
|
|
16
|
+
/**
|
|
17
|
+
* The country of a `region` field: the value of the field that `from` names in the same object,
|
|
18
|
+
* or `settings.country`.
|
|
19
|
+
*/
|
|
20
|
+
export declare function getRegionCountry(field: Field, parentValue: unknown): string | null;
|
|
21
|
+
/** The `region` type: its country from `from` or `settings.country`. */
|
|
22
|
+
export declare function RegionFieldEntry(props: FieldEntryProps): import("react").JSX.Element;
|
|
23
|
+
//# sourceMappingURL=RegionField.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RegionField.d.ts","sourceRoot":"","sources":["../../src/region/RegionField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAM/C,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAMnE,MAAM,WAAW,gBAAiB,SAAQ,UAAU,CAAC,MAAM,CAAC;IACxD,oGAAoG;IACpG,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,+BA0B/E;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAQlF;AAED,wEAAwE;AACxE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,eAAe,+BAStD"}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { getFieldProps, getSetting, isString } from "../shared/entry.js";
|
|
2
|
+
import { messages } from "../shared/messages.js";
|
|
3
|
+
import { CodeComboBox } from "../shared/CodeComboBox.js";
|
|
4
|
+
import { TextField } from "../text/TextField.js";
|
|
5
|
+
import { getRegionFlag, useRegionFlags } from "./flags.js";
|
|
6
|
+
import { FlagImage } from "./RegionFlag.js";
|
|
7
|
+
import { getRegions } from "./regions.js";
|
|
8
|
+
import { c } from "react/compiler-runtime";
|
|
9
|
+
import { usePanneauIntl } from "@panneau/ui";
|
|
10
|
+
import { jsx } from "react/jsx-runtime";
|
|
11
|
+
//#region src/region/RegionField.tsx
|
|
12
|
+
/**
|
|
13
|
+
* A state, a province or a territory of a country. For the countries that Panneau knows the
|
|
14
|
+
* regions of, a combo box of their names in the user's locale, whose value is the code of the
|
|
15
|
+
* region without its country (`QC`), with their flags for the countries that have them (Canada and
|
|
16
|
+
* the United States). For the others, the region as typed.
|
|
17
|
+
*/
|
|
18
|
+
function RegionField(t0) {
|
|
19
|
+
const $ = c(31);
|
|
20
|
+
let country;
|
|
21
|
+
let placeholder;
|
|
22
|
+
let props;
|
|
23
|
+
if ($[0] !== t0) {
|
|
24
|
+
({country, placeholder, ...props} = t0);
|
|
25
|
+
$[0] = t0;
|
|
26
|
+
$[1] = country;
|
|
27
|
+
$[2] = placeholder;
|
|
28
|
+
$[3] = props;
|
|
29
|
+
} else {
|
|
30
|
+
country = $[1];
|
|
31
|
+
placeholder = $[2];
|
|
32
|
+
props = $[3];
|
|
33
|
+
}
|
|
34
|
+
const intl = usePanneauIntl();
|
|
35
|
+
const flags = useRegionFlags(country);
|
|
36
|
+
let T0;
|
|
37
|
+
let t1;
|
|
38
|
+
let t2;
|
|
39
|
+
let t3;
|
|
40
|
+
if ($[4] !== country || $[5] !== flags || $[6] !== intl.locale || $[7] !== placeholder || $[8] !== props) {
|
|
41
|
+
t3 = Symbol.for("react.early_return_sentinel");
|
|
42
|
+
bb0: {
|
|
43
|
+
const regions = getRegions(country, intl.locale);
|
|
44
|
+
if (regions === null) {
|
|
45
|
+
let t4;
|
|
46
|
+
if ($[13] !== placeholder) {
|
|
47
|
+
t4 = placeholder !== void 0 ? { placeholder } : {};
|
|
48
|
+
$[13] = placeholder;
|
|
49
|
+
$[14] = t4;
|
|
50
|
+
} else t4 = $[14];
|
|
51
|
+
let t5;
|
|
52
|
+
if ($[15] !== props || $[16] !== t4) {
|
|
53
|
+
t5 = /* @__PURE__ */ jsx(TextField, {
|
|
54
|
+
autoComplete: "address-level1",
|
|
55
|
+
...props,
|
|
56
|
+
...t4
|
|
57
|
+
});
|
|
58
|
+
$[15] = props;
|
|
59
|
+
$[16] = t4;
|
|
60
|
+
$[17] = t5;
|
|
61
|
+
} else t5 = $[17];
|
|
62
|
+
t3 = t5;
|
|
63
|
+
break bb0;
|
|
64
|
+
}
|
|
65
|
+
T0 = CodeComboBox;
|
|
66
|
+
t1 = props;
|
|
67
|
+
let t4;
|
|
68
|
+
if ($[18] !== flags) {
|
|
69
|
+
t4 = (region) => {
|
|
70
|
+
const flag = getRegionFlag(flags, region.code);
|
|
71
|
+
return flag !== void 0 ? {
|
|
72
|
+
...region,
|
|
73
|
+
prefix: /* @__PURE__ */ jsx(FlagImage, { src: flag })
|
|
74
|
+
} : region;
|
|
75
|
+
};
|
|
76
|
+
$[18] = flags;
|
|
77
|
+
$[19] = t4;
|
|
78
|
+
} else t4 = $[19];
|
|
79
|
+
t2 = regions.map(t4);
|
|
80
|
+
}
|
|
81
|
+
$[4] = country;
|
|
82
|
+
$[5] = flags;
|
|
83
|
+
$[6] = intl.locale;
|
|
84
|
+
$[7] = placeholder;
|
|
85
|
+
$[8] = props;
|
|
86
|
+
$[9] = T0;
|
|
87
|
+
$[10] = t1;
|
|
88
|
+
$[11] = t2;
|
|
89
|
+
$[12] = t3;
|
|
90
|
+
} else {
|
|
91
|
+
T0 = $[9];
|
|
92
|
+
t1 = $[10];
|
|
93
|
+
t2 = $[11];
|
|
94
|
+
t3 = $[12];
|
|
95
|
+
}
|
|
96
|
+
if (t3 !== Symbol.for("react.early_return_sentinel")) return t3;
|
|
97
|
+
let t4;
|
|
98
|
+
if ($[20] !== intl || $[21] !== placeholder) {
|
|
99
|
+
t4 = placeholder ?? intl.formatMessage(messages.regionPlaceholder);
|
|
100
|
+
$[20] = intl;
|
|
101
|
+
$[21] = placeholder;
|
|
102
|
+
$[22] = t4;
|
|
103
|
+
} else t4 = $[22];
|
|
104
|
+
let t5;
|
|
105
|
+
if ($[23] !== intl) {
|
|
106
|
+
t5 = intl.formatMessage(messages.noRegions);
|
|
107
|
+
$[23] = intl;
|
|
108
|
+
$[24] = t5;
|
|
109
|
+
} else t5 = $[24];
|
|
110
|
+
let t6;
|
|
111
|
+
if ($[25] !== T0 || $[26] !== t1 || $[27] !== t2 || $[28] !== t4 || $[29] !== t5) {
|
|
112
|
+
t6 = /* @__PURE__ */ jsx(T0, {
|
|
113
|
+
...t1,
|
|
114
|
+
choices: t2,
|
|
115
|
+
placeholder: t4,
|
|
116
|
+
emptyMessage: t5
|
|
117
|
+
});
|
|
118
|
+
$[25] = T0;
|
|
119
|
+
$[26] = t1;
|
|
120
|
+
$[27] = t2;
|
|
121
|
+
$[28] = t4;
|
|
122
|
+
$[29] = t5;
|
|
123
|
+
$[30] = t6;
|
|
124
|
+
} else t6 = $[30];
|
|
125
|
+
return t6;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* The country of a `region` field: the value of the field that `from` names in the same object,
|
|
129
|
+
* or `settings.country`.
|
|
130
|
+
*/
|
|
131
|
+
function getRegionCountry(field, parentValue) {
|
|
132
|
+
if (field.from !== void 0 && parentValue !== null && typeof parentValue === "object") {
|
|
133
|
+
const country = parentValue[field.from];
|
|
134
|
+
if (isString(country) && country !== "") return country;
|
|
135
|
+
}
|
|
136
|
+
return getSetting(field, "country", isString) ?? null;
|
|
137
|
+
}
|
|
138
|
+
/** The `region` type: its country from `from` or `settings.country`. */
|
|
139
|
+
function RegionFieldEntry(props) {
|
|
140
|
+
const $ = c(10);
|
|
141
|
+
let t0;
|
|
142
|
+
if ($[0] !== props) {
|
|
143
|
+
t0 = getFieldProps(props);
|
|
144
|
+
$[0] = props;
|
|
145
|
+
$[1] = t0;
|
|
146
|
+
} else t0 = $[1];
|
|
147
|
+
let t1;
|
|
148
|
+
if ($[2] !== props.field || $[3] !== props.parentValue) {
|
|
149
|
+
t1 = getRegionCountry(props.field, props.parentValue);
|
|
150
|
+
$[2] = props.field;
|
|
151
|
+
$[3] = props.parentValue;
|
|
152
|
+
$[4] = t1;
|
|
153
|
+
} else t1 = $[4];
|
|
154
|
+
const t2 = isString(props.value) ? props.value : null;
|
|
155
|
+
let t3;
|
|
156
|
+
if ($[5] !== props.onChange || $[6] !== t0 || $[7] !== t1 || $[8] !== t2) {
|
|
157
|
+
t3 = /* @__PURE__ */ jsx(RegionField, {
|
|
158
|
+
...t0,
|
|
159
|
+
country: t1,
|
|
160
|
+
value: t2,
|
|
161
|
+
onChange: props.onChange
|
|
162
|
+
});
|
|
163
|
+
$[5] = props.onChange;
|
|
164
|
+
$[6] = t0;
|
|
165
|
+
$[7] = t1;
|
|
166
|
+
$[8] = t2;
|
|
167
|
+
$[9] = t3;
|
|
168
|
+
} else t3 = $[9];
|
|
169
|
+
return t3;
|
|
170
|
+
}
|
|
171
|
+
//#endregion
|
|
172
|
+
export { RegionField, RegionFieldEntry, getRegionCountry };
|
|
173
|
+
|
|
174
|
+
//# sourceMappingURL=RegionField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RegionField.js","names":["Field","usePanneauIntl","CodeComboBox","getFieldProps","getSetting","isString","messages","FieldEntryProps","FieldProps","TextField","FlagImage","getRegionFlag","useRegionFlags","getRegions","RegionFieldProps","country","placeholder","controlClassName","RegionField","t0","$","_c","props","intl","flags","T0","t1","t2","t3","locale","Symbol","for","bb0","regions","t4","undefined","t5","region","flag","code","prefix","map","formatMessage","regionPlaceholder","noRegions","t6","getRegionCountry","field","parentValue","from","Record","RegionFieldEntry","value","onChange","_c"],"sources":["../../src/region/RegionField.tsx"],"sourcesContent":["import type { Field } from '@panneau/protocol';\nimport { usePanneauIntl } from '@panneau/ui';\n\nimport { CodeComboBox } from '../shared/CodeComboBox';\nimport { getFieldProps, getSetting, isString } from '../shared/entry';\nimport { messages } from '../shared/messages';\nimport type { FieldEntryProps, FieldProps } from '../shared/types';\nimport { TextField } from '../text/TextField';\nimport { FlagImage } from './RegionFlag';\nimport { getRegionFlag, useRegionFlags } from './flags';\nimport { getRegions } from './regions';\n\nexport interface RegionFieldProps extends FieldProps<string> {\n /** The country of the region (`CA`). Without it, or for a country without known regions, a text. */\n country?: string | null;\n placeholder?: string;\n controlClassName?: string;\n}\n\n/**\n * A state, a province or a territory of a country. For the countries that Panneau knows the\n * regions of, a combo box of their names in the user's locale, whose value is the code of the\n * region without its country (`QC`), with their flags for the countries that have them (Canada and\n * the United States). For the others, the region as typed.\n */\nexport function RegionField({ country, placeholder, ...props }: RegionFieldProps) {\n const intl = usePanneauIntl();\n const flags = useRegionFlags(country);\n const regions = getRegions(country, intl.locale);\n if (regions === null) {\n return (\n <TextField\n autoComplete=\"address-level1\"\n {...props}\n {...(placeholder !== undefined ? { placeholder } : {})}\n />\n );\n }\n return (\n <CodeComboBox\n {...props}\n choices={regions.map((region) => {\n const flag = getRegionFlag(flags, region.code);\n return flag !== undefined\n ? { ...region, prefix: <FlagImage src={flag} /> }\n : region;\n })}\n placeholder={placeholder ?? intl.formatMessage(messages.regionPlaceholder)}\n emptyMessage={intl.formatMessage(messages.noRegions)}\n />\n );\n}\n\n/**\n * The country of a `region` field: the value of the field that `from` names in the same object,\n * or `settings.country`.\n */\nexport function getRegionCountry(field: Field, parentValue: unknown): string | null {\n if (field.from !== undefined && parentValue !== null && typeof parentValue === 'object') {\n const country = (parentValue as Record<string, unknown>)[field.from];\n if (isString(country) && country !== '') {\n return country;\n }\n }\n return getSetting(field, 'country', isString) ?? null;\n}\n\n/** The `region` type: its country from `from` or `settings.country`. */\nexport function RegionFieldEntry(props: FieldEntryProps) {\n return (\n <RegionField\n {...getFieldProps(props)}\n country={getRegionCountry(props.field, props.parentValue)}\n value={isString(props.value) ? props.value : null}\n onChange={props.onChange}\n />\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** A decorative image of a flag: the name of its region is next to it. */
|
|
2
|
+
export declare function FlagImage({ src, className }: {
|
|
3
|
+
src: string;
|
|
4
|
+
className?: string | undefined;
|
|
5
|
+
}): import("react").JSX.Element;
|
|
6
|
+
/** Props of `RegionFlag`: the region, by its country and its code. */
|
|
7
|
+
export interface RegionFlagProps {
|
|
8
|
+
/** The country of the region (`CA`). */
|
|
9
|
+
country: string | null | undefined;
|
|
10
|
+
/** The code of the region, without its country (`QC`). */
|
|
11
|
+
code: string;
|
|
12
|
+
/** A class of the image, which has the size of a flag emoji. */
|
|
13
|
+
className?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* The flag of a region, as an image with an empty `alt`, for a name next to it. Nothing while the
|
|
17
|
+
* flags of its country load, nor for a region without a flag.
|
|
18
|
+
*/
|
|
19
|
+
export declare function RegionFlag({ country, code, className }: RegionFlagProps): import("react").JSX.Element | null;
|
|
20
|
+
//# sourceMappingURL=RegionFlag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RegionFlag.d.ts","sourceRoot":"","sources":["../../src/region/RegionFlag.tsx"],"names":[],"mappings":"AAIA,0EAA0E;AAC1E,wBAAgB,SAAS,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,+BAE5F;AAED,sEAAsE;AACtE,MAAM,WAAW,eAAe;IAC5B,wCAAwC;IACxC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACnC,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,eAAe,sCAGvE"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { cx } from "../shared/cx.js";
|
|
2
|
+
import RegionFlag_module_default from "./RegionFlag.module.js";
|
|
3
|
+
import { getRegionFlag, useRegionFlags } from "./flags.js";
|
|
4
|
+
import { c } from "react/compiler-runtime";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
//#region src/region/RegionFlag.tsx
|
|
7
|
+
/** A decorative image of a flag: the name of its region is next to it. */
|
|
8
|
+
function FlagImage(t0) {
|
|
9
|
+
const $ = c(5);
|
|
10
|
+
const { src, className } = t0;
|
|
11
|
+
let t1;
|
|
12
|
+
if ($[0] !== className) {
|
|
13
|
+
t1 = cx(RegionFlag_module_default.flag, className);
|
|
14
|
+
$[0] = className;
|
|
15
|
+
$[1] = t1;
|
|
16
|
+
} else t1 = $[1];
|
|
17
|
+
let t2;
|
|
18
|
+
if ($[2] !== src || $[3] !== t1) {
|
|
19
|
+
t2 = /* @__PURE__ */ jsx("img", {
|
|
20
|
+
src,
|
|
21
|
+
alt: "",
|
|
22
|
+
className: t1
|
|
23
|
+
});
|
|
24
|
+
$[2] = src;
|
|
25
|
+
$[3] = t1;
|
|
26
|
+
$[4] = t2;
|
|
27
|
+
} else t2 = $[4];
|
|
28
|
+
return t2;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* The flag of a region, as an image with an empty `alt`, for a name next to it. Nothing while the
|
|
32
|
+
* flags of its country load, nor for a region without a flag.
|
|
33
|
+
*/
|
|
34
|
+
function RegionFlag(t0) {
|
|
35
|
+
const $ = c(6);
|
|
36
|
+
const { country, code, className } = t0;
|
|
37
|
+
const t1 = useRegionFlags(country);
|
|
38
|
+
let t2;
|
|
39
|
+
if ($[0] !== code || $[1] !== t1) {
|
|
40
|
+
t2 = getRegionFlag(t1, code);
|
|
41
|
+
$[0] = code;
|
|
42
|
+
$[1] = t1;
|
|
43
|
+
$[2] = t2;
|
|
44
|
+
} else t2 = $[2];
|
|
45
|
+
const src = t2;
|
|
46
|
+
let t3;
|
|
47
|
+
if ($[3] !== className || $[4] !== src) {
|
|
48
|
+
t3 = src !== void 0 ? /* @__PURE__ */ jsx(FlagImage, {
|
|
49
|
+
src,
|
|
50
|
+
className
|
|
51
|
+
}) : null;
|
|
52
|
+
$[3] = className;
|
|
53
|
+
$[4] = src;
|
|
54
|
+
$[5] = t3;
|
|
55
|
+
} else t3 = $[5];
|
|
56
|
+
return t3;
|
|
57
|
+
}
|
|
58
|
+
//#endregion
|
|
59
|
+
export { FlagImage, RegionFlag };
|
|
60
|
+
|
|
61
|
+
//# sourceMappingURL=RegionFlag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RegionFlag.js","names":["cx","styles","getRegionFlag","useRegionFlags","FlagImage","t0","$","_c","src","className","t1","flag","t2","RegionFlagProps","country","code","RegionFlag","t3","undefined","_c","styles"],"sources":["../../src/region/RegionFlag.tsx"],"sourcesContent":["import { cx } from '../shared/cx';\nimport styles from './RegionFlag.module.css';\nimport { getRegionFlag, useRegionFlags } from './flags';\n\n/** A decorative image of a flag: the name of its region is next to it. */\nexport function FlagImage({ src, className }: { src: string; className?: string | undefined }) {\n return <img src={src} alt=\"\" className={cx(styles.flag, className)} />;\n}\n\n/** Props of `RegionFlag`: the region, by its country and its code. */\nexport interface RegionFlagProps {\n /** The country of the region (`CA`). */\n country: string | null | undefined;\n /** The code of the region, without its country (`QC`). */\n code: string;\n /** A class of the image, which has the size of a flag emoji. */\n className?: string;\n}\n\n/**\n * The flag of a region, as an image with an empty `alt`, for a name next to it. Nothing while the\n * flags of its country load, nor for a region without a flag.\n */\nexport function RegionFlag({ country, code, className }: RegionFlagProps) {\n const src = getRegionFlag(useRegionFlags(country), code);\n return src !== undefined ? <FlagImage src={src} className={className} /> : null;\n}\n"],"mappings":";;;;;;;AAKA,SAAOI,UAAAC,IAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAmB,MAAA,EAAAC,KAAAC,cAAAJ;CAAmE,IAAAK;CAAA,IAAAJ,EAAA,OAAAG,WAAA;EACjDC,KAAAV,GAAGC,0BAAMU,MAAOF,SAAS;EAACH,EAAA,KAAAG;EAAAH,EAAA,KAAAI;CAAA,OAAAA,KAAAJ,EAAA;CAAA,IAAAM;CAAA,IAAAN,EAAA,OAAAE,OAAAF,EAAA,OAAAI,IAAA;EAA3DE,KAAA,oBAAA,OAAA;GAAUJ;GAAS,KAAA;GAAc,WAAAE;EAA0B,CAAA;EAAIJ,EAAA,KAAAE;EAAAF,EAAA,KAAAI;EAAAJ,EAAA,KAAAM;CAAA,OAAAA,KAAAN,EAAA;CAAA,OAA/DM;AAA+D;;;;;AAiB1E,SAAOI,WAAAX,IAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAoB,MAAA,EAAAO,SAAAC,MAAAN,cAAAJ;CACG,MAAAK,KAAAP,eAAeW,OAAO;CAAC,IAAAF;CAAA,IAAAN,EAAA,OAAAS,QAAAT,EAAA,OAAAI,IAAA;EAArCE,KAAAV,cAAcQ,IAAyBK,IAAI;EAACT,EAAA,KAAAS;EAAAT,EAAA,KAAAI;EAAAJ,EAAA,KAAAM;CAAA,OAAAA,KAAAN,EAAA;CAAxD,MAAAE,MAAYI;CAA6C,IAAAK;CAAA,IAAAX,EAAA,OAAAG,aAAAH,EAAA,OAAAE,KAAA;EAClDS,KAAAT,QAAQU,KAAAA,IAAY,oBAAC,WAAD;GAAgBV;GAAgBC;EAAS,CAAA,IAA7D;EAAwEH,EAAA,KAAAG;EAAAH,EAAA,KAAAE;EAAAF,EAAA,KAAAW;CAAA,OAAAA,KAAAX,EAAA;CAAA,OAAxEW;AAAwE"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import "./RegionFlag.css";
|
|
2
|
+
//#region src/region/RegionFlag.module.css
|
|
3
|
+
var flag = "panneau-region-flag-flag";
|
|
4
|
+
var RegionFlag_module_default = { flag };
|
|
5
|
+
//#endregion
|
|
6
|
+
export { RegionFlag_module_default as default, flag };
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=RegionFlag.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RegionFlag.module.js","names":[],"sources":["../../src/region/RegionFlag.module.css"],"sourcesContent":["/* The size of a flag emoji, whatever the shape of the flag: about 4:3 in most emoji fonts. */\n.flag {\n display: inline-block;\n flex: none;\n width: 1.25em;\n height: 0.9375em;\n object-fit: contain;\n vertical-align: -0.125em;\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** A region: its code, its English name, and its French name when it differs. */
|
|
2
|
+
export type RegionEntry = readonly [code: string, en: string, fr?: string];
|
|
3
|
+
/** The regions of the countries that Panneau knows, by country code. */
|
|
4
|
+
export declare const REGIONS: Readonly<Record<string, readonly RegionEntry[]>>;
|
|
5
|
+
//# sourceMappingURL=data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../src/region/data.ts"],"names":[],"mappings":"AAIA,iFAAiF;AACjF,MAAM,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;AAE3E,wEAAwE;AACxE,eAAO,MAAM,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC,CAsSpE,CAAC"}
|