@impulse-ui-native/datetime 2.3.5 → 2.4.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/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @impulse-ui-native/datetime
2
2
 
3
- Token-driven date, time, date-time, and range controls backed by the Impulse UI Native flyout layer system.
3
+ Token-driven date, time, date-time, and range controls backed by Impulse UI Native flyouts and portals.
4
4
 
5
5
  ## Installation
6
6
 
@@ -8,7 +8,7 @@ Token-driven date, time, date-time, and range controls backed by the Impulse UI
8
8
  pnpm add @impulse-ui-native/datetime @shopify/flash-list react-native-gesture-handler react-native-reanimated react-native-safe-area-context react-native-worklets
9
9
  ```
10
10
 
11
- Complete the Gesture Handler, Reanimated, Worklets, and Safe Area Context setup required by your React Native or Expo project. Render the controls inside `ThemeProvider`, wrap the app with `GestureHandlerRootView` and `SafeAreaProvider`, and mount one `LayerCenter` in the application.
11
+ Complete the Gesture Handler, Reanimated, Worklets, and Safe Area Context setup required by your React Native or Expo project. Render the controls inside `ThemeProvider`, wrap the app with `GestureHandlerRootView` and `SafeAreaProvider`, and mount one `PortalsHost` inside a `PortalProvider` in the application.
12
12
 
13
13
  ## Main exports
14
14
 
@@ -8,7 +8,7 @@ const DatePicker = memo(function DatePicker2(props) {
8
8
  const {
9
9
  value,
10
10
  defaultValue,
11
- clearable,
11
+ clearable = true,
12
12
  onChange,
13
13
  placeholder,
14
14
  quickDateOptions,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/date/date-picker.tsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { Control } from \"@impulse-ui-native/primitives\";\n\nimport { useDatetimePicker } from \"../../hooks\";\nimport { DatetimePickerProps } from \"../../types\";\nimport { DateControl } from \"../common/date-control\";\nimport { DatePickerFlyout } from \"./date-picker.flyout\";\n\nexport const DatePicker = memo(function DatePicker(props: DatetimePickerProps) {\n const {\n value,\n defaultValue,\n clearable,\n onChange,\n placeholder,\n quickDateOptions,\n ...rest\n } = props;\n\n const {\n id,\n isOpen,\n visible,\n tempDate,\n selected,\n setVisible,\n close,\n onPressOpen,\n onPressApply,\n onPressCancel,\n onPressCalendarDay,\n onPressClear,\n onPressQuickDateOption,\n syncState,\n } = useDatetimePicker({ value, defaultValue, onChange });\n\n return (\n <DateControl {...rest} onPress={onPressOpen}>\n {selected === null ? (\n <Control.Placeholder>{placeholder}</Control.Placeholder>\n ) : null}\n\n {selected !== null ? (\n <Control.Value>{selected.toDateString()}</Control.Value>\n ) : null}\n\n <DatePickerFlyout\n id={id}\n open={isOpen}\n title=\"Date\"\n visible={visible}\n value={tempDate}\n clearable={clearable}\n quickDateOptions={quickDateOptions}\n onClose={close}\n onCloseFinished={syncState}\n onPressQuickDateOption={onPressQuickDateOption}\n onChangeVisible={setVisible}\n onPressCalendarDay={onPressCalendarDay}\n onPressApply={onPressApply}\n onPressCancel={onPressCancel}\n onPressClear={onPressClear}\n />\n </DateControl>\n );\n});\n"],"mappings":"AAsCI,SAEI,KAFJ;AAtCJ,SAAS,YAAY;AAErB,SAAS,eAAe;AAExB,SAAS,yBAAyB;AAElC,SAAS,mBAAmB;AAC5B,SAAS,wBAAwB;AAE1B,MAAM,aAAa,KAAK,SAASA,YAAW,OAA4B;AAC7E,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,IAAI;AAEJ,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,kBAAkB,EAAE,OAAO,cAAc,SAAS,CAAC;AAEvD,SACE,qBAAC,eAAa,GAAG,MAAM,SAAS,aAC7B;AAAA,iBAAa,OACZ,oBAAC,QAAQ,aAAR,EAAqB,uBAAY,IAChC;AAAA,IAEH,aAAa,OACZ,oBAAC,QAAQ,OAAR,EAAe,mBAAS,aAAa,GAAE,IACtC;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,MAAM;AAAA,QACN,OAAM;AAAA,QACN;AAAA,QACA,OAAO;AAAA,QACP;AAAA,QACA;AAAA,QACA,SAAS;AAAA,QACT,iBAAiB;AAAA,QACjB;AAAA,QACA,iBAAiB;AAAA,QACjB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACF;AAAA,KACF;AAEJ,CAAC;","names":["DatePicker"]}
1
+ {"version":3,"sources":["../../../src/components/date/date-picker.tsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { Control } from \"@impulse-ui-native/primitives\";\n\nimport { useDatetimePicker } from \"../../hooks\";\nimport { DatetimePickerProps } from \"../../types\";\nimport { DateControl } from \"../common/date-control\";\nimport { DatePickerFlyout } from \"./date-picker.flyout\";\n\nexport const DatePicker = memo(function DatePicker(props: DatetimePickerProps) {\n const {\n value,\n defaultValue,\n clearable = true,\n onChange,\n placeholder,\n quickDateOptions,\n ...rest\n } = props;\n\n const {\n id,\n isOpen,\n visible,\n tempDate,\n selected,\n setVisible,\n close,\n onPressOpen,\n onPressApply,\n onPressCancel,\n onPressCalendarDay,\n onPressClear,\n onPressQuickDateOption,\n syncState,\n } = useDatetimePicker({ value, defaultValue, onChange });\n\n return (\n <DateControl {...rest} onPress={onPressOpen}>\n {selected === null ? (\n <Control.Placeholder>{placeholder}</Control.Placeholder>\n ) : null}\n\n {selected !== null ? (\n <Control.Value>{selected.toDateString()}</Control.Value>\n ) : null}\n\n <DatePickerFlyout\n id={id}\n open={isOpen}\n title=\"Date\"\n visible={visible}\n value={tempDate}\n clearable={clearable}\n quickDateOptions={quickDateOptions}\n onClose={close}\n onCloseFinished={syncState}\n onPressQuickDateOption={onPressQuickDateOption}\n onChangeVisible={setVisible}\n onPressCalendarDay={onPressCalendarDay}\n onPressApply={onPressApply}\n onPressCancel={onPressCancel}\n onPressClear={onPressClear}\n />\n </DateControl>\n );\n});\n"],"mappings":"AAsCI,SAEI,KAFJ;AAtCJ,SAAS,YAAY;AAErB,SAAS,eAAe;AAExB,SAAS,yBAAyB;AAElC,SAAS,mBAAmB;AAC5B,SAAS,wBAAwB;AAE1B,MAAM,aAAa,KAAK,SAASA,YAAW,OAA4B;AAC7E,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,IAAI;AAEJ,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,kBAAkB,EAAE,OAAO,cAAc,SAAS,CAAC;AAEvD,SACE,qBAAC,eAAa,GAAG,MAAM,SAAS,aAC7B;AAAA,iBAAa,OACZ,oBAAC,QAAQ,aAAR,EAAqB,uBAAY,IAChC;AAAA,IAEH,aAAa,OACZ,oBAAC,QAAQ,OAAR,EAAe,mBAAS,aAAa,GAAE,IACtC;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,MAAM;AAAA,QACN,OAAM;AAAA,QACN;AAAA,QACA,OAAO;AAAA,QACP;AAAA,QACA;AAAA,QACA,SAAS;AAAA,QACT,iBAAiB;AAAA,QACjB;AAAA,QACA,iBAAiB;AAAA,QACjB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACF;AAAA,KACF;AAEJ,CAAC;","names":["DatePicker"]}
@@ -11,6 +11,7 @@ const DateRangePicker = memo(function DateRangePicker2(props) {
11
11
  onChange,
12
12
  placeholder,
13
13
  quickDateOptions,
14
+ clearable = true,
14
15
  ...rest
15
16
  } = props;
16
17
  const {
@@ -40,10 +41,11 @@ const DateRangePicker = memo(function DateRangePicker2(props) {
40
41
  DatePickerFlyout,
41
42
  {
42
43
  id,
43
- title: "Datetime",
44
44
  open: isOpen,
45
+ title: "Date",
45
46
  visible,
46
47
  value: tempRange,
48
+ clearable,
47
49
  quickDateOptions,
48
50
  onClose: close,
49
51
  onCloseFinished: syncState,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/date/date-range-picker.tsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { Control } from \"@impulse-ui-native/primitives\";\n\nimport { useDatetimeRangePicker } from \"../../hooks\";\nimport { DatetimeRangePickerProps } from \"../../types\";\nimport { DateControl } from \"../common/date-control\";\nimport { DatePickerFlyout } from \"./date-picker.flyout\";\n\nexport const DateRangePicker = memo(function DateRangePicker(\n props: DatetimeRangePickerProps,\n) {\n const {\n value,\n defaultValue,\n onChange,\n placeholder,\n quickDateOptions,\n ...rest\n } = props;\n\n const {\n id,\n isOpen,\n visible,\n tempRange,\n selected,\n setVisible,\n close,\n onPressOpen,\n onPressApply,\n onPressCancel,\n onPressCalendarDay,\n onPressClear,\n onPressQuickDateOption,\n syncState,\n } = useDatetimeRangePicker({ value, defaultValue, onChange });\n\n return (\n <DateControl {...rest} onPress={onPressOpen}>\n {selected === null ? (\n <Control.Placeholder>{placeholder}</Control.Placeholder>\n ) : null}\n\n {selected !== null ? (\n <Control.Value>\n {selected.start?.toDateString()} - {selected.end?.toDateString()}\n </Control.Value>\n ) : null}\n\n <DatePickerFlyout\n id={id}\n title=\"Datetime\"\n open={isOpen}\n visible={visible}\n value={tempRange}\n quickDateOptions={quickDateOptions}\n onClose={close}\n onCloseFinished={syncState}\n onPressQuickDateOption={onPressQuickDateOption}\n onChangeVisible={setVisible}\n onPressCalendarDay={onPressCalendarDay}\n onPressApply={onPressApply}\n onPressCancel={onPressCancel}\n onPressClear={onPressClear}\n />\n </DateControl>\n );\n});\n"],"mappings":"AAyCQ,cAIA,YAJA;AAzCR,SAAS,YAAY;AAErB,SAAS,eAAe;AAExB,SAAS,8BAA8B;AAEvC,SAAS,mBAAmB;AAC5B,SAAS,wBAAwB;AAE1B,MAAM,kBAAkB,KAAK,SAASA,iBAC3C,OACA;AACA,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,IAAI;AAEJ,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,uBAAuB,EAAE,OAAO,cAAc,SAAS,CAAC;AAE5D,SACE,qBAAC,eAAa,GAAG,MAAM,SAAS,aAC7B;AAAA,iBAAa,OACZ,oBAAC,QAAQ,aAAR,EAAqB,uBAAY,IAChC;AAAA,IAEH,aAAa,OACZ,qBAAC,QAAQ,OAAR,EACE;AAAA,eAAS,OAAO,aAAa;AAAA,MAAE;AAAA,MAAI,SAAS,KAAK,aAAa;AAAA,OACjE,IACE;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,OAAM;AAAA,QACN,MAAM;AAAA,QACN;AAAA,QACA,OAAO;AAAA,QACP;AAAA,QACA,SAAS;AAAA,QACT,iBAAiB;AAAA,QACjB;AAAA,QACA,iBAAiB;AAAA,QACjB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACF;AAAA,KACF;AAEJ,CAAC;","names":["DateRangePicker"]}
1
+ {"version":3,"sources":["../../../src/components/date/date-range-picker.tsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { Control } from \"@impulse-ui-native/primitives\";\n\nimport { useDatetimeRangePicker } from \"../../hooks\";\nimport { DatetimeRangePickerProps } from \"../../types\";\nimport { DateControl } from \"../common/date-control\";\nimport { DatePickerFlyout } from \"./date-picker.flyout\";\n\nexport const DateRangePicker = memo(function DateRangePicker(\n props: DatetimeRangePickerProps,\n) {\n const {\n value,\n defaultValue,\n onChange,\n placeholder,\n quickDateOptions,\n clearable = true,\n ...rest\n } = props;\n\n const {\n id,\n isOpen,\n visible,\n tempRange,\n selected,\n setVisible,\n close,\n onPressOpen,\n onPressApply,\n onPressCancel,\n onPressCalendarDay,\n onPressClear,\n onPressQuickDateOption,\n syncState,\n } = useDatetimeRangePicker({ value, defaultValue, onChange });\n\n return (\n <DateControl {...rest} onPress={onPressOpen}>\n {selected === null ? (\n <Control.Placeholder>{placeholder}</Control.Placeholder>\n ) : null}\n\n {selected !== null ? (\n <Control.Value>\n {selected.start?.toDateString()} - {selected.end?.toDateString()}\n </Control.Value>\n ) : null}\n\n <DatePickerFlyout\n id={id}\n open={isOpen}\n title=\"Date\"\n visible={visible}\n value={tempRange}\n clearable={clearable}\n quickDateOptions={quickDateOptions}\n onClose={close}\n onCloseFinished={syncState}\n onPressQuickDateOption={onPressQuickDateOption}\n onChangeVisible={setVisible}\n onPressCalendarDay={onPressCalendarDay}\n onPressApply={onPressApply}\n onPressCancel={onPressCancel}\n onPressClear={onPressClear}\n />\n </DateControl>\n );\n});\n"],"mappings":"AA0CQ,cAIA,YAJA;AA1CR,SAAS,YAAY;AAErB,SAAS,eAAe;AAExB,SAAS,8BAA8B;AAEvC,SAAS,mBAAmB;AAC5B,SAAS,wBAAwB;AAE1B,MAAM,kBAAkB,KAAK,SAASA,iBAC3C,OACA;AACA,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ,GAAG;AAAA,EACL,IAAI;AAEJ,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,uBAAuB,EAAE,OAAO,cAAc,SAAS,CAAC;AAE5D,SACE,qBAAC,eAAa,GAAG,MAAM,SAAS,aAC7B;AAAA,iBAAa,OACZ,oBAAC,QAAQ,aAAR,EAAqB,uBAAY,IAChC;AAAA,IAEH,aAAa,OACZ,qBAAC,QAAQ,OAAR,EACE;AAAA,eAAS,OAAO,aAAa;AAAA,MAAE;AAAA,MAAI,SAAS,KAAK,aAAa;AAAA,OACjE,IACE;AAAA,IAEJ;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,MAAM;AAAA,QACN,OAAM;AAAA,QACN;AAAA,QACA,OAAO;AAAA,QACP;AAAA,QACA;AAAA,QACA,SAAS;AAAA,QACT,iBAAiB;AAAA,QACjB;AAAA,QACA,iBAAiB;AAAA,QACjB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACF;AAAA,KACF;AAEJ,CAAC;","names":["DateRangePicker"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@impulse-ui-native/datetime",
3
- "version": "2.3.5",
3
+ "version": "2.4.0",
4
4
  "description": "Date and time selection components for ImpulseUI Native applications.",
5
5
  "keywords": [
6
6
  "react-native",
@@ -28,13 +28,13 @@
28
28
  ],
29
29
  "sideEffects": false,
30
30
  "dependencies": {
31
- "@impulse-ui-native/primitives": "2.3.5",
32
- "@impulse-ui-native/theme": "2.3.5",
33
- "@impulse-ui-native/icon": "2.3.5",
34
- "@impulse-ui-native/flyout": "2.3.5",
35
- "@impulse-ui-native/select": "2.3.5",
36
- "@impulse-ui-native/portal": "2.3.5",
37
- "@impulse-ui-native/core": "2.3.5"
31
+ "@impulse-ui-native/core": "2.4.0",
32
+ "@impulse-ui-native/primitives": "2.4.0",
33
+ "@impulse-ui-native/flyout": "2.4.0",
34
+ "@impulse-ui-native/theme": "2.4.0",
35
+ "@impulse-ui-native/portal": "2.4.0",
36
+ "@impulse-ui-native/icon": "2.4.0",
37
+ "@impulse-ui-native/select": "2.4.0"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@types/react": "~19.2.14",
@@ -44,9 +44,9 @@
44
44
  "react": "19.2.3",
45
45
  "react-native": "0.86.2",
46
46
  "typescript": "~6.0.3",
47
- "@impulse-ui-native/eslint-config": "1.0.0",
47
+ "@impulse-ui-native/tsconfig": "1.0.0",
48
48
  "@impulse-ui-native/prettier-config": "1.0.0",
49
- "@impulse-ui-native/tsconfig": "1.0.0"
49
+ "@impulse-ui-native/eslint-config": "1.0.0"
50
50
  },
51
51
  "peerDependencies": {
52
52
  "react": ">=18",